Ejemplo n.º 1
0
        public void SubscribeToBaseMessageAndReceiveInheritingMessage()
        {
            var subscriberTwo = new SubscriberTwo();

            MessageAggregator.Instance.Subscribe(subscriberTwo);
            MessageAggregator.Instance.Publish(new MessageTwoDotOne(3));
            Assert.AreEqual(3, subscriberTwo.Content);
        }
Ejemplo n.º 2
0
        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);
        }