public void CollectedTargetIsUnsubscribed() { var bus = new DirectDispatchMessageBus(); bus.Subscribe(new SingleSubscriber()); GC.Collect(); var message = new TestMessage(); bus.Publish(message); Assert.That(message.LastReceiver, Is.Null); }
public void CanUnsubscribe() { var bus = new DirectDispatchMessageBus(); var target = new SingleSubscriber(); bus.Subscribe(target); bus.Unsubscribe(target); var message = new TestMessage(); bus.Publish(message); Assert.That(message.LastReceiver, Is.Null); }
public void CanSubscribeMultipleTargets() { var bus = new DirectDispatchMessageBus(); var target1 = new SingleSubscriber(); var target2 = new SingleSubscriber(); bus.Subscribe(target1); bus.Subscribe(target2); var message = new TestMessage(); bus.Publish(message); Assert.That(target1.LastMessage, Is.SameAs(message)); Assert.That(target2.LastMessage, Is.SameAs(message)); }
public override void Handle(TestMessage message) { base.Handle(message); }