Esempio n. 1
0
  public void testSendAndReceive2ByteNumber() {
    connection.HighByteFirst(true);
    connection.Send2ByteNumber("0");
    assertEquals(0, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("1");
    assertEquals(1, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("-1");
    assertEquals(-1, connection.ReceiveSigned2ByteNumber());
    connection.Send2ByteNumber("32767");
    assertEquals(32767, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("-32768");
    assertEquals(-32768, connection.ReceiveSigned2ByteNumber());
    connection.Send2ByteNumber("65535");
    assertEquals(65535, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0x0");
    assertEquals(0x0, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0x1");
    assertEquals(0x1, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0xFFFF");
    assertEquals(0xFFFF, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0xabcd");
    assertEquals(0xabcd, connection.ReceiveUnsigned2ByteNumber());

    connection.HighByteFirst(false);
    connection.Send2ByteNumber("0");
    assertEquals(0, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("1");
    assertEquals(1, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("-1");
    assertEquals(-1, connection.ReceiveSigned2ByteNumber());
    connection.Send2ByteNumber("32767");
    assertEquals(32767, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("-32768");
    assertEquals(-32768, connection.ReceiveSigned2ByteNumber());
    connection.Send2ByteNumber("65535");
    assertEquals(65535, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0x0");
    assertEquals(0x0, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0x1");
    assertEquals(0x1, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0xFFFF");
    assertEquals(0xFFFF, connection.ReceiveUnsigned2ByteNumber());
    connection.Send2ByteNumber("0xabcd");
    assertEquals(0xabcd, connection.ReceiveUnsigned2ByteNumber());

    assertEquals(0, recordedErrorNumber);

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

    recordedErrorNumber = 0;
    connection.Send2ByteNumber("65536");
    assertEquals(ErrorMessages.ERROR_BLUETOOTH_COULD_NOT_FIT_NUMBER_IN_BYTES, recordedErrorNumber);

    byte[] bytes = outputStream.toByteArray();
    assertEquals(40, bytes.length);
    int i = 0;
    assertEquals((byte) 0x00, bytes[i++]); // 0 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 1 high byte first
    assertEquals((byte) 0x01, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // -1 high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x7F, bytes[i++]); // 32767 high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x80, bytes[i++]); // -32768 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 65535 high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0x0 high byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0x1 high byte first
    assertEquals((byte) 0x01, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 0xFFFF high byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xAB, bytes[i++]); // 0xabcd high byte first
    assertEquals((byte) 0xCD, bytes[i++]);

    assertEquals((byte) 0x00, bytes[i++]); // 0 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x01, bytes[i++]); // 1 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // -1 low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 32767 low byte first
    assertEquals((byte) 0x7F, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // -32768 low byte first
    assertEquals((byte) 0x80, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 65535 low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0x00, bytes[i++]); // 0x0 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0x01, bytes[i++]); // 0x1 low byte first
    assertEquals((byte) 0x00, bytes[i++]);
    assertEquals((byte) 0xFF, bytes[i++]); // 0xFFFF low byte first
    assertEquals((byte) 0xFF, bytes[i++]);
    assertEquals((byte) 0xCD, bytes[i++]); // 0xabcd low byte first
    assertEquals((byte) 0xAB, bytes[i++]);
  }