@Test public void testSigned() throws IOException { writer.writeSigned(-1, 1); writer.writeSigned(-2, 2); writer.writeSigned(-3, 4); writer.writeSigned(-4, 8); writer.writeSigned(-100L, 1); writer.writeSigned(-200L, 2); writer.writeSigned(-300L, 4); writer.writeSigned(-400L, 8); try { writer.writeSigned(-8, 3); fail("No exception on bad argument"); } catch (IllegalArgumentException e) { assertEquals("Unsupported byte count for signed: 3", e.getMessage()); } try { writer.writeSigned(-8L, 3); fail("No exception on bad argument"); } catch (IllegalArgumentException e) { assertEquals("Unsupported byte count for signed: 3", e.getMessage()); } BinaryReader reader = getReader(); try { reader.expectSigned(3); fail("No exception on bad argument"); } catch (IllegalArgumentException e) { assertEquals("Unsupported byte count for signed: 3", e.getMessage()); } assertEquals(-1, reader.expectSigned(1)); assertEquals(-2, reader.expectSigned(2)); assertEquals(-3, reader.expectSigned(4)); assertEquals(-4, reader.expectSigned(8)); }