コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }