public void testDatagram() throws Exception{
ByteArrayOutputStream out = new ByteArrayOutputStream();
I2PClient client = I2PClientFactory.createClient();
Destination d = client.createDestination(out);
I2PSession session = client.createSession(new ByteArrayInputStream(out.toByteArray()), null);
I2PDatagramMaker dm = new I2PDatagramMaker(session);
byte[] dg = dm.makeI2PDatagram(DataHelper.getASCII("What's the deal with 42?"));
I2PDatagramDissector dd = new I2PDatagramDissector();
dd.loadI2PDatagram(dg);
byte[] x = dd.getPayload();
assertTrue(DataHelper.eq(x, DataHelper.getASCII("What's the deal with 42?")));
x = dd.extractPayload();
assertTrue(DataHelper.eq(x, DataHelper.getASCII("What's the deal with 42?")));
assertEquals(d, dd.getSender());
assertEquals(d, dd.extractSender());
}