Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }