예제 #1
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]);
        }
예제 #2
0
파일: Divide.cs 프로젝트: havok/ngenerics
 public void Double()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(9, 3);
     vector1.Divide(3);
     Assert.AreEqual(3, vector1[0]);
     Assert.AreEqual(1, vector1[1]);
 }
예제 #3
0
        public void ExceptionLeftNull()
        {
            const VectorN vector1 = null;
            var vector2 = new VectorN(3);
            vector2.SetValues(2, 2, 2);

            var condition = vector1 > vector2;
        }
예제 #4
0
파일: Add.cs 프로젝트: GTuritto/ngenerics
 public void Double()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(4, 7);
     vector1.Add(1);
     Assert.AreEqual(5, vector1[0]);
     Assert.AreEqual(8, vector1[1]);
 }
예제 #5
0
        public void ExceptionRightNull()
        {
            var vector1 = new VectorN(3);
            vector1.SetValues(1, 1, 1);
            const VectorN vector2 = null;

            var condition = vector1 > vector2;
        }
예제 #6
0
 public void Completed()
 {
     var visitor = new ComparableFindingVisitor<double>(5);
     var vector = new VectorN(3);
     vector.SetValues(2, 5, 9);
     vector.AcceptVisitor(visitor);
     Assert.IsTrue(visitor.Found);
 }
예제 #7
0
 public void Simple()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(4, 7);
     vector1.Decrement();
     Assert.AreEqual(3, vector1[0]);
     Assert.AreEqual(6, vector1[1]);
 }
예제 #8
0
파일: Divide.cs 프로젝트: havok/ngenerics
 public void Vector()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(6, 16);
     var vector2 = new VectorN(2);
     vector2.SetValues(2, 4);
     vector1.Divide(vector2);
     Assert.AreEqual(3, vector1[0]);
     Assert.AreEqual(4, vector1[1]);
 }
예제 #9
0
        public void Simple()
        {
            var vector = new VectorN(3);
            vector.SetValues(1, -4, 3);

            Assert.AreEqual(3, vector.Maximum());
            Assert.AreEqual(1, vector[0]);
            Assert.AreEqual(-4, vector[1]);
            Assert.AreEqual(3, vector[2]);
        }
예제 #10
0
        public void Simple()
        {
            VectorBase<double> vector1 = new VectorN(2);
            vector1.SetValues(4, 7);

            vector1++;

            Assert.AreEqual(5, vector1[0]);
            Assert.AreEqual(8, vector1[1]);
        }
예제 #11
0
파일: Add.cs 프로젝트: GTuritto/ngenerics
 public void Vector()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(4, 7);
     var vector2 = new VectorN(2);
     vector2.SetValues(3, 4);
     vector1.Add(vector2);
     Assert.AreEqual(7, vector1[0]);
     Assert.AreEqual(11, vector1[1]);
 }
예제 #12
0
        public void Simple()
        {
            var vector = new VectorN(3);
            vector.SetValues(4, 3, 12);
            Assert.AreEqual(13, vector.Magnitude());

            Assert.AreEqual(4, vector[0]);
            Assert.AreEqual(3, vector[1]);
            Assert.AreEqual(12, vector[2]);
        }
        public void OperatorDecrementExample()
        {
            VectorBase<double> vector1 = new VectorN(2);
            vector1.SetValues(4, 7);

            vector1--;

            Assert.AreEqual(3, vector1[0]);
            Assert.AreEqual(6, vector1[1]);
        }
 public void OperatorDivideDoubleExample()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(4, 12);
     IVector<double> vector = vector1/2;
     Assert.AreEqual(2, vector[0]);
     Assert.AreEqual(6, vector[1]);
     Assert.AreEqual(4, vector1[0]);
     Assert.AreEqual(12, vector1[1]);
     Assert.AreNotSame(vector1, vector);
 }
예제 #15
0
파일: Clear.cs 프로젝트: GTuritto/ngenerics
        public void Simple()
        {
            var vector = new VectorN(3);
            vector.SetValues(3, 7, 8);

            vector.Clear();

            Assert.AreEqual(0, vector[0]);
            Assert.AreEqual(0, vector[1]);
            Assert.AreEqual(0, vector[0]);
        }
예제 #16
0
        public void NullObject()
        {
            var vector1 = new VectorN(3);
            vector1.SetValues(1, 2, 5);

            Assert.IsFalse(vector1.Equals((object)null));

            Assert.AreEqual(1, vector1[0]);
            Assert.AreEqual(2, vector1[1]);
            Assert.AreEqual(5, vector1[2]);
        }
예제 #17
0
        public void Simple1()
        {
            var vector1 = new VectorN(3);
            vector1.SetValues(1, 1, 1);
            var vector2 = new VectorN(3);
            vector2.SetValues(2, 2, 2);
            var vector3 = new VectorN(3);
            vector3.SetValues(2, 2, 2);

            Assert.IsFalse(vector1 > vector2);
            Assert.IsTrue(vector2 > vector1);
            Assert.IsFalse(vector2 > vector3);
        }
