public void send_message_to_all_listeners_as_an_action() { var handlerA = MockRepository.GenerateMock <IMessageHandler1>(); var handlerB = MockRepository.GenerateMock <IMessageHandler1>(); var handlerC = MockRepository.GenerateMock <IMessageHandler1>(); var handlerD = MockRepository.GenerateMock <IMessageHandler2>(); var handlerE = MockRepository.GenerateMock <IMessageHandler2>(); events.AddListeners(handlerA, handlerB, handlerC, handlerD, handlerE); var message1 = new Message1(); var message2 = new Message2(); events.SendMessage <IMessageHandler1>(x => x.HandleMessage(message1)); events.SendMessage <IMessageHandler2>(x => x.HandleMessage(message2)); handlerA.AssertWasCalled(x => x.HandleMessage(message1)); handlerB.AssertWasCalled(x => x.HandleMessage(message1)); handlerC.AssertWasCalled(x => x.HandleMessage(message1)); handlerD.AssertWasCalled(x => x.HandleMessage(message2)); handlerE.AssertWasCalled(x => x.HandleMessage(message2)); }
public void send_message_to_all_listeners_for_a_message_type() { var listener1 = new StubListener <Message1>(); var listener2 = new StubListener <Message1>(); var listener3 = new StubListener <Message1>(); var listener4 = new StubListener <Message2>(); events.AddListeners(listener1, listener2, listener3, this, listener4); var message1 = new Message1(); var message2 = new Message2(); events.SendMessage(message1); events.SendMessage(message2); Wait.Until( () => listener1.LastMessage != null && listener2.LastMessage != null && listener3.LastMessage != null && listener4.LastMessage != null); listener1.LastMessage.ShouldBeTheSameAs(message1); listener2.LastMessage.ShouldBeTheSameAs(message1); listener3.LastMessage.ShouldBeTheSameAs(message1); listener4.LastMessage.ShouldBeTheSameAs(message2); }