Пример #1
0
        public static void TestAngleTo()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            Tuple3ds b = new Tuple3ds(4, 5, 6);
            double angle = a.AngleTo(b);

            // Execute test
            Assert.AreEqual(0.225726128552734, angle, delta);
        }
Пример #2
0
        public static void TestBinaryOperatorDistance()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            Tuple3ds b = new Tuple3ds(4, 5, 6);
            double c = a % b;

            // Execute test
            Assert.AreEqual(5.19615242270663, c, delta);
        }
Пример #3
0
        public static void TestBinaryOperatorCrossProductWithITuple()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            ITuple b = new Tuple3ds(4, 5, 6);
            Tuple3ds c = a ^ b;

            // Execute test
            Assert.AreEqual(-3, c.x, delta);
            Assert.AreEqual(6, c.y, delta);
            Assert.AreEqual(-3, c.z, delta);
        }
Пример #4
0
        public static void TestToTuple3ds()
        {
            // Prepare test
            Tuple3dc tuple3dc = new Tuple3dc(1.1, 2.2, 3.5);
            Tuple3ds tuple3ds = new Tuple3ds(1.1, 2.2, 3.5);

            Tuple3ds fromTuple3dc = tuple3dc.ToTuple3ds();
            Tuple3ds fromTuple3ds = tuple3ds.ToTuple3ds();

            // Execute test
            Assert.AreEqual(1.1, fromTuple3dc.x, delta);
            Assert.AreEqual(2.2, fromTuple3dc.y, delta);
            Assert.AreEqual(3.5, fromTuple3dc.z, delta);

            Assert.AreEqual(1.1, fromTuple3ds.x, delta);
            Assert.AreEqual(2.2, fromTuple3ds.y, delta);
            Assert.AreEqual(3.5, fromTuple3ds.z, delta);
        }
Пример #5
0
        public static void TestUnaryOperatorPlus()
        {
            // Prepare test
            Tuple3ds tuple = new Tuple3ds(1, 2, 3);
            tuple = +tuple;

            // Execute test
            Assert.AreEqual(1, tuple.x);
            Assert.AreEqual(2, tuple.y);
            Assert.AreEqual(3, tuple.z);
        }
Пример #6
0
        public static void TestUnaryOperatorNormalize()
        {
            // Prepare test
            Tuple3ds tuple = new Tuple3ds(1, 2, 3);
            Tuple3ds normalizedTuple = ~tuple;

            // Execute test
            Assert.AreEqual(0.267261241912424, normalizedTuple.x, delta);
            Assert.AreEqual(0.534522483824849, normalizedTuple.y, delta);
            Assert.AreEqual(0.801783725737273, normalizedTuple.z, delta);
        }
Пример #7
0
        public static void TestUnaryOperatorMagnitude()
        {
            // Prepare test
            Tuple3ds tuple = new Tuple3ds(1, 2, 3);
            double magnitude = !tuple;

            // Execute test
            Assert.AreEqual(3.74165738677394, magnitude, delta);
        }
Пример #8
0
        public static void TestEpsilonEquals2D()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            Tuple3ds b = new Tuple3ds(1.05, 2.05, 3.05);
            Tuple3ds c = new Tuple3ds(1, 2, 3.20);
            Tuple3ds d = new Tuple3ds(1, 2.20, 3.20);

            bool equalsAB = a.EpsilonEquals2D(b, 0.1);
            bool equalsAC = a.EpsilonEquals2D(c, 0.1);
            bool equalsAD = a.EpsilonEquals2D(d, 0.1);

            // Execute test
            Assert.AreEqual(true, equalsAB);
            Assert.AreEqual(true, equalsAC);
            Assert.AreEqual(false, equalsAD);
        }
Пример #9
0
        public static void TestConstructor()
        {
            // Prepare test
            Tuple3ds tuple = new Tuple3ds(1, 2, 3);

            // Execute test
            Assert.AreEqual(1, tuple.x);
            Assert.AreEqual(2, tuple.y);
            Assert.AreEqual(3, tuple.z);
        }
Пример #10
0
        public static void TestBinaryOperatorScale()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            Tuple3ds b = a * 4.7;

            // Execute test
            Assert.AreEqual(4.7, b.x, delta);
            Assert.AreEqual(9.4, b.y, delta);
            Assert.AreEqual(14.1, b.z, delta);
        }
Пример #11
0
        public static void TestBinaryOperatorPlusWithITuple()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            ITuple b = new Tuple3ds(4, 5, 6);
            Tuple3ds c = a + b;

            // Execute test
            Assert.AreEqual(5, c.x, delta);
            Assert.AreEqual(7, c.y, delta);
            Assert.AreEqual(9, c.z, delta);
        }
Пример #12
0
        public static void TestBinaryOperatorMinus()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            Tuple3ds b = new Tuple3ds(4, 5, 6);
            Tuple3ds c = a - b;

            // Execute test
            Assert.AreEqual(-3, c.x, delta);
            Assert.AreEqual(-3, c.y, delta);
            Assert.AreEqual(-3, c.z, delta);
        }
Пример #13
0
        public static void TestBinaryOperatorDotProductWithITuple()
        {
            // Prepare test
            Tuple3ds a = new Tuple3ds(1, 2, 3);
            ITuple b = new Tuple3ds(4, 5, 6);
            double c = a * b;

            // Execute test
            Assert.AreEqual(32, c, delta);
        }