subscription manager test improvements

This commit is contained in:
benjamin 2013-05-22 18:06:09 +02:00
commit e5b13ba8e6
2 changed files with 38 additions and 1 deletions

View File

@ -1,14 +1,18 @@
package net.engio.mbassy;
import net.engio.mbassy.bus.*;
import net.engio.mbassy.common.DeadMessage;
import net.engio.mbassy.common.MessageBusTest;
import net.engio.mbassy.common.TestUtil;
import net.engio.mbassy.dispatch.HandlerInvocation;
import net.engio.mbassy.messages.ITestMessage;
import net.engio.mbassy.messages.SubTestMessage;
import net.engio.mbassy.messages.TestMessage;
import net.engio.mbassy.listener.*;
import net.engio.mbassy.listeners.*;
import net.engio.mbassy.messages.TestMessage3;
import net.engio.mbassy.subscription.SubscriptionContext;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
@ -61,7 +65,6 @@ public abstract class SyncBusTest extends MessageBusTest {
ISyncMessageBus bus = getSyncMessageBus();
for(int i = 0; i< 10000; i++){
bus.subscribe(new MessageListener2());
}
@ -84,6 +87,30 @@ public abstract class SyncBusTest extends MessageBusTest {
protected abstract ISyncMessageBus getSyncMessageBus();
@Test
public void testHandlerUsingInterface() {
MBassador<ITestMessage> bus = new MBassador<ITestMessage>(BusConfiguration.Default());
bus.subscribe(new InterfaceMessageListener());
bus.publish(new TestMessage3());
}
@Listener(references = References.Strong)
static class InterfaceMessageListener{
@Handler
public void handleFoo(ITestMessage f) {
Assert.assertTrue(f instanceof TestMessage3);
}
@Handler
public void handleDead(DeadMessage d) {
Assert.fail("This class should handle this message appropriately!");
}
}
public static class MessageListener1 {
// every event of type TestEvent or any subtype will be delivered

View File

@ -0,0 +1,10 @@
package net.engio.mbassy.messages;
/**
* A test message that uses an interface
*
* @author durron597
*/
public class TestMessage3 implements ITestMessage {
}