예제 #1
0
        public void Simple()
        {
            var vector1 = new Vector3D(1, -4, 3);

            Assert.AreEqual(1, vector1.MinimumIndex());

            Assert.AreEqual(1, vector1.X);
            Assert.AreEqual(-4, vector1.Y);
            Assert.AreEqual(3, vector1.Z);

            var vector2 = new Vector3D(1, 4, 3);

            Assert.AreEqual(0, vector2.MinimumIndex());

            Assert.AreEqual(1, vector2.X);
            Assert.AreEqual(4, vector2.Y);
            Assert.AreEqual(3, vector2.Z);

            var vector3 = new Vector3D(1, 4, -3);

            Assert.AreEqual(2, vector3.MinimumIndex());

            Assert.AreEqual(1, vector3.X);
            Assert.AreEqual(4, vector3.Y);
            Assert.AreEqual(-3, vector3.Z);

            var vector4 = new Vector3D(6, 4, -3);

            Assert.AreEqual(2, vector4.MinimumIndex());

            Assert.AreEqual(6, vector4.X);
            Assert.AreEqual(4, vector4.Y);
            Assert.AreEqual(-3, vector4.Z);
        }
예제 #2
0
 public void AcceptExample()
 {
     var visitor = new CountingVisitor<double>();
     var vector3D = new Vector3D();
     vector3D.AcceptVisitor(visitor);
     Assert.AreEqual(3, visitor.Count);
 }
        public void ExceptionLeftNull()
        {
            const Vector3D vector1 = null;
            var vector2 = new Vector3D(2, 2, 2);

            var condition = vector1 >= vector2;
        }
예제 #4
0
        public void IVector()
        {
            var vector3D = new Vector3D(1, 2, 8);

            var vectorN = new VectorN(3);
            vectorN.SetValues(3, 4, 2);

            var matrix = vector3D.Multiply(vectorN);

            Assert.AreEqual(3, matrix.Columns);
            Assert.AreEqual(3, matrix.Rows);

            Assert.AreEqual(3, matrix[0, 0]);
            Assert.AreEqual(4, matrix[0, 1]);
            Assert.AreEqual(2, matrix[0, 2]);

            Assert.AreEqual(6, matrix[1, 0]);
            Assert.AreEqual(8, matrix[1, 1]);
            Assert.AreEqual(4, matrix[1, 2]);

            Assert.AreEqual(24, matrix[2, 0]);
            Assert.AreEqual(32, matrix[2, 1]);
            Assert.AreEqual(16, matrix[2, 2]);

            Assert.AreEqual(1, vector3D.X);
            Assert.AreEqual(2, vector3D.Y);
            Assert.AreEqual(8, vector3D.Z);

            Assert.AreEqual(3, vectorN[0]);
            Assert.AreEqual(4, vectorN[1]);
            Assert.AreEqual(2, vectorN[2]);
        }
예제 #5
0
        public void Simple()
        {
            var vector1 = new Vector3D(1, -4, 3);
            Assert.AreEqual(0, vector1.AbsoluteMinimumIndex());
            Assert.AreEqual(1, vector1.X);
            Assert.AreEqual(-4, vector1.Y);
            Assert.AreEqual(3, vector1.Z);

            var vector2 = new Vector3D(7, -4, 3);
            Assert.AreEqual(2, vector2.AbsoluteMinimumIndex());
            Assert.AreEqual(7, vector2.X);
            Assert.AreEqual(-4, vector2.Y);
            Assert.AreEqual(3, vector2.Z);

            var vector3 = new Vector3D(7, -4, 8);
            Assert.AreEqual(1, vector3.AbsoluteMinimumIndex());
            Assert.AreEqual(7, vector3.X);
            Assert.AreEqual(-4, vector3.Y);
            Assert.AreEqual(8, vector3.Z);

            var vector4 = new Vector3D(-8, 9, -7);
            Assert.AreEqual(2, vector4.AbsoluteMinimumIndex());
            Assert.AreEqual(-8, vector4.X);
            Assert.AreEqual(9, vector4.Y);
            Assert.AreEqual(-7, vector4.Z);
        }
