InetSocketAddress peer = new InetSocketAddress(
BSPNetUtils.getCanonicalHostname(), BSPNetUtils.getFreePort());
messageManager.init(conf, peer);
String peerName = peer.getHostName() + ":" + peer.getPort();
messageManager.send(peerName, new IntegerMessage("test", 1337));
Iterator<Entry<InetSocketAddress, LinkedList<BSPMessage>>> messageIterator = messageManager
.getMessageIterator();
Entry<InetSocketAddress, LinkedList<BSPMessage>> entry = messageIterator
.next();
assertEquals(entry.getKey(), peer);
assertTrue(entry.getValue().size() == 1);
BSPMessageBundle bundle = new BSPMessageBundle();
for (BSPMessage msg : entry.getValue()) {
bundle.addMessage(msg);
}
messageManager.transfer(peer, bundle);
messageManager.clearOutgoingQueues();
assertTrue(messageManager.getNumCurrentMessages() == 1);
BSPMessage currentMessage = messageManager.getCurrentMessage();
assertTrue(currentMessage instanceof IntegerMessage);
IntegerMessage rec = (IntegerMessage) currentMessage;
assertEquals(rec.getTag(), "test");
assertEquals(rec.getData(), Integer.valueOf(1337));
}