public void ReplacerProgressContentReports_ValidInput_ReturnsValidProperties() { const int totalFileCount = -1; const int processedFileCount = -1; const string processedFilePath = @"C:\"; const string processFileNewContent = "new content text"; var replacerProgressContentReport = new ReplacerProgressContentReport(totalFileCount, processedFileCount, processedFilePath, processFileNewContent); var actualTotalFileCount = replacerProgressContentReport.TotalFileCount; var actualProcessedFileCount = replacerProgressContentReport.ProcessedFileCount; var actualProcessedFilePath = replacerProgressContentReport.ProcessedFilePath; var actualProcessFileNewContent = replacerProgressContentReport.ProcessFileNewContent; Assert.That(actualTotalFileCount, Is.EqualTo(totalFileCount)); Assert.That(actualProcessedFileCount, Is.EqualTo(processedFileCount)); Assert.That(actualProcessedFilePath, Is.EqualTo(processedFilePath)); Assert.That(actualProcessFileNewContent, Is.EqualTo(processFileNewContent)); }
private static async Task OnProgressReportedAsync( ReplacerProgressContentReport progress, BaseUpdateViewModel baseUpdateViewModel, string projectName, IDictionary <string, bool> fileOpenedStatus, CancellationToken cancellationToken) { await LicenseHeadersPackage.Instance.JoinableTaskFactory.SwitchToMainThreadAsync(); if (!cancellationToken.IsCancellationRequested) { var result = new ReplacerResult <ReplacerSuccess, ReplacerError <LicenseHeaderContentInput> > ( new ReplacerSuccess(progress.ProcessedFilePath, progress.ProcessFileNewContent)); if (fileOpenedStatus.TryGetValue(progress.ProcessedFilePath, out var wasOpen)) { await HandleResultAsync(result, LicenseHeadersPackage.Instance, wasOpen, false); } else { await HandleResultAsync(result, LicenseHeadersPackage.Instance, false, false); } } if (baseUpdateViewModel == null) { return; } baseUpdateViewModel.FileCountCurrentProject = progress.TotalFileCount; baseUpdateViewModel.ProcessedFilesCountCurrentProject = progress.ProcessedFileCount; if (baseUpdateViewModel is SolutionUpdateViewModel solutionUpdateViewModel) { solutionUpdateViewModel.CurrentProject = projectName; } }