Exemplo n.º 1
0
        public void UnsubscribeTest()
        {
            MessageBus bus       = new MessageBus();
            var        singleSub = new MockSingleSubscriber();
            var        dualSub   = new MockDualSubscriber();

            bus.Subscribe(singleSub);
            bus.Subscribe(dualSub);
            bus.Unsubscribe(singleSub);

            var statSubs  = bus.GetSubscribers(typeof(StatusMsg));
            var resetSubs = bus.GetSubscribers(typeof(ResetMsg));

            Assert.That(statSubs.Count, Is.EqualTo(1));
            Assert.That(resetSubs.Count, Is.EqualTo(1));

            bus.Unsubscribe(dualSub);
            statSubs  = bus.GetSubscribers(typeof(StatusMsg));
            resetSubs = bus.GetSubscribers(typeof(ResetMsg));
            Assert.That(statSubs.Count, Is.EqualTo(0));
            Assert.That(resetSubs.Count, Is.EqualTo(0));
        }