public void It_should_leave_the_message_in_the_queue_if_an_exception_is_thrown() { FutureMessage <PingMessage> future = new FutureMessage <PingMessage>(); RemoteBus.Subscribe <PingMessage>(m => { future.Set(m); throw new ApplicationException("Boing!"); }); var message = new PingMessage(); LocalBus.Publish(message); future.IsAvailable(_timeout).ShouldBeTrue("Message was not received"); RemoteEndpoint.ShouldNotContain(message); }