@Test
  public void testShort() throws IOException {
    // test writing and reading shorts.
    writer.writeShort((short) 1);
    writer.writeShort((short) 0xffff);
    writer.writeShort((short) -12345);
    writer.writeShort((short) 0);

    BinaryReader reader = getReader();

    assertEquals((short) 1, reader.expectShort());
    assertEquals((short) 0xffff, reader.expectShort());
    assertEquals((short) -12345, reader.expectShort());
    assertEquals((short) 0, reader.expectShort());
  }
  @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();
  }