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); }
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()); }