예제 #18
0
        public void Simple3x3()
        {
            var vector1 = new VectorN(3);
            vector1.SetValues(1, 2, 3);
            var vector2 = new VectorN(3);
            vector2.SetValues(4, 5, 6);

            var vector = vector1.CrossProduct(vector2);

            Assert.AreEqual(-3, vector[0]);
            Assert.AreEqual(6, vector[1]);
            Assert.AreEqual(-3, vector[2]);
        }
예제 #19
0
        public void IVector3x3()
        {
            var vector3D = new Vector3D(1, 2, 3);

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

            var vector = vector3D.CrossProduct(vectorN);

            Assert.AreEqual(-3, vector[0]);
            Assert.AreEqual(6, vector[1]);
            Assert.AreEqual(-3, vector[2]);
        }
예제 #20
0
        public void IVector2x2()
        {
            var vector2D = new Vector2D(2, 3);

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

            var vector = vector2D.CrossProduct(vectorN);

            Assert.AreEqual(0, vector[0]);
            Assert.AreEqual(0, vector[1]);
            Assert.AreEqual(-5, vector[2]);
        }
예제 #21
0
        public void Simple2x3()
        {
            var vector1 = new VectorN(2);
            vector1.SetValues(2, 3);
            var vector2 = new VectorN(3);
            vector2.SetValues(4, 5, 6);

            var vector = vector1.CrossProduct(vector2);

            Assert.AreEqual(18, vector[0]);
            Assert.AreEqual(-12, vector[1]);
            Assert.AreEqual(-2, vector[2]);
        }
예제 #22
0
        public void IVector2x3()
        {
            var vector2D = new Vector2D(4, 5);

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

            var vector = vector2D.CrossProduct(vectorN);

            Assert.AreEqual(15, vector[0]);
            Assert.AreEqual(-12, vector[1]);
            Assert.AreEqual(3, vector[2]);
        }
예제 #23
0
        public void Simple()
        {
            var vector = new VectorN(2);
            vector.SetValues(8, 3);

            Matrix actual = vector;

            Assert.AreEqual(2, actual.Rows);
            Assert.AreEqual(1, actual.Columns);

            Assert.AreEqual(8, actual[0, 0]);
            Assert.AreEqual(3, actual[1, 0]);
        }
예제 #24
0
        public void IVector()
        {
            var vector2D = new Vector2D(24, 32);

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

            vector2D.Divide(vectorN);

            Assert.AreEqual(3, vector2D.X);
            Assert.AreEqual(4, vector2D.Y);

            Assert.AreEqual(2, vectorN[0]);
            Assert.AreEqual(4, vectorN[1]);
        }
예제 #25
0
        public void Double()
        {
            var vector1 = new VectorN(2);
            vector1.SetValues(4, 7);

            IVector<double> vector = vector1 + 2;

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

            Assert.AreEqual(4, vector1[0]);
            Assert.AreEqual(7, vector1[1]);

            Assert.AreNotSame(vector1, vector);
        }
예제 #26
0
        public void Double()
        {
            var vector1 = new VectorN(2);
            vector1.SetValues(4, 7);

            var vector = vector1 * 2;

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

            Assert.AreEqual(4, vector1[0]);
            Assert.AreEqual(7, vector1[1]);

            Assert.AreNotSame(vector1, vector);
        }
예제 #27
0
        public void IVector()
        {
            var vector2D = new Vector2D(4, 7);

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

            var dotProduct = vector2D.DotProduct(vectorN);
            Assert.AreEqual(40, dotProduct);

            Assert.AreEqual(4, vector2D.X);
            Assert.AreEqual(7, vector2D.Y);

            Assert.AreEqual(3, vectorN[0]);
            Assert.AreEqual(4, vectorN[1]);
        }
 public void OperatorDivideVectorExample()
 {
     var vector1 = new VectorN(2);
     vector1.SetValues(4, 8);
     var vector2 = new VectorN(2);
     vector2.SetValues(2, 2);
     IVector<double> vector = vector1/vector2;
     Assert.AreEqual(2, vector[0]);
     Assert.AreEqual(4, vector[1]);
     Assert.AreEqual(4, vector1[0]);
     Assert.AreEqual(8, vector1[1]);
     Assert.AreEqual(2, vector2[0]);
     Assert.AreEqual(2, vector2[1]);
     Assert.AreNotSame(vector1, vector);
     Assert.AreNotSame(vector2, vector);
 }
예제 #29
0
        public void Simple()
        {
            var vector1 = new VectorN(2);
            vector1.SetValues(4, 7);

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

            var dotProduct = vector1.DotProduct(vector2);
            Assert.AreEqual(40, dotProduct);

            Assert.AreEqual(4, vector1[0]);
            Assert.AreEqual(7, vector1[1]);

            Assert.AreEqual(3, vector2[0]);
            Assert.AreEqual(4, vector2[1]);
        }
예제 #30
0
파일: Subtract.cs 프로젝트: havok/ngenerics
        public void IVector()
        {
            var vector3D = new Vector3D(1, 2, 9);

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

            vector3D.Subtract(vectorN);

            Assert.AreEqual(-7, vector3D.X);
            Assert.AreEqual(-2, vector3D.Y);
            Assert.AreEqual(7, vector3D.Z);

            Assert.AreEqual(8, vectorN[0]);
            Assert.AreEqual(4, vectorN[1]);
            Assert.AreEqual(2, vectorN[2]);
        }