/// <summary> /// Processes the specified left value. /// </summary> /// <param name="leftValue">The left value.</param> /// <param name="rightValue">The right value.</param> /// <param name="context">The context.</param> /// <returns>CompareResults.</returns> public CompareResults Process(object leftValue, object rightValue, CompareContext context) { var instance = new DeepCompare(context); CompareResults result = instance.Execute(leftValue, rightValue); return(result); }
public void CompareGraph_Loop_UnitTest() { var left = new Foo(); var right = new Foo(); left.e = left; right.e = right; var result = DeepCompare.CompareGraph(left, right); }
public void CompareGraph_Same_UnitTest() { var left = new Foo { e = new Foo() }; var right = new Foo { e = new Foo() }; var result = DeepCompare.CompareGraph(left, right); }
static void Case <T>(T a, T b, bool expected) { var aStr = a?.ToString() ?? "<null>"; var bStr = b?.ToString() ?? "<null>"; var title = $"DeepCompare<{typeof(T).Name}>.Compare({aStr}, {bStr})"; try { var actual = DeepCompare <T> .Compare(a, b); var status = actual == expected ? "PASS" : "FAIL"; Console.WriteLine($"{status} {title}"); } catch (Exception) { Console.WriteLine($"FAIL {title}"); throw; } }
public void CompareGraph_Identical_UnitTest() { var left = new Foo(); var right = new Foo(); var result = DeepCompare.CompareGraph(left, right); }