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));
        }
Example #2
0
        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;
            }
        }