Beispiel #1
0
        public void CanCheckValuesForEquality()
        {
            const short int16Value = 100;
            const int   int32Value = 100;

            const double doubleValue        = 1.111;
            const double equalDoubleValue   = 1.11100000000001;
            const double unEqualDoubleValue = 1.1110000000001;

            const float floatValue        = 1.111f;
            const float equalFloatValue   = 1.111000001f;
            const float unequalFloatValue = 1.11100001f;

            Assert.True(FieldUtils.AreValuesEqual(int16Value, int32Value));
            Assert.True(FieldUtils.AreValuesEqual(int32Value, int16Value));
            Assert.True(FieldUtils.AreValuesEqual(doubleValue, floatValue));
            Assert.True(FieldUtils.AreValuesEqual(floatValue, doubleValue));
            Assert.True(FieldUtils.AreValuesEqual(floatValue, equalFloatValue));
            Assert.True(FieldUtils.AreValuesEqual(doubleValue, equalDoubleValue));

            Assert.False(FieldUtils.AreValuesEqual(floatValue, unequalFloatValue));
            Assert.False(FieldUtils.AreValuesEqual(doubleValue, unEqualDoubleValue));

            Assert.False(FieldUtils.AreValuesEqual("aa", "AA"));
            Assert.True(FieldUtils.AreValuesEqual("aa", "AA", caseSensitive: false));
        }
Beispiel #2
0
            public bool AreValuesEqual([NotNull] IRow row1, int tableIndex1, object value1,
                                       [NotNull] IRow row2, int tableIndex2, object value2,
                                       bool caseSensitive)
            {
                object transformedValue1 = GetTransformedValue(row1, value1);
                object transformedValue2 = GetTransformedValue(row2, value2);

                bool equal = FieldUtils.AreValuesEqual(transformedValue1,
                                                       transformedValue2,
                                                       caseSensitive);

                if (equal)
                {
                    return(true);
                }

                // check if the specific difference is allowed
                return(_allowedDifferenceCondition != null &&
                       _allowedDifferenceCondition.IsFulfilled(row1, tableIndex1,
                                                               transformedValue1,
                                                               row2, tableIndex2,
                                                               transformedValue2));
            }