@Test
  public void testInt() throws IOException {
    // test writing and reading shorts.
    writer.writeInt(1);
    writer.writeInt(0xdeadbeef);
    writer.writeInt(0xffffffff);
    writer.writeInt(-1234567890);
    writer.writeInt(0);

    BinaryReader reader = getReader();

    assertEquals(1, reader.expectInt());
    assertEquals(0xdeadbeef, reader.expectInt());
    assertEquals(0xffffffff, reader.expectInt());
    assertEquals(-1234567890, reader.expectInt());
    assertEquals(0, reader.expectInt());
  }
 private void assertBadExpectInt(String message, byte[] data) {
   ByteArrayInputStream bais = new ByteArrayInputStream(data);
   try {
     BinaryReader reader = new BigEndianBinaryReader(bais);
     reader.expectInt();
     fail("No exception on bad int");
   } catch (IOException e) {
     assertEquals(message, e.getMessage());
   }
 }