public void testSendAndReceiveText() { connection.SendText("Hello"); assertEquals(5, connection.BytesAvailableToReceive()); assertEquals("Hello", connection.ReceiveText(5)); // Test DelimiterByte with default value of 0 connection.SendText("World"); connection.Send1ByteNumber("0x0"); // send delimiter assertEquals(6, connection.BytesAvailableToReceive()); assertEquals("World", connection.ReceiveText(-1)); // Test DelimiterByte with value of 10 (line feed) connection.DelimiterByte(10); connection.SendText("Hello World"); connection.Send1ByteNumber("13"); // send carriage return connection.Send1ByteNumber("10"); // send line feed assertEquals(13, connection.BytesAvailableToReceive()); assertEquals("Hello World\r", connection.ReceiveText(-1)); assertEquals(0, recordedErrorNumber); byte[] bytes = outputStream.toByteArray(); assertEquals(24, bytes.length); int i = 0; assertEquals((byte) 72, bytes[i++]); // H assertEquals((byte) 101, bytes[i++]); // e assertEquals((byte) 108, bytes[i++]); // l assertEquals((byte) 108, bytes[i++]); // l assertEquals((byte) 111, bytes[i++]); // o assertEquals((byte) 87, bytes[i++]); // W assertEquals((byte) 111, bytes[i++]); // o assertEquals((byte) 114, bytes[i++]); // r assertEquals((byte) 108, bytes[i++]); // l assertEquals((byte) 100, bytes[i++]); // d assertEquals((byte) 0, bytes[i++]); // delimiter 0 assertEquals((byte) 72, bytes[i++]); // H assertEquals((byte) 101, bytes[i++]); // e assertEquals((byte) 108, bytes[i++]); // l assertEquals((byte) 108, bytes[i++]); // l assertEquals((byte) 111, bytes[i++]); // o assertEquals((byte) 32, bytes[i++]); // space assertEquals((byte) 87, bytes[i++]); // W assertEquals((byte) 111, bytes[i++]); // o assertEquals((byte) 114, bytes[i++]); // r assertEquals((byte) 108, bytes[i++]); // l assertEquals((byte) 100, bytes[i++]); // d assertEquals((byte) 13, bytes[i++]); // carriage return assertEquals((byte) 10, bytes[i++]); // line feed }
public void testSendAndReceiveBytes() { List<Object> list = new ArrayList<Object>(); list.add((byte) 0); list.add((short) 1); list.add(-1); list.add((long) 127); list.add((byte) -128); list.add((short) 255); list.add("0x0"); list.add("0x1"); list.add("0xFF"); list.add("0xab"); connection.SendBytes(YailList.makeList(list)); assertEquals(0, recordedErrorNumber); assertEquals(10, connection.BytesAvailableToReceive()); List<Integer> signedBytes = connection.ReceiveSignedBytes(5); assertEquals(0, signedBytes.get(0).intValue()); assertEquals(1, signedBytes.get(1).intValue()); assertEquals(-1, signedBytes.get(2).intValue()); assertEquals(127, signedBytes.get(3).intValue()); assertEquals(-128, signedBytes.get(4).intValue()); List<Integer> unsignedBytes = connection.ReceiveUnsignedBytes(5); assertEquals(255, unsignedBytes.get(0).intValue()); assertEquals(0x0, unsignedBytes.get(1).intValue()); assertEquals(0x1, unsignedBytes.get(2).intValue()); assertEquals(0xFF, unsignedBytes.get(3).intValue()); assertEquals(0xab, unsignedBytes.get(4).intValue()); assertEquals(0, recordedErrorNumber); list = new ArrayList<Object>(); list.add("abc"); connection.SendBytes(YailList.makeList(list)); assertEquals(ErrorMessages.ERROR_BLUETOOTH_COULD_NOT_DECODE_ELEMENT, recordedErrorNumber); recordedErrorNumber = 0; list = new ArrayList<Object>(); list.add("256"); connection.SendBytes(YailList.makeList(list)); assertEquals(ErrorMessages.ERROR_BLUETOOTH_COULD_NOT_FIT_ELEMENT_IN_BYTE, recordedErrorNumber); byte[] bytes = outputStream.toByteArray(); assertEquals(10, bytes.length); int i = 0; assertEquals((byte) 0x00, bytes[i++]); // 0 assertEquals((byte) 0x01, bytes[i++]); // 1 assertEquals((byte) 0xFF, bytes[i++]); // -1 assertEquals((byte) 0x7F, bytes[i++]); // 127 assertEquals((byte) 0x80, bytes[i++]); // -128 assertEquals((byte) 0xFF, bytes[i++]); // 255 assertEquals((byte) 0x00, bytes[i++]); // 0x00 assertEquals((byte) 0x01, bytes[i++]); // 0x01 assertEquals((byte) 0xFF, bytes[i++]); // 0xFF assertEquals((byte) 0xAB, bytes[i++]); // 0xab }