public Task<bool> ExecuteAsync(ITaskCoverageManager taskCoverageManager, IVsSolutionTestCoverage vsSolutionTestCoverage, IDocumentProvider documentProvider) { taskCoverageManager.RaiseEvent(new ResyncAllStarted()); var task = vsSolutionTestCoverage.CalculateForAllDocumentsAsync(); var finalTask = task.ContinueWith((finishedTask, y) => { taskCoverageManager.RaiseEvent(new ResyncAllCompleted()); return finishedTask.Result; }, null, TaskSchedulerManager.Current.FromSynchronizationContext()); return finalTask; }
public Task<bool> ExecuteAsync(ITaskCoverageManager taskCoverageManager, IVsSolutionTestCoverage vsSolutionTestCoverage, IDocumentProvider documentProvider) { taskCoverageManager.RaiseEvent(new DocumentCoverageTaskStartedArgs(DocumentPath)); string documentContent = TextBuffer.CurrentSnapshot.GetText(); var task = vsSolutionTestCoverage.CalculateForDocumentAsync(ProjectName, DocumentPath, documentContent); var finalTask = task.ContinueWith((finishedTask, y) => { if (finishedTask.Result) taskCoverageManager.Tasks.RemoveAll(t => IsTaskInDocument(t, DocumentPath)); else taskCoverageManager.ReportTaskToRetry(this); taskCoverageManager.RaiseEvent(new DocumentCoverageTaskCompletedArgs(DocumentPath)); return finishedTask.Result; }, null, TaskSchedulerManager.Current.FromSynchronizationContext()); return finalTask; }
private void RaiseTaskStartedEvent(ITaskCoverageManager taskCoverageManager) { var args=new MethodCoverageTaskStartedArgs(DocumentPath, MethodName); taskCoverageManager.RaiseEvent(args); }