예제 #6
0
파일: Index.cs 프로젝트: GTuritto/ngenerics
        public void Simple()
        {
            var vector = new Vector3D();
            Assert.AreEqual(3, vector.DimensionCount);

            Assert.AreEqual(0, vector.X);
            Assert.AreEqual(0, vector.Y);
            Assert.AreEqual(0, vector.Z);

            Assert.AreEqual(0, vector[0]);
            Assert.AreEqual(0, vector[1]);
            Assert.AreEqual(0, vector[2]);

            vector[0] = 4;
            vector[1] = 5;
            vector[2] = -2;

            Assert.AreEqual(4, vector.X);
            Assert.AreEqual(5, vector.Y);
            Assert.AreEqual(-2, vector.Z);

            Assert.AreEqual(4, vector[0]);
            Assert.AreEqual(5, vector[1]);
            Assert.AreEqual(-2, vector[2]);
        }
예제 #7
0
        public void ExceptionRightNull()
        {
            var vector1 = new Vector3D(2, 2, 2);
            const Vector3D vector2 = null;

            var condition = vector1 > vector2;
        }
예제 #8
0
        public void Simple()
        {
            var vector = new Vector3D(23, -21, 4);

            vector.Normalize();
            Assert.AreEqual(1, vector.Magnitude());
        }
예제 #9
0
        public void Vector()
        {
            var vector3D1 = new Vector3D(4, 7, 2);

            var vector3D2 = new Vector3D(3, 4, 9);

            var matrix = vector3D1 * vector3D2;
            Assert.AreEqual(3, matrix.Columns);
            Assert.AreEqual(3, matrix.Rows);

            Assert.AreEqual(12, matrix[0, 0]);
            Assert.AreEqual(16, matrix[0, 1]);
            Assert.AreEqual(36, matrix[0, 2]);

            Assert.AreEqual(21, matrix[1, 0]);
            Assert.AreEqual(28, matrix[1, 1]);
            Assert.AreEqual(63, matrix[1, 2]);

            Assert.AreEqual(6, matrix[2, 0]);
            Assert.AreEqual(8, matrix[2, 1]);
            Assert.AreEqual(18, matrix[2, 2]);

            Assert.AreEqual(4, vector3D1.X);
            Assert.AreEqual(7, vector3D1.Y);
            Assert.AreEqual(2, vector3D1.Z);

            Assert.AreEqual(3, vector3D2.X);
            Assert.AreEqual(4, vector3D2.Y);
            Assert.AreEqual(9, vector3D2.Z);
        }
예제 #10
0
 public void AddDoubleExample()
 {
     var vector = new Vector3D(4, 7, 3);
     vector.Add(1);
     Assert.AreEqual(5, vector.X);
     Assert.AreEqual(8, vector.Y);
     Assert.AreEqual(4, vector.Z);
 }
예제 #11
0
 public void Simple()
 {
     var vector = new Vector3D { X = 1, Y = (-4), Z = 3 };
     Assert.AreEqual(1, vector.AbsoluteMinimum());
     Assert.AreEqual(1, vector.X);
     Assert.AreEqual(-4, vector.Y);
     Assert.AreEqual(3, vector.Z);
 }
예제 #12
0
 public void Simple()
 {
     var vector3D = new Vector3D();
     Assert.AreEqual(3, vector3D.DimensionCount);
     Assert.AreEqual(0, vector3D.X);
     Assert.AreEqual(0, vector3D.Y);
     Assert.AreEqual(0, vector3D.Z);
 }
예제 #13
0
 public void Simple()
 {
     var vector = new Vector3D(1, -4, 3);
     Assert.AreEqual(4, vector.AbsoluteMaximum());
     Assert.AreEqual(1, vector.X);
     Assert.AreEqual(-4, vector.Y);
     Assert.AreEqual(3, vector.Z);
 }
예제 #14
0
 public void Simple()
 {
     var vector3D1 = new Vector3D(4, 7, 8);
     var vector = vector3D1 + 2;
     Assert.AreEqual(6, vector.X);
     Assert.AreEqual(9, vector.Y);
     Assert.AreEqual(10, vector.Z);
     Assert.AreNotSame(vector3D1, vector);
 }
예제 #15
0
        public void Simple()
        {
            var vector3D = new Vector3D(2, 3, 5);

            Assert.AreEqual(30, vector3D.Product());
            Assert.AreEqual(2, vector3D.X);
            Assert.AreEqual(3, vector3D.Y);
            Assert.AreEqual(5, vector3D.Z);
        }
예제 #16
0
        public void Simple()
        {
            var vector3D = new Vector3D(4, 3, 12);

            Assert.AreEqual(13, vector3D.Magnitude());
            Assert.AreEqual(4, vector3D.X);
            Assert.AreEqual(3, vector3D.Y);
            Assert.AreEqual(12, vector3D.Z);
        }
