public void GivenMultipleSubscriptionToTypedMessage_WhenMessagePublished_SubscriberNotified() { var publisher = new CommonPublisher(); var subscriber = new NotifiableSubscriber(); MessageBus.Default.FromAny().Where <MessageWithSource>().Notify(subscriber); MessageBus.Default.Publish(new MessageWithSource(publisher)); Assert.IsTrue(subscriber.IsNotified); }
public void GivenAnyPublisher_WhenMessagePublished_SubscriberToAnyPublisherNotified() { var publisher = new CommonPublisher(); var subscriber = new NotifiableSubscriber(); MessageBus.Default.FromAny().Notify(subscriber); MessageBus.Default.Publish(publisher.Message()); Assert.IsTrue(subscriber.IsNotified); }
public void GivenMultiplePublishers_WhenMessagePublished_SubscriberToOtherPublisherNotNotified() { var publisher = new CommonPublisher(); var subscriber = new NotifiableSubscriber(); MessageBus.Default.From(new object()).Notify(subscriber); MessageBus.Default.Publish(publisher.Message()); Assert.IsFalse(subscriber.IsNotified); }
public void GivenRegisteredSubscriber_WhenMessagePublished_OtherSubscriberNotNotified() { var otherSubscriber = new NotifiableSubscriber(); var publisher = new CommonPublisher(); MessageBus.Default.From(new object()).Notify(new NotifiableSubscriber()); MessageBus.Default.Publish(publisher.Message()); Assert.IsFalse(otherSubscriber.IsNotified); }
public void GivenMultipleRegisteredSubscribers_WhenMessagePublished_AllSubscribersNotified() { var publisher = new CommonPublisher(); var firstSubscriber = new NotifiableSubscriber(); MessageBus.Default.From(publisher).Notify(firstSubscriber); var secondSubscriber = new NotifiableSubscriber(); MessageBus.Default.From(publisher).Notify(secondSubscriber); MessageBus.Default.Publish(publisher.Message()); Assert.IsTrue(firstSubscriber.IsNotified && secondSubscriber.IsNotified); }
public void GiveSubscriber_WhenSubscriberDisposed_SubscriberNotReferenced() { WeakReference subscriberWeakReference = null; new Action(() => { var subscriber = new NotifiableSubscriber(); MessageBus.Default.FromAny().Notify(subscriber); subscriberWeakReference = new WeakReference(subscriber); })(); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.IsFalse(subscriberWeakReference.IsAlive); }