@Test
  public void testGetHeader() {
    IcmpV4ParameterProblemHeader h = packet.getHeader();
    assertEquals(pointer, h.getPointer());
    assertEquals(unused, h.getUnused());

    IcmpV4ParameterProblemPacket.Builder b = packet.getBuilder();
    IcmpV4ParameterProblemPacket p;

    b.pointer((byte) 0);
    p = b.build();
    assertEquals((byte) 0, (byte) p.getHeader().getPointerAsInt());

    b.pointer((byte) 50);
    p = b.build();
    assertEquals((byte) 50, (byte) p.getHeader().getPointerAsInt());

    b.pointer((byte) 127);
    p = b.build();
    assertEquals((byte) 127, (byte) p.getHeader().getPointerAsInt());

    b.pointer((byte) -1);
    p = b.build();
    assertEquals((byte) -1, (byte) p.getHeader().getPointerAsInt());

    b.pointer((byte) -128);
    p = b.build();
    assertEquals((byte) -128, (byte) p.getHeader().getPointerAsInt());

    b.unused(0);
    p = b.build();
    assertEquals(0, p.getHeader().getUnused());

    b.unused(1000000);
    p = b.build();
    assertEquals(1000000, p.getHeader().getUnused());

    b.unused(16777215);
    p = b.build();
    assertEquals(16777215, p.getHeader().getUnused());

    b.unused(16777216);
    try {
      p = b.build();
      fail();
    } catch (IllegalArgumentException e) {
    }

    b.unused(-1);
    try {
      p = b.build();
      fail();
    } catch (IllegalArgumentException e) {
    }
  }