public void sending_a_message_without_handler_should_trow() { using (var bus = new SimpleMessageQueue(10)) { var ex = Assert.Throws <Exception>(() => bus.Send(new UnHandledMessage())); Assert.IsTrue(ex.Message.StartsWith("Missing handler for message")); } }
public void messages_should_have_only_one_handler() { using (var bus = new SimpleMessageQueue(10)) { bus.RegisterAssemblyOf <SampleMessageHandler>(); var ex = Assert.Throws <TooManyMessageHandlersException>(() => bus.Send(new CommandWithMultipleHandlers())); } }
public void all_messages_should_have_been_handled_after_queue_shutdown() { SampleMessageHandler.Counter = 0; using (var bus = new SimpleMessageQueue(200)) { SampleMessageHandler.ApplicationBus = bus; bus.RegisterAssemblyOf <SampleMessageHandler>(); bus.Send(new SampleMessage("Message 1")); bus.Send(new SampleMessage("Message 2")); bus.Send(new SampleMessage("Message 3")); bus.Send(new SampleMessage("Message 4")); } // 4*2 (parent + child) + 3 * 2 (retries for Chaos Monkey generated failures) Assert.AreEqual(8 + 6, SampleMessageHandler.Counter); }