public void ShouldRegisterOnePublisher() { EventBroker broker = new EventBroker(); EventSource1 publisher = new EventSource1(); broker.RegisterPublisher("PublishedEvent1", publisher, "Event1"); List<string> published = new List<string>(broker.RegisteredEvents); List<object> publishers = new List<object>(broker.GetPublishersFor("PublishedEvent1")); Assert.IsTrue(published.Contains("PublishedEvent1")); Assert.AreEqual(1, publishers.Count); Assert.AreSame(publisher, publishers[0]); }
public void ShouldRegisterOneSubscriber() { EventBroker broker = new EventBroker(); EventHandler subscriber = delegate { }; broker.RegisterSubscriber("SubscribedEvent1", subscriber); List<string> published = new List<string>(broker.RegisteredEvents); List<object> publishers = new List<object>(broker.GetPublishersFor("SubscribedEvent1")); List<EventHandler> subscribers = new List<EventHandler>(broker.GetSubscribersFor("SubscribedEvent1")); Assert.AreEqual(1, published.Count); Assert.AreEqual("SubscribedEvent1", published[0]); Assert.AreEqual(0, publishers.Count); Assert.AreEqual(1, subscribers.Count); Assert.AreSame(subscriber, subscribers[0]); }
public void ShouldRegisterOnePublisherAndOneSubscriber() { EventBroker broker = new EventBroker(); EventSource1 publisher = new EventSource1(); string publishedEventName = "MyEvent"; EventHandler subscriber = delegate { }; broker.RegisterPublisher(publishedEventName, publisher, "Event1"); broker.RegisterSubscriber(publishedEventName, subscriber); List<string> published = new List<string>(broker.RegisteredEvents); List<object> publishers = new List<object>(broker.GetPublishersFor(publishedEventName)); List<EventHandler> subscribers = new List<EventHandler>(broker.GetSubscribersFor(publishedEventName)); Assert.AreEqual(1, published.Count); Assert.AreEqual(publishedEventName, published[0]); Assert.AreEqual(1, publishers.Count); Assert.AreSame(publisher, publishers[0]); Assert.AreEqual(1, subscribers.Count); Assert.AreSame(subscriber, subscribers[0]); }
public void ShouldRemovePublisherFromListOnUnregistration() { EventBroker broker = new EventBroker(); EventSource1 publisher = new EventSource1(); string publishedEventName = "MyEvent"; broker.RegisterPublisher(publishedEventName, publisher, "Event1"); broker.UnregisterPublisher(publishedEventName, publisher, "Event1"); Assert.AreEqual(0, new List<object>(broker.GetPublishersFor(publishedEventName)).Count); }