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)); }