示例#1
0
 public static string Report(JTokenComparisonResult comparisonResult, IEnumerable <ComparisonResult> resultsToReport, ReporterSettings settings)
 {
     if (comparisonResult != null)
     {
         return(comparisonResult.Match(
                    x => ReportObject(x, resultsToReport, settings).TrimEnd(Environment.NewLine.ToCharArray()),
                    x => ReportArray(x, resultsToReport, settings).TrimEnd(Environment.NewLine.ToCharArray()),
                    x => ReportProperty(x, resultsToReport, settings).TrimEnd(Environment.NewLine.ToCharArray()),
                    x => ReportValue(x, resultsToReport, settings).TrimEnd(Environment.NewLine.ToCharArray())));
     }
     else
     {
         return("");
     }
 }
示例#2
0
        private static string ComparisonResultToFriendlyName(JTokenComparisonResult result, ReporterSettings settings)
        {
            switch (result.ComparisonResult)
            {
            case ComparisonResult.Filtered:
            case ComparisonResult.DifferentTypes:
            case ComparisonResult.Different:
            case ComparisonResult.Identical:
                return(result.ComparisonResult.ToString());

            case ComparisonResult.MissingInSource1:
                return($"Missing in {settings.Source1Name}");

            case ComparisonResult.MissingInSource2:
                return($"Missing in {settings.Source2Name}");

            default:
                throw new ArgumentOutOfRangeException("ComparisonResult");
            }
        }
示例#3
0
 private static string ReportElement(JTokenComparisonResult result, ReporterSettings settings)
 {
     return($"{result.Path}-key:{result.Key}-{ComparisonResultToFriendlyName(result, settings)}-{result.Type}");
 }