public void TestHandlersForAChildClassShouldNotBeCalledWhenParentClassIsSent() { var eventBus = new EventBus(); var testMessage = new EmptyTestMessage(); eventBus.Register((ChildEmptyTestMessage message) => { throw new Exception("Handlers for a class should not be called when messages of a parent class are sent"); }); eventBus.Send(testMessage); }
public void TestCorrectMessageIsReceived() { var eventBus = new EventBus(); var testMessage = new EmptyTestMessage(); bool handlerCalled = false; eventBus.Register((EmptyTestMessage message) => { message.Should().BeSameAs(testMessage, "because we should have received the object we sent"); handlerCalled = true; }); eventBus.Register((EmptyTestMessage2 message) => { throw new Exception("Handler should not be called"); }); eventBus.Send(testMessage); handlerCalled.Should().BeTrue("because otherwise the correct handler wasn't called"); }
public void TestMultipleReceivers() { var eventBus = new EventBus(); var testMessage = new EmptyTestMessage(); bool handlerCalled1 = false; bool handlerCalled2 = false; eventBus.Register((EmptyTestMessage message) => { message.Should().BeSameAs(testMessage, "because all receivers should have received the object we sent"); handlerCalled1 = true; }); eventBus.Register((EmptyTestMessage message) => { message.Should().BeSameAs(testMessage, "because all receivers should have received the object we sent"); handlerCalled2 = true; }); eventBus.Send(testMessage); handlerCalled1.Should().BeTrue("because otherwise the handler wasn't called"); handlerCalled2.Should().BeTrue("because otherwise the handler wasn't called"); }