public void IgnoreDerivedClassPropertyUsingIgnoreProperty() { var config = new ComparisonConfig(); config.IgnoreProperty <DeriveFromOfficer>(x => x.ID); var deriveFromOfficer1 = new DeriveFromOfficer { HomeAddress = "Address", ID = 1, Name = "John", Type = Deck.Engineering }; var deriveFromOfficer2 = new DeriveFromOfficer { HomeAddress = "Address", ID = 2, Name = "John", Type = Deck.Engineering }; var derive2FromOfficer1 = new Derive2FromOfficer { Email = "*****@*****.**", ID = 3, Name = "John", Type = Deck.Engineering }; var derive2FromOfficer2 = new Derive2FromOfficer { Email = "*****@*****.**", ID = 4, Name = "John", Type = Deck.Engineering }; var compare = new CompareLogic(config); var result = compare.Compare((Officer)deriveFromOfficer1, (Officer)deriveFromOfficer2); Assert.IsTrue(result.AreEqual); result = compare.Compare(derive2FromOfficer1, derive2FromOfficer2); Assert.IsFalse(result.AreEqual); }
public void CustomBaseClassPropertyComparer() { var config = new ComparisonConfig(); config.CustomPropertyComparer <Officer>(officer => officer.ID, new CustomComparer <int, int>((i, i1) => i % 2 == 1)); var deriveFromOfficer1 = new Officer { ID = 1, Name = "John", Type = Deck.Engineering }; var deriveFromOfficer2 = new Officer { ID = 2, Name = "John", Type = Deck.Engineering }; var derive2FromOfficer1 = new Derive2FromOfficer { Email = "*****@*****.**", ID = 3, Name = "John", Type = Deck.Engineering }; var derive2FromOfficer2 = new Derive2FromOfficer { Email = "*****@*****.**", ID = 4, Name = "John", Type = Deck.Engineering }; var compare = new CompareLogic(config); var result = compare.Compare(deriveFromOfficer1, deriveFromOfficer2); Assert.IsTrue(result.AreEqual); result = compare.Compare(derive2FromOfficer1, derive2FromOfficer2); Assert.IsTrue(result.AreEqual); }