public void SetUp() { _comparer = new Comparer(new ComparisonSettings { UseDefaultIfMemberNotExist = true }); //Some fields should be ignored _comparer.AddComparerOverride("ConnectionString", DoNotCompareValueComparer.Instance); _comparer.AddComparerOverride("Email", DoNotCompareValueComparer.Instance); _comparer.AddComparerOverride("Notifications", DoNotCompareValueComparer.Instance); //Smart Modes are disabled by default. These fields are not case sensitive var disabledByDefaultComparer = new DefaultValueValueComparer <string>("Disabled", IgnoreCaseStringsValueComparer.Instance); _comparer.AddComparerOverride("SmartMode1", disabledByDefaultComparer); _comparer.AddComparerOverride("SmartMode2", disabledByDefaultComparer); _comparer.AddComparerOverride("SmartMode3", disabledByDefaultComparer); //http prefix in URLs should be ignored var urlComparer = new DynamicValueComparer <string>( (url1, url2, settings) => url1.Trim('/').Replace(@"http://", string.Empty) == url2.Trim('/').Replace(@"http://", string.Empty)); _comparer.AddComparerOverride("SomeUrl", urlComparer); _comparer.AddComparerOverride("SomeOtherUrl", urlComparer); //DataCompression is Off by default. _comparer.AddComparerOverride("DataCompression", new DefaultValueValueComparer <string>("Off", NulableStringsValueComparer.Instance)); //ProcessTaskTimeout and TotalProcessTimeout fields have default values. _comparer.AddComparerOverride("ProcessTaskTimeout", new DefaultValueValueComparer <long>(100, DefaultValueComparer.Instance)); _comparer.AddComparerOverride("TotalProcessTimeout", new DefaultValueValueComparer <long>(500, DefaultValueComparer.Instance)); }
public void ReferenceType(object obj1, object obj2, bool expectedResult) { var comparer = new DefaultValueValueComparer <string>("none", new DefaultValueComparer()); var actualResult = comparer.Compare(obj1, obj2, new ComparisonSettings()); Assert.AreEqual(expectedResult, actualResult); }
public void ValueType(object obj1, object obj2, bool expectedResult) { var comparer = new DefaultValueValueComparer <int>(5, new DefaultValueComparer()); var actualResult = comparer.Compare(obj1, obj2, new ComparisonSettings()); Assert.AreEqual(expectedResult, actualResult); }