OpenCoverApplication CreateOpenCoverApplication(ProcessStartInfo startInfo, IEnumerable<ITest> tests)
		{
			IProject project = tests.First().ParentProject.Project;
			OpenCoverSettings settings = settingsFactory.CreateOpenCoverSettings(project);
			var application = new OpenCoverApplication(startInfo, settings, project);
			RemoveExistingCodeCoverageResultsFile(application.CodeCoverageResultsFileName);
			CreateDirectoryForCodeCoverageResultsFile(application.CodeCoverageResultsFileName);
			return application;
		}
		void CreateOpenCoverApplication(string fileName)
		{
			CreateNUnitConsoleApplication();
			openCoverSettings = new OpenCoverSettings();
			openCoverApp = new OpenCoverApplication(
				fileName,
				nunitConsoleApp.GetProcessStartInfo(),
				openCoverSettings,
				project);
		}
        void CreatePartCoverApplication(SelectedTests selectedTests)
        {
            NUnitConsoleApplication nunitConsoleApp = new NUnitConsoleApplication(selectedTests, options);

            nunitConsoleApp.Results = base.TestResultsMonitor.FileName;

            OpenCoverSettings settings = settingsFactory.CreateOpenCoverSettings(selectedTests.Project);

            partCoverApplication = new OpenCoverApplication(nunitConsoleApp, settings);
        }
        OpenCoverApplication CreateOpenCoverApplication(ProcessStartInfo startInfo, IEnumerable <ITest> tests)
        {
            IProject          project  = tests.First().ParentProject.Project;
            OpenCoverSettings settings = settingsFactory.CreateOpenCoverSettings(project);
            var application            = new OpenCoverApplication(startInfo, settings, project);

            RemoveExistingCodeCoverageResultsFile(application.CodeCoverageResultsFileName);
            CreateDirectoryForCodeCoverageResultsFile(application.CodeCoverageResultsFileName);
            return(application);
        }
        public override void Run()
        {
            ClearCodeCoverageResults();

            var coverageResultsReader = new CodeCoverageResultsReader();
            var options = new TestExecutionOptions {
                ModifyProcessStartInfoBeforeTestRun = (startInfo, tests) => {
                    OpenCoverApplication app = CreateOpenCoverApplication(startInfo, tests);
                    coverageResultsReader.AddResultsFile(app.CodeCoverageResultsFileName);
                    return(app.GetProcessStartInfo());
                }
            };

            ITestService        testService = SD.GetRequiredService <ITestService>();
            IEnumerable <ITest> allTests    = GetTests(testService);

            testService.RunTestsAsync(allTests, options)
            .ContinueWith(t => AfterTestsRunTask(t, coverageResultsReader))
            .FireAndForget();
        }
		void CreateOpenCoverApplicationWithoutFileName()
		{
			CreateNUnitConsoleApplication();
			openCoverApp = new OpenCoverApplication(nunitConsoleApp.GetProcessStartInfo(), new OpenCoverSettings(), project);
		}
		void CreatePartCoverApplicationWithoutFileName()
		{
			CreateNUnitConsoleApplication();
			openCoverApp = new OpenCoverApplication(nunitConsoleApp, new OpenCoverSettings());
		}
		void CreateOpenCoverApplication(string fileName)
		{
			CreateNUnitConsoleApplication();
			openCoverSettings = new OpenCoverSettings();
			openCoverApp = new OpenCoverApplication(fileName, nunitConsoleApp, openCoverSettings);
		}