@Test
public void testDeserialize() {

    // A real TLSv1 packet
    byte[] pktSerialized = new byte[] { 0x45, 0x00,
            0x00, 0x2e, 0x41, (byte) 0xbe, 0x40, 0x00, 0x40, 0x06,
            (byte) 0xd4, (byte) 0xf0, (byte) 0xc0, (byte) 0xa8, 0x02, (byte) 0xdb, (byte) 0xd0, 0x55,
            (byte) 0x90, 0x42, (byte) 0xd5, 0x48, 0x01, (byte) 0xbb, (byte) 0xe3, 0x50,
            (byte) 0xb2, 0x2f, (byte) 0xfc, (byte) 0xf8, (byte) 0xa8, 0x2c, 0x50, 0x18,
            (byte) 0xff, (byte) 0xff, 0x24, 0x3c, 0x00, 0x00, 0x14, 0x03,
            0x01, 0x00, 0x01, 0x01
    };
    IPv4 packet = new IPv4();
    packet.deserialize(pktSerialized, 0, pktSerialized.length);
    byte[] pktSerialized1 = packet.serialize();
    assertTrue(Arrays.equals(pktSerialized, pktSerialized1));
}