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();
        }
 protected override ProcessStartInfo GetProcessStartInfo(SelectedTests selectedTests)
 {
     return(partCoverApplication.GetProcessStartInfo());
 }