public void CreateDefaultPovider_GetById_ReturnsComparerWithSpecifiedId(string comparerId, Type comparerType)
        {
            IResultsComparerProvider provider = ComparerProviderFactory.CreateDefaultProvider();
            IResultsComparer         comparer = provider.GetById(comparerId);

            Assert.IsType(comparerType, comparer);
        }
Beispiel #2
0
        private static void Compare(CommandLineOptions args, IResultsComparerProvider comparerProvider, IReporterProvider reporterProvider)
        {
            try
            {
                IResultsComparer comparer = string.IsNullOrEmpty(args.Comparer) ?
                                            comparerProvider.GetForFile(args.BasePath) : comparerProvider.GetById(args.Comparer);

                Console.WriteLine($"Comparer selected: {comparer.Name}\n");


                ComparerOptions options = new()
                {
                    StatisticalTestThreshold = args.StatisticalTestThreshold,
                    NoiseThreshold           = args.NoiseThreshold,
                    FullId   = args.FullId,
                    TopCount = args.TopCount,
                    Filters  = args.Filters,
                    Metric   = args.Metric
                };

                ComparerResults results = comparer.CompareResults(args.BasePath, args.DiffPath, options);

                IReporter reporter = reporterProvider.GetDefault();
                Stream    output   = Console.OpenStandardOutput();
                reporter.GenerateReport(results, output, options, leaveStreamOpen: true);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine($"Error: {ex.Message}");
            }
        }
Beispiel #3
0
        public static void Main(string[] args)
        {
            // we print a lot of numbers here and we want to make it always in invariant way
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            IResultsComparerProvider comparerProvider = ComparerProviderFactory.CreateDefaultProvider();
            IReporterProvider        reporterProvider = new ReporterProvider();

            Parser.Default.ParseArguments <CommandLineOptions>(args)
            .WithParsed((options) => Compare(options, comparerProvider, reporterProvider));
        }
        public void DefaultProvider_GetForFile_ThrowsForUnsupportedFile(string extension, string contents)
        {
            string path = Path.GetTempFileName();

            File.Delete(path);
            path = $"path{extension}";
            File.WriteAllText(path, contents);
            IResultsComparerProvider provider = ComparerProviderFactory.CreateDefaultProvider();

            Assert.Throws <Exception>(() =>
            {
                provider.GetForFile(path);
            });
        }
        public void CreateDefaultProvider_GetForFile_ReturnsSupportedComparerForFile(string extension, string contents, Type comparerType)
        {
            string path = Path.GetTempFileName();

            File.Delete(path);
            path = $"path{extension}";
            File.WriteAllText(path, contents);
            IResultsComparerProvider provider = ComparerProviderFactory.CreateDefaultProvider();

            IResultsComparer comparer = provider.GetForFile(path);

            Assert.IsType(comparerType, comparer);
            File.Delete(path);
        }
Beispiel #6
0
        public void ComparerReportFilesAndGenerateMarkdownReport(string comparerId, ComparerOptions options, string basePath, string diffPath, string reportPath)
        {
            IResultsComparerProvider comparerProvider = ComparerProviderFactory.CreateDefaultProvider();
            IResultsComparer         comparer         = comparerProvider.GetById(comparerId);

            ComparerResults  results  = comparer.CompareResults(basePath, diffPath, options);
            MarkdownReporter reporter = new();

            using MemoryStream output = new();
            reporter.GenerateReport(results, output, options, leaveStreamOpen: true);

            output.Seek(0, SeekOrigin.Begin);
            string expectedReport = File.ReadAllText(reportPath);
            string actualReport   = new StreamReader(output).ReadToEnd();

            Assert.Equal(expectedReport, actualReport);
        }
        public void DefaultProvider_GetById_ThrowsForUnknownId()
        {
            IResultsComparerProvider provider = ComparerProviderFactory.CreateDefaultProvider();

            Assert.Throws <Exception>(() => provider.GetById("unknown"));
        }