Esempio n. 1
0
  public void testSendAndReceive4ByteNumber() {
    connection.HighByteFirst(true);
    connection.Send4ByteNumber("0");
    assertEquals(0, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("1");
    assertEquals(1, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("-1");
    assertEquals(-1, connection.ReceiveSigned4ByteNumber());
    connection.Send4ByteNumber("2147483647");
    assertEquals(2147483647, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("-2147483648");
    assertEquals(-2147483648, connection.ReceiveSigned4ByteNumber());
    connection.Send4ByteNumber("4294967295");
    assertEquals(4294967295L, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0x0");
    assertEquals(0x0, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0x1");
    assertEquals(0x1, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0xFFFFFFFF");
    assertEquals(0xFFFFFFFFL, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0xabcdef");
    assertEquals(0xabcdef, connection.ReceiveUnsigned4ByteNumber());

    connection.HighByteFirst(false);
    connection.Send4ByteNumber("0");
    assertEquals(0, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("1");
    assertEquals(1, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("-1");
    assertEquals(-1, connection.ReceiveSigned4ByteNumber());
    connection.Send4ByteNumber("2147483647");
    assertEquals(2147483647, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("-2147483648");
    assertEquals(-2147483648, connection.ReceiveSigned4ByteNumber());
    connection.Send4ByteNumber("4294967295");
    assertEquals(4294967295L, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0x0");
    assertEquals(0x0, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0x1");
    assertEquals(0x1, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0xFFFFFFFF");
    assertEquals(0xFFFFFFFFL, connection.ReceiveUnsigned4ByteNumber());
    connection.Send4ByteNumber("0xabcdef");
    assertEquals(0xabcdef, connection.ReceiveUnsigned4ByteNumber());

    assertEquals(0, recordedErrorNumber);

    connection.Send4ByteNumber("abc");
    assertEquals(ErrorMessages.ERROR_BLUETOOTH_COULD_NOT_DECODE, recordedErrorNumber);

    recordedErrorNumber = 0;
    connection.Send4ByteNumber("4294967296");
    assertEquals(ErrorMessages.ERROR_BLUETOOTH_COULD_NOT_FIT_NUMBER_IN_BYTES, recordedErrorNumber);

    byte[] bytes = outputStream.toByteArray();
    assertEquals(80, bytes.length);
    int i = 0;
    assertEquals((byte) 0x00, bytes[i++]); // 0 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 1 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x01, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // -1 high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x7F, bytes[i++]); // 2147483647 high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x80, bytes[i++]); // -2147483648 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 4294967295 high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0x0 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0x1 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x01, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 0xFFFFFFFF high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0xabcdef high byte first
    assertEquals((byte) 0xAB, bytes[i++]);
    assertEquals((byte) 0xCD, bytes[i++]);
    assertEquals((byte) 0xEF, bytes[i++]);

    assertEquals((byte) 0x00, bytes[i++]); // 0 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x01, bytes[i++]); // 1 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // -1 low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 2147483647 low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x7F, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // -2147483648 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x80, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 4294967295 low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0x0 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x01, bytes[i++]); // 0x1 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 0xFFFFFFFF low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xEF, bytes[i++]); // 0xabcdef low byte first
    assertEquals((byte) 0xCD, bytes[i++]);
    assertEquals((byte) 0xAB, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]);
  }