public void CanInvokeMessageHandler() { // Arrange Dispatcher.RegisterMessageHandlers(typeof(MyMessageHandler).Assembly); MyMessage1 message = new MyMessage1(); Count = 0; // Act Dispatcher.Dispatch(message); // Assert Assert.AreEqual(1, Count); }
public void TypeDetermination() { IMsgInterface msg = new MyMessage1(); bus.RegisterSubscriber(new Msg1Sub()); // Handler wants MyMessage1 types, msg is IMsgInterface but runtime type MyMessage1, so it should still get called bus.Send(msg); AssertHandleCounts(m1: 1); ResetHandleCounts(); BaseMessge msg2 = new MyMessage2(); bus.RegisterSubscriber(new Msg2Sub()); // Similar here, Msg2Sub should still get called. bus.Send(msg2); AssertHandleCounts(m1: 0, m2: 1); }