Beispiel #1
0
        public void CompareTwoPropertiesSecondThatIsJtokenNull()
        {
            var jObject1 = new JObject();

            jObject1.Add("Prop", JObject.FromObject(new ComplexObject(false)));
            var jObject2 = new JObject();

            jObject2.Add("Prop", new JValue((object)null));

            var result = new JTokenComparer(new IndexArrayKeySelector()).CompareTokens("root", jObject1, jObject2);

            Assert.True(result.ComparisonResult.Equals(ComparisonResult.Different));
            var resultReport = ComparisonResultTextExporter.Report(result, new ComparisonResult[] { ComparisonResult.Different, ComparisonResult.DifferentTypes, ComparisonResult.Filtered, ComparisonResult.Identical, ComparisonResult.MissingInSource1, ComparisonResult.MissingInSource2 }, new ReporterSettings {
                Source1Name = "QA", Source2Name = "PROD"
            });
        }
Beispiel #2
0
        public void ComparisonWithMissingChildrenShouldReportDifference()
        {
            var complexObject = new ComplexObject(true);

            complexObject.DateTimeProperty = DateTime.UtcNow;
            var complexObject2 = new ComplexObject(false);
            var jobject        = JToken.FromObject(complexObject);
            var jobject2       = JToken.FromObject(complexObject2);

            var compareResult = (JObjectComparisonResult) new JTokenComparer(new IndexArrayKeySelector()).CompareTokens("root", jobject, jobject2);

            compareResult.ComparisonResult.Should().Be(ComparisonResult.Different);
            var childrenComparison      = (JPropertyComparisonResult)compareResult.PropertyComparisons.First(x => x.Key == "Children");
            var childrenValueComparison = (JArrayComparisonResult)childrenComparison.PropertyValueComparisonResult;

            childrenValueComparison.ComparisonResult.Should().Be(ComparisonResult.Different);
            childrenValueComparison.ArrayElementComparisons.All(x => x.ComparisonResult == ComparisonResult.MissingInSource2).Should().Be(true);

            var report = ComparisonResultTextExporter.Report(compareResult, new ComparisonResult[] { ComparisonResult.Different, ComparisonResult.MissingInSource1, ComparisonResult.MissingInSource2 }, new ReporterSettings {
                Source1Name = "QA", Source2Name = "PROD"
            });

            var compareResultAsJson = JsonConvert.SerializeObject(compareResult, Formatting.Indented);
        }