예제 #17
0
        public void Simple()
        {
            var vector1 = new Vector3D(1, 1, 1);
            var vector2 = new Vector3D(2, 2, 2);
            var vector3 = new Vector3D(2, 2, 2);

            Assert.IsFalse(vector1 > vector2);
            Assert.IsTrue(vector2 > vector1);
            Assert.IsFalse(vector2 > vector3);
        }
예제 #18
0
파일: Sum.cs 프로젝트: havok/ngenerics
        public void Simple()
        {
            var vector = new Vector3D(2, 3, 5);

            Assert.AreEqual(10, vector.Sum());

            Assert.AreEqual(2, vector.X);
            Assert.AreEqual(3, vector.Y);
            Assert.AreEqual(5, vector.Z);
        }
예제 #19
0
        public void Simple()
        {
            var vector = new Vector3D(1, 2, 34);

            vector.SetValues(4, 6, 8);

            Assert.AreEqual(4, vector.X);
            Assert.AreEqual(6, vector.Y);
            Assert.AreEqual(8, vector.Z);
        }
예제 #20
0
        public void Simple()
        {
            var vector3D = new Vector3D(4, 7, 8);

            vector3D--;

            Assert.AreEqual(3, vector3D.X);
            Assert.AreEqual(6, vector3D.Y);
            Assert.AreEqual(7, vector3D.Z);
        }
예제 #21
0
        public void OperatorDivideDoubleExample()
        {
            var vector3D1 = new Vector3D(4, 12, 8);

            var vector = vector3D1/2;

            Assert.AreEqual(2, vector.X);
            Assert.AreEqual(6, vector.Y);
            Assert.AreEqual(4, vector.Z);
        }
예제 #22
0
        public void Simple()
        {
            var vector3D = new Vector3D(4, 7, 8);

            vector3D++;

            Assert.AreEqual(5, vector3D.X);
            Assert.AreEqual(8, vector3D.Y);
            Assert.AreEqual(9, vector3D.Z);
        }
예제 #23
0
        public void Simple()
        {
            var vector = new Vector3D(4, 7, 9);

            vector.Decrement();

            Assert.AreEqual(3, vector.X);
            Assert.AreEqual(6, vector.Y);
            Assert.AreEqual(8, vector.Z);
        }
예제 #24
0
        public void Double()
        {
            var vector = new Vector3D(9, 3, 18);

            vector.Divide(3);

            Assert.AreEqual(3, vector.X);
            Assert.AreEqual(1, vector.Y);
            Assert.AreEqual(6, vector.Z);
        }
예제 #25
0
파일: Add.cs 프로젝트: havok/ngenerics
 public void Double()
 {
     var vector = new Vector3D(4, 7, 3)
                      {
                          1
                      };
     Assert.AreEqual(5, vector.X);
     Assert.AreEqual(8, vector.Y);
     Assert.AreEqual(4, vector.Z);
 }
예제 #26
0
파일: Subtract.cs 프로젝트: havok/ngenerics
        public void Double()
        {
            var vector = new Vector3D(1, 2, -2);

            vector.Subtract(2);

            Assert.AreEqual(-1, vector.X);
            Assert.AreEqual(0, vector.Y);
            Assert.AreEqual(-4, vector.Z);
        }
예제 #27
0
파일: Clear.cs 프로젝트: havok/ngenerics
        public void Simple()
        {
            var vector = new Vector3D(3, 7, 8);

            vector.Clear();

            Assert.AreEqual(0, vector.X);
            Assert.AreEqual(0, vector.Y);
            Assert.AreEqual(0, vector.Z);
        }
예제 #28
0
        public void Double()
        {
            var vector = new Vector3D(1, 2, 9);

            vector.Multiply(2);

            Assert.AreEqual(2, vector.X);
            Assert.AreEqual(4, vector.Y);
            Assert.AreEqual(18, vector.Z);
        }
예제 #29
0
파일: Negate.cs 프로젝트: havok/ngenerics
        public void Simple()
        {
            var vector = new Vector3D(1, 2, -5);

            vector.Negate();

            Assert.AreEqual(-1, vector.X);
            Assert.AreEqual(-2, vector.Y);
            Assert.AreEqual(5, vector.Z);
        }
예제 #30
0
        public void OperatorDecrementExample()
        {
            var vector3D = new Vector3D(4, 7, 8);

            vector3D--;

            Assert.AreEqual(3, vector3D.X);
            Assert.AreEqual(6, vector3D.Y);
            Assert.AreEqual(7, vector3D.Z);
        }