public void ComparePropertyChangeType() { JToken _from = new JObject() { new JProperty("p1", new JObject() { new JProperty("p2", new JObject() { new JProperty("p3", "value") }) }) }; JToken _to = new JObject() { new JProperty("p1", new JObject() { new JProperty("p2", new JArray() { new JValue("v1") }) }) }; var result = new DiffJsonComparer(new CompareJsonContext()) .Compare(_from, _to); Assert.AreEqual(result.Subs.Count, 1); Assert.AreEqual(result.Subs[0].Subs.Count, 1); Assert.AreEqual(result.Subs[0].Name, "p1"); Assert.AreEqual(result.Subs[0].Subs[0].Name, "p2"); Assert.AreEqual(result.Subs[0].Subs[0].Type, CompareResultType.Changed); }
public void ComparePropertyValueType() { JToken _from = new JObject() { new JProperty("p1", 1) }; JToken _to = new JObject() { new JProperty("p1", "1") }; var result = new DiffJsonComparer(new CompareJsonContext()) .Compare(_from, _to); Assert.AreEqual(result.Subs.Count, 1); Assert.AreEqual(result.Subs[0].Name, "p1"); Assert.AreEqual(result.Subs[0].Old.ToString(), "1"); Assert.AreEqual(result.Subs[0].New.ToString(), "1"); }
public void ComparePropertyRenamed() { JToken _from = new JObject() { new JProperty("p1", "old") }; JToken _to = new JObject() { new JProperty("p2", "new") }; var result = new DiffJsonComparer(new CompareJsonContext()) .Compare(_from, _to); Assert.AreEqual(result.Subs.Count, 2); Assert.AreEqual(result.Subs[0].Name, "p1"); Assert.AreEqual(result.Subs[0].Type, CompareResultType.Removed); Assert.AreEqual(result.Subs[1].Name, "p2"); Assert.AreEqual(result.Subs[1].Type, CompareResultType.Added); }