@Override
    public String toString() {
        return toStringHelper(getClass())
                .add("currentHopLimit", Byte.toString(currentHopLimit))
                .add("mFlag", Byte.toString(mFlag))
                .add("oFlag", Byte.toString(oFlag))
                .add("routerLifetime", Short.toString(routerLifetime))
                .add("reachableTime", Integer.toString(reachableTime))
                .add("retransmitTimer", Integer.toString(retransmitTimer))
                .toString();
        // TODO: need to handle optionis
    }
@Test
    public void testToStringRA() throws Exception {
        RouterAdvertisement ra = deserializer.deserialize(bytePacket, 0, bytePacket.length);
        String str = ra.toString();

        assertTrue(StringUtils.contains(str, "currentHopLimit=" + (byte) 3));
        assertTrue(StringUtils.contains(str, "mFlag=" + (byte) 1));
        assertTrue(StringUtils.contains(str, "oFlag=" + (byte) 1));
        assertTrue(StringUtils.contains(str, "routerLifetime=" + (short) 0x258));
        assertTrue(StringUtils.contains(str, "reachableTime=" + 0x3e8));
        assertTrue(StringUtils.contains(str, "retransmitTimer=" + 0x1f4));

        // TODO: need to handle options
    }