public void SubscribeToBaseMessageAndReceiveInheritingMessage() { var subscriberTwo = new SubscriberTwo(); MessageAggregator.Instance.Subscribe(subscriberTwo); MessageAggregator.Instance.Publish(new MessageTwoDotOne(3)); Assert.AreEqual(3, subscriberTwo.Content); }
public void PublishTwoMessages() { var subscriberOne1 = new SubscriberOne(); var subscriberOne2 = new SubscriberOne(); var subscriberTwo1 = new SubscriberTwo(); var subscriberTwo2 = new SubscriberTwo(); MessageAggregator.Instance.Subscribe(subscriberOne1); MessageAggregator.Instance.Subscribe(subscriberOne2); MessageAggregator.Instance.Subscribe(subscriberTwo1); MessageAggregator.Instance.Subscribe(subscriberTwo2); Assert.AreEqual(0, subscriberOne1.CountOfEvents); Assert.AreEqual(0, subscriberOne2.CountOfEvents); Assert.AreEqual(0, subscriberTwo1.CountOfEvents); Assert.AreEqual(0, subscriberTwo2.CountOfEvents); MessageAggregator.Instance.Publish(new MessageOne("hello")); Assert.AreEqual(1, subscriberOne1.CountOfEvents); Assert.AreEqual(1, subscriberOne2.CountOfEvents); Assert.AreEqual(0, subscriberTwo1.CountOfEvents); Assert.AreEqual(0, subscriberTwo2.CountOfEvents); MessageAggregator.Instance.Publish(new MessageTwo(3)); Assert.AreEqual("hello", subscriberOne1.Content); Assert.AreEqual("hello", subscriberOne2.Content); Assert.AreEqual(3, subscriberTwo1.Content); Assert.AreEqual(3, subscriberTwo2.Content); Assert.AreEqual(1, subscriberOne1.CountOfEvents); Assert.AreEqual(1, subscriberOne2.CountOfEvents); Assert.AreEqual(1, subscriberTwo1.CountOfEvents); Assert.AreEqual(1, subscriberTwo2.CountOfEvents); }