@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) { } }
public IcmpV4ParameterProblemPacketTest() { this.pointer = (byte) 123; this.unused = 321; IcmpV4EchoPacket.Builder echob = new IcmpV4EchoPacket.Builder(); echob .identifier((short) 100) .sequenceNumber((short) 10) .payloadBuilder( new UnknownPacket.Builder().rawData((new byte[] {(byte) 0, (byte) 1, (byte) 2}))); IcmpV4CommonPacket.Builder icmpV4b = new IcmpV4CommonPacket.Builder(); icmpV4b .type(IcmpV4Type.ECHO) .code(IcmpV4Code.NO_CODE) .payloadBuilder(echob) .correctChecksumAtBuild(true); IpV4Packet.Builder ipv4b = new IpV4Packet.Builder(); try { ipv4b .version(IpVersion.IPV4) .tos(IpV4Rfc1349Tos.newInstance((byte) 0)) .identification((short) 100) .ttl((byte) 100) .protocol(IpNumber.ICMPV4) .srcAddr( (Inet4Address) InetAddress.getByAddress(new byte[] {(byte) 192, (byte) 0, (byte) 2, (byte) 2})) .dstAddr( (Inet4Address) InetAddress.getByAddress(new byte[] {(byte) 192, (byte) 0, (byte) 2, (byte) 1})) .payloadBuilder(icmpV4b) .correctChecksumAtBuild(true) .correctLengthAtBuild(true); } catch (UnknownHostException e) { throw new AssertionError(); } IcmpV4ParameterProblemPacket.Builder b = new IcmpV4ParameterProblemPacket.Builder(); b.pointer(pointer) .unused(unused) .payload(IcmpV4Helper.makePacketForInvokingPacketField(ipv4b.build())); this.packet = b.build(); }