@Test
  public void testUnsigned() throws IOException {
    writer.writeUnsigned(1, 1);
    writer.writeUnsigned(2, 2);
    writer.writeUnsigned(3, 3);
    writer.writeUnsigned(4, 4);

    try {
      writer.writeUnsigned(8, 8);
      fail("No exception on bad argument");
    } catch (IllegalArgumentException e) {
      assertEquals("Unsupported byte count for unsigned: 8", e.getMessage());
    }

    BinaryReader reader = getReader();

    try {
      reader.expectUnsigned(8);
      fail("No exception on bad argument");
    } catch (IllegalArgumentException e) {
      assertEquals("Unsupported byte count for unsigned: 8", e.getMessage());
    }

    assertEquals(1, reader.expectUnsigned(1));
    assertEquals(2, reader.expectUnsigned(2));
    assertEquals(3, reader.expectUnsigned(3));
    assertEquals(4, reader.expectUnsigned(4));
  }