Ejemplo n.º 1
0
        public static void DoColumn3dTest(Column3dTest column3dTest, double[, ,] actual)
        {
#if DEBUG_COMPARISON
            Func <double, double, bool> test = column3dTest.Tolerance != null ?
                                               (Func <double, double, bool>)((a, e) => column3dTest.Tolerance.Equals(a, e)) :
                                               (Func <double, double, bool>)((a, e) => a.Equals(e));

            var count1 = actual.GetLength(0);
            var count2 = actual.GetLength(1);
            var count3 = actual.GetLength(2);

            var tests = new Tuple <double, double, bool> [count1, count2, count3];

            for (var ii = 0; ii < count1; ii++)
            {
                for (var jj = 0; jj < count2; jj++)
                {
                    for (var kk = 0; kk < count3; kk++)
                    {
                        var a = actual[ii, jj, kk];
                        var e = column3dTest.Expected[ii, jj, kk];

                        tests[ii, jj, kk] = Tuple.Create(a, e, test(a, e));
                    }
                }
            }

            foreach (var t in tests)
            {
                Assert.IsTrue(t.Item3);
            }
#else
            if (column3dTest.Tolerance != null)
            {
                var count1 = actual.GetLength(0);
                var count2 = actual.GetLength(1);
                var count3 = actual.GetLength(2);

                for (var ii = 0; ii < count1; ii++)
                {
                    for (var jj = 0; jj < count2; jj++)
                    {
                        for (var kk = 0; kk < count3; kk++)
                        {
                            Assert.IsTrue(column3dTest.Tolerance.Equals(actual[ii, jj, kk], column3dTest.Expected[ii, jj, kk]));
                        }
                    }
                }
            }
            else
            {
                Assert.That(actual, Is.EquivalentTo(column3dTest.Expected));
            }
#endif
        }
        public static void DoColumn3dTest(Column3dTest column3dTest, double[, ,] actual)
        {
#if DEBUG_COMPARISON
            Func<double, double, bool> test = column3dTest.Tolerance != null ?
                (Func<double, double, bool>)((a, e) => column3dTest.Tolerance.Equals(a, e)) :
                (Func<double, double, bool>)((a, e) => a.Equals(e));

            var count1 = actual.GetLength(0);
            var count2 = actual.GetLength(1);
            var count3 = actual.GetLength(2);

            var tests = new Tuple<double, double, bool>[count1, count2, count3];

            for (var ii = 0; ii < count1; ii++)
            {
                for (var jj = 0; jj < count2; jj++)
                {
                    for (var kk = 0; kk < count3; kk++)
                    {
                        var a = actual[ii, jj, kk];
                        var e = column3dTest.Expected[ii, jj, kk];

                        tests[ii, jj, kk] = Tuple.Create(a, e, test(a, e));
                    }
                }
            }

            foreach (var t in tests)
            {
                Assert.IsTrue(t.Item3);
            }
#else
            if (column3dTest.Tolerance != null)
            {
                var count1 = actual.GetLength(0);
                var count2 = actual.GetLength(1);
                var count3 = actual.GetLength(2);

                for (var ii = 0; ii < count1; ii++)
                {
                    for (var jj = 0; jj < count2; jj++)
                    {
                        for (var kk = 0; kk < count3; kk++)
                        {
                            Assert.IsTrue(column3dTest.Tolerance.Equals(actual[ii, jj, kk], column3dTest.Expected[ii, jj, kk]));
                        }
                    }
                }
            }
            else
            {
                Assert.That(actual, Is.EquivalentTo(column3dTest.Expected));
            }
#endif
        }