@Test public void testWriteEndianNess() throws IOException { writer.writeShort((short) 4); assertArrayEquals(new byte[] {0, 4}, out.toByteArray()); out.reset(); writer.writeInt(4); assertArrayEquals(new byte[] {0, 0, 0, 4}, out.toByteArray()); out.reset(); writer.writeLong(4L); assertArrayEquals(new byte[] {0, 0, 0, 0, 0, 0, 0, 4}, out.toByteArray()); out.reset(); writer.writeUInt16(4); assertArrayEquals(new byte[] {0, 4}, out.toByteArray()); out.reset(); writer.writeUInt24(4); assertArrayEquals(new byte[] {0, 0, 4}, out.toByteArray()); out.reset(); writer.writeUInt32(4); assertArrayEquals(new byte[] {0, 0, 0, 4}, out.toByteArray()); out.reset(); }
@Test public void testExpectUnsigned() throws IOException { writer.writeUInt8(1); writer.writeUInt16(2); writer.writeUInt24(3); writer.writeUInt32(4); BinaryReader reader = getReader(); assertEquals(1, reader.expectUInt8()); assertEquals(2, reader.expectUInt16()); assertEquals(3, reader.expectUInt24()); assertEquals(4, reader.expectUInt32()); }
@Test public void testReadUnsigned() throws IOException { writer.writeUInt16(2); BinaryReader reader = getReader(); assertEquals(2, reader.readUInt16()); assertEquals(0, reader.readUInt16()); writer.writeUInt8(5); reader = getReader(); try { reader.readUInt16(); fail("No exception in bad read"); } catch (IOException e) { assertEquals("Missing byte 2 to read uint16", e.getMessage()); } }