package org.peerbox.events;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import net.engio.mbassy.listener.Handler;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class MessageBusTest {
private MessageBus messageBus;
@Before
public void setUp() throws Exception {
messageBus = new MessageBus();
}
@After
public void tearDown() throws Exception {
if (messageBus != null) {
messageBus.shutdown();
messageBus = null;
}
}
@Test
public void testMessageBus() {
TestListener listener = new TestListener();
messageBus.subscribe(listener);
assertFalse(listener.messageReceived);
messageBus.publish(new TestMessage());
assertTrue(listener.messageReceived);
}
private class TestMessage implements IMessage {
}
private class TestListener {
boolean messageReceived = false;
@Handler
private void testMessageHandler(TestMessage msg) {
messageReceived = true;
}
}
}