private TestLogger CheckExecutionSucceeds(AnalysisPhase phase, bool debug, params string[] args)
        {
            var logger       = new TestLogger();
            var settings     = MockBootstrapSettings(phase, debug, args);
            var bootstrapper = new BootstrapperClass(MockProcessorFactory.Object, settings, logger);
            var exitCode     = bootstrapper.Execute();

            Assert.AreEqual(0, exitCode, "Bootstrapper did not return the expected exit code");
            logger.AssertErrorsLogged(0);

            return(logger);
        }
        private TestLogger CheckExecutionFails(AnalysisPhase phase, bool debug, params string[] args)
        {
            TestLogger            logger       = new TestLogger();
            IBootstrapperSettings settings     = MockBootstrapSettings(phase, debug, args);
            BootstrapperClass     bootstrapper = new BootstrapperClass(MockProcessorFactory.Object, settings, logger);
            int exitCode = bootstrapper.Execute();

            Assert.AreEqual(Bootstrapper.Program.ErrorCode, exitCode, "Bootstrapper did not return the expected exit code");
            logger.AssertErrorsLogged();

            return(logger);
        }