public void It_publishes_messages_to_subscribed_handlers_only() { // arrange var aMessage = new MessageA(); var aHandler = new Mock <ISubscriber <MessageA> >(); var bHandler = new Mock <ISubscriber <MessageB> >(); _bus.Subscribe(aHandler.Object); _bus.Subscribe(bHandler.Object); // act _bus.Publish(aMessage); // assert aHandler.Verify(x => x.OnHandle(It.Is <MessageA>(m => ReferenceEquals(m, aMessage)), It.IsAny <string>()), Times.Once); aHandler.Verify(x => x.OnHandle(It.IsAny <MessageA>(), It.IsAny <string>()), Times.Once); bHandler.Verify(x => x.OnHandle(It.IsAny <MessageB>(), It.IsAny <string>()), Times.Never); }
public void PublishMessageTest() { var serviceCollection = new ServiceCollection(); var messageHandlerExecutionContext = new ServiceProviderMessageHandlerExecutionContext(serviceCollection); var mb = new SimpleMessageBus(new MessageJsonSerializer(), messageHandlerExecutionContext); int numOfMessagesReceived = 0; mb.MessageReceived += (x, y) => numOfMessagesReceived++; var event1 = new NameChangedEvent("daxnet"); mb.Publish(event1); Assert.Equal(1, numOfMessagesReceived); }