public When_starting_the_projector_with_a_projection_that_throws_an_exception()
        {
            _loggerFactoryMock = new LoggerFactoryMock();
            _expectedException = new FeedProjectionException("error1");

            _sut = new FeedProjector <FeedProjectorTestContext>(
                () => new Mock <Owned <FeedProjectorTestContext> >().Object,
                _loggerFactoryMock,
                new [] { new FailingRunner(_expectedException) });
        }
        public When_starting_the_projector_with_a_multiple_failing_projections_and_an_infinte_projection()
        {
            _cancellationTokenSource = new CancellationTokenSource();
            _loggerFactoryMock       = new LoggerFactoryMock();
            _firstExpectedException  = new FeedProjectionException("error1");
            _secondExpectedException = new FeedProjectionException("error2");

            _sut = new FeedProjector <FeedProjectorTestContext>(
                () => new Mock <Owned <FeedProjectorTestContext> >().Object,
                _loggerFactoryMock,
                new IFeedProjectionRunner <FeedProjectorTestContext>[]
            {
                new FailingRunner(_secondExpectedException, TimeSpan.FromMilliseconds(300)),
                new InfiniteRunner(),
                new FailingRunner(_firstExpectedException, TimeSpan.FromMilliseconds(50)),
            });
        }