public FCCEngine( ICoverageUtilManager coverageUtilManager, ICoberturaUtil coberturaUtil, IMsTestPlatformUtil msTestPlatformUtil, IReportGeneratorUtil reportGeneratorUtil, ILogger logger, IAppDataFolder appDataFolder, ICoverageToolOutputManager coverageOutputManager, IMsCodeCoverageRunSettingsService msCodeCoverageRunSettingsService, ISolutionEvents solutionEvents, IAppOptionsProvider appOptionsProvider, IEventAggregator eventAggregator, IDisposeAwareTaskRunner disposeAwareTaskRunner ) { this.solutionEvents = solutionEvents; this.eventAggregator = eventAggregator; this.disposeAwareTaskRunner = disposeAwareTaskRunner; solutionEvents.AfterClosing += (s, args) => ClearOutputWindow(false); appOptionsProvider.OptionsChanged += (appOptions) => { if (!appOptions.Enabled) { ClearUI(); } }; this.coverageOutputManager = coverageOutputManager; this.coverageUtilManager = coverageUtilManager; this.coberturaUtil = coberturaUtil; this.msTestPlatformUtil = msTestPlatformUtil; this.reportGeneratorUtil = reportGeneratorUtil; this.logger = logger; this.appDataFolder = appDataFolder; this.msCodeCoverageRunSettingsService = msCodeCoverageRunSettingsService; }
public TestContainerDiscoverer ( [Import(typeof(IOperationState))] IOperationState operationState, IFCCEngine fccEngine, IInitializer initializer, ITestOperationFactory testOperationFactory, ILogger logger, IAppOptionsProvider appOptionsProvider, IReportGeneratorUtil reportGeneratorUtil, IDisposeAwareTaskRunner disposeAwareTaskRunner, IMsCodeCoverageRunSettingsService msCodeCoverageRunSettingsService ) { this.appOptionsProvider = appOptionsProvider; this.reportGeneratorUtil = reportGeneratorUtil; this.msCodeCoverageRunSettingsService = msCodeCoverageRunSettingsService; this.fccEngine = fccEngine; this.testOperationFactory = testOperationFactory; this.logger = logger; testOperationStateChangeHandlers = new Dictionary <TestOperationStates, Func <IOperation, Task> > { { TestOperationStates.TestExecutionCanceling, TestExecutionCancellingAsync }, { TestOperationStates.TestExecutionStarting, TestExecutionStartingAsync }, { TestOperationStates.TestExecutionFinished, TestExecutionFinishedAsync }, { TestOperationStates.TestExecutionCancelAndFinished, TestExecutionCancelAndFinishedAsync }, }; disposeAwareTaskRunner.RunAsync(() => { initializeTask = Task.Run(async() => { operationState.StateChanged += OperationState_StateChanged; await initializer.InitializeAsync(disposeAwareTaskRunner.DisposalToken); }); return(initializeTask); }); }