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);
        }