Esempio n. 1
0
        public void Compare_SameRowsNumericKeys_ReturnEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(ColumnType.Numeric));
            var reference = BuildDataTable(new string[] { "100", "12" }, new double[] { 0, 1 });
            var actual    = BuildDataTable(new string[] { "0100.00", "12.0" }, new double[] { 0, 1 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.Matching));
        }
Esempio n. 2
0
        public void Compare_SameKeysDifferentValuesButWithinTolerance_ReturnEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(1));
            var reference = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0, 1 });
            var actual    = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0.5, 1.5 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.Matching));
        }
Esempio n. 3
0
        public void Compare_DuplicatedRowButWithDifferentValue_ReturnNotEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue());
            var reference = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0, 1 });
            var actual    = BuildDataTable(new string[] { "Key0", "Key1", "Key2" }, new double[] { 0, 1, 2 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.NotMatching));
        }
Esempio n. 4
0
        public void Compare_DuplicatedRowInRef_ThrowException()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue());
            var reference = BuildDataTable(new string[] { "Key0", "Key1", "Key1" }, new double[] { 0, 1, 2 });
            var actual    = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0, 1 });

            //Assertion is generating an exception
            var ex = Assert.Throws <ResultSetComparerException>(delegate { comparer.Compare(reference, actual); });

            Assert.That(ex.Message, Is.StringContaining("<Key1|1>"));
            Assert.That(ex.Message, Is.StringContaining("<Key1|2>"));
        }
Esempio n. 5
0
        public void Compare_DifferentRowsBooleanKeysWithBooleanType_ReturnNotEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(ColumnType.Boolean));
            var reference = BuildDataTable(new string[] { "True" }, new double[] { 0, 1 });
            var actual    = BuildDataTableBoolean(new bool[] { false }, new double[] { 0, 1 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.NotMatching));
        }
Esempio n. 6
0
        public void Compare_DifferentRowsWithHoursNumericKeysWithDateTimeType_ReturnNotEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(ColumnType.DateTime));
            var reference = BuildDataTable(new string[] { "2015-01-17", "2015-01-18" }, new double[] { 0, 1 });
            var actual    = BuildDataTableDateTime(new DateTime[] { new DateTime(2015, 01, 17), new DateTime(2015, 01, 18, 8, 0, 0) }, new double[] { 0, 1 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.NotMatching));
        }
Esempio n. 7
0
        public void Compare_DifferentRowsNumericKeysWithNumericType_ReturnNotEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(ColumnType.Numeric));
            var reference = BuildDataTable(new string[] { "100", "12.750" }, new double[] { 0, 1 });
            var actual    = BuildDataTableNumeric(new decimal[] { new decimal(999), new decimal(12.75) }, new double[] { 0, 1 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.NotMatching));
        }
Esempio n. 8
0
        public void Compare_SameRowsBooleanKeys_ReturnEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(ColumnType.Boolean));
            var reference = BuildDataTable(new string[] { "yes", "no" }, new double[] { 0, 1 });
            var actual    = BuildDataTable(new string[] { "True", "FALSE" }, new double[] { 0, 1 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.Matching));
        }
Esempio n. 9
0
        public void Compare_SameRowsDateTimeKeys_ReturnEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue(ColumnType.DateTime));
            var reference = BuildDataTable(new string[] { "2015-01-17", "2015-01-18" }, new double[] { 0, 1 });
            var actual    = BuildDataTable(new string[] { "17/01/2015", "18-01-2015" }, new double[] { 0, 1 });

            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.Matching));
        }
Esempio n. 10
0
        public void Compare_ObjectsVersusSameTypedButWithPrecision_ReturnEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue());
            var reference = BuildDataTable(new object[] { "Key0", "Key1" }, new object[] { "0", "1.0" });
            var actual    = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0, 1 });


            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.Matching));
        }
Esempio n. 11
0
        public void Compare_SameKeysSameValuesUselessColumnNotMatching_ReturnEqual()
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValueIgnore(0));
            var reference = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0, 1 }, new string[] { "Useless0", "Useless1" });
            var actual    = BuildDataTable(new string[] { "Key0", "Key1" }, new double[] { 0, 1 }, new string[] { "0Useless0", "0Useless1" });


            //Call the method to test
            var res = comparer.Compare(reference, actual);

            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.Matching));
        }
Esempio n. 12
0
        public void Compare_DifferentLargeArrays_ReturnQuicklyDifferent(int count, int timeout)
        {
            //Buiding object used during test
            var comparer  = new ResultSetComparer(BuildSettingsKeyValue());
            var reference = BuildDataTable(RandomLargeArrayString(count, 0), RandomLargeArrayDouble(count));
            var actual    = BuildDataTable(RandomLargeArrayString(count, Convert.ToInt32(count * 0.8)), RandomLargeArrayDouble(count));

            Console.WriteLine("Starting comparaison for {0} rows", count);
            var stopWatch = new Stopwatch();

            stopWatch.Start();
            //Call the method to test
            var res = comparer.Compare(reference, actual);

            stopWatch.Stop();
            Console.WriteLine("Compaired in {0} milliseconds", stopWatch.Elapsed.TotalMilliseconds);
            //Assertion
            Assert.That(res, Is.EqualTo(ResultSetCompareResult.NotMatching));
            Assert.That(stopWatch.Elapsed, Is.LessThan(new TimeSpan(0, 0, timeout)));
        }