예제 #1
0
            public void It_can_intercept_based_on_member_path()
            {
                var interceptor = new MemberPathInterceptor<string>(
                    "^NameField$",
                    input => input.ToUpper());
                var personA = new Person { NameField = "Gøran", NameProperty = "Gøran" };
                var personB = new Person { NameField = "Torkild", NameProperty = "Torkild" };

                var diff = Diff.ObjectValues(personA, personB, interceptor);

                Assert.AreEqual("GØRAN", diff.Table[0].LeftValue);
                Assert.AreEqual("TORKILD", diff.Table[0].RightValue);
                Assert.AreEqual("Gøran", diff.Table[1].LeftValue);
                Assert.AreEqual("Torkild", diff.Table[1].RightValue);
            }
예제 #2
0
            public void It_will_not_intercept_invalid_type_when_intercept_by_member_path()
            {
                var interceptor = new MemberPathInterceptor<int>("^NameField$",
                    input => input + 10);

                var left = new Person { NameField = "Gøran", NameProperty = "Gøran" };
                var right = new Person { NameField = "Torkild", NameProperty = "Torkild" };

                var diff = Diff.ObjectValues(left, right, interceptor);

                Assert.AreEqual(2, diff.Table.Rows.Count());
            }