public void SuccessfulPath()
        {
            var handler  = new Action(() => { });
            var acceptor = Substitute.For <IMessageAcceptor>();

            _strategy.Execute(handler, acceptor, CancellationToken.None);

            acceptor.Received(1).Accept();
        }
        public void ShouldResendToNextHandlerOnError()
        {
            var nextHandler = Substitute.For <IErrorHandlingStrategy>();

            _strategy = new DefaultErrorHandlingStrategy(EmptyLogFactory.Instance, _settings, nextHandler);

            var handler  = new Action(() => throw new Exception());
            var acceptor = Substitute.For <IMessageAcceptor>();

            _strategy.Execute(handler, acceptor, CancellationToken.None);

            nextHandler.Received(1).Execute(handler, acceptor, CancellationToken.None);
        }