예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 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);
 }
예제 #4
0
    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;
        }
    }
예제 #5
0
 public void CompareGraph_Identical_UnitTest()
 {
     var left   = new Foo();
     var right  = new Foo();
     var result = DeepCompare.CompareGraph(left, right);
 }