public TestContainerDiscoverer ( [Import(typeof(IOperationState))] IOperationState operationState, IFCCEngine fccEngine, IInitializer initializer, ITestOperationFactory testOperationFactory, ILogger logger, IAppOptionsProvider appOptionsProvider ) { appOptionsProvider.OptionsChanged += AppOptionsEvents_OptionsChanged; this.appOptionsProvider = appOptionsProvider; this.fccEngine = fccEngine; this.testOperationFactory = testOperationFactory; this.logger = logger; initializeThread = new Thread(() => { operationState.StateChanged += OperationState_StateChanged; initializer.Initialize(); }); initializeThread.Start(); }
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); }); }