Ejemplo n.º 1
0
        public void OuterProduct()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Matrix result = Vector.OuterProduct(a, b);

            // Assert
            Assert.AreEqual(46.7, result.GetValue(0, 0));
            Assert.AreEqual(1000, result.GetValue(1, 0));
            Assert.AreEqual(-.044, result.GetValue(2, 0));
            Assert.AreEqual(200.1, result.GetValue(3, 0));
            Assert.AreEqual((-2.335).ToString(), result.GetValue(0, 1).ToString());
            Assert.AreEqual(-50, result.GetValue(1, 1));
            Assert.AreEqual(.0022, result.GetValue(2, 1));
            Assert.AreEqual(-10.005, result.GetValue(3, 1));
            Assert.AreEqual((3138.24).ToString(), result.GetValue(0, 2).ToString());
            Assert.AreEqual(67200, result.GetValue(1, 2));
            Assert.AreEqual(-2.9568, result.GetValue(2, 2));
            Assert.AreEqual(13446.72, result.GetValue(3, 2));
            Assert.AreEqual(186800, result.GetValue(0, 3));
            Assert.AreEqual(4000000, result.GetValue(1, 3));
            Assert.AreEqual(-176, result.GetValue(2, 3));
            Assert.AreEqual(800400, result.GetValue(3, 3));
        }
Ejemplo n.º 2
0
        public void MatrixMultiplication()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Matrix b = MatrixVectorData.ArrangeMatrixB_4_4();

            // Act
            Matrix c = Matrix.Multiplication(a, b, 1);

            // Assert
            Assert.AreEqual(154203.795, c.GetValue(0, 0));
            Assert.AreEqual(226.256, c.GetValue(0, 1));
            Assert.AreEqual(double.NaN, c.GetValue(0, 2));
            Assert.AreEqual(double.NegativeInfinity, c.GetValue(0, 3));
            Assert.AreEqual(59943.45, c.GetValue(1, 0));
            Assert.AreEqual(147.216, c.GetValue(1, 1));
            Assert.AreEqual(double.NaN, c.GetValue(1, 2));
            Assert.AreEqual(double.NegativeInfinity, c.GetValue(1, 3));
            Assert.AreEqual(double.NegativeInfinity, c.GetValue(2, 0));
            Assert.AreEqual(double.NaN, c.GetValue(2, 1));
            Assert.AreEqual(double.NaN, c.GetValue(2, 2));
            Assert.AreEqual(double.NegativeInfinity, c.GetValue(2, 3));
            Assert.AreEqual(double.NaN, c.GetValue(3, 0));
            Assert.AreEqual(double.NaN, c.GetValue(3, 1));
            Assert.AreEqual(double.NaN, c.GetValue(3, 2));
            Assert.AreEqual(double.NaN, c.GetValue(3, 3));
        }
Ejemplo n.º 3
0
        public void AddOperator()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Matrix b = MatrixVectorData.ArrangeMatrixB_4_4();

            // Act
            a.Add(b);

            // Assert
            Assert.AreEqual(-19.8, a.GetValue(0, 0));
            Assert.AreEqual(11.45, a.GetValue(1, 0));
            Assert.AreEqual(double.PositiveInfinity, a.GetValue(2, 0));
            Assert.AreEqual(double.NegativeInfinity, a.GetValue(3, 0));
            Assert.AreEqual(1.1, a.GetValue(0, 1));
            Assert.AreEqual(13.24, a.GetValue(1, 1));
            Assert.AreEqual(2.34, a.GetValue(2, 1));
            Assert.AreEqual(12, a.GetValue(3, 1));
            Assert.AreEqual(double.NaN, a.GetValue(0, 2));
            Assert.AreEqual(14.4, a.GetValue(1, 2));
            Assert.AreEqual(-6.93, a.GetValue(2, 2));
            Assert.AreEqual(double.NaN, a.GetValue(3, 2));
            Assert.AreEqual(double.NegativeInfinity, a.GetValue(0, 3));
            Assert.AreEqual(7.79, a.GetValue(1, 3));
            Assert.AreEqual(14, a.GetValue(2, 3));
            Assert.AreEqual(91.666666, a.GetValue(3, 3));
        }
Ejemplo n.º 4
0
        public void AddMatrixStaticSameSize()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Matrix b = MatrixVectorData.ArrangeMatrixB_4_4();

            // Act
            Matrix c = Matrix.Add(a, b);

            // Assert
            Assert.AreEqual(c.GetValue(0, 0), -19.8);
            Assert.AreEqual(c.GetValue(1, 0), 11.45);
            Assert.AreEqual(c.GetValue(2, 0), double.PositiveInfinity);
            Assert.AreEqual(c.GetValue(3, 0), double.NegativeInfinity);
            Assert.AreEqual(c.GetValue(0, 1), 1.1);
            Assert.AreEqual(c.GetValue(1, 1), 13.24);
            Assert.AreEqual(c.GetValue(2, 1), 2.34);
            Assert.AreEqual(c.GetValue(3, 1), 12);
            Assert.AreEqual(c.GetValue(0, 2), double.NaN);
            Assert.AreEqual(c.GetValue(1, 2), 14.4);
            Assert.AreEqual(c.GetValue(2, 2), -6.93);
            Assert.AreEqual(c.GetValue(3, 2), double.NaN);
            Assert.AreEqual(c.GetValue(0, 3), double.NegativeInfinity);
            Assert.AreEqual(c.GetValue(1, 3), 7.79);
            Assert.AreEqual(c.GetValue(2, 3), 14);
            Assert.AreEqual(c.GetValue(3, 3), 91.666666);
        }
Ejemplo n.º 5
0
        public void Transpose()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a = a.Transpose();

            // Assert
            Assert.AreEqual(4.2, a.GetValue(0, 0));
            Assert.AreEqual(1.1, a.GetValue(1, 0));
            Assert.AreEqual(6.8, a.GetValue(2, 0));
            Assert.AreEqual(17.14, a.GetValue(3, 0));
            Assert.AreEqual(8, a.GetValue(0, 1));
            Assert.AreEqual(9, a.GetValue(1, 1));
            Assert.AreEqual(12.4, a.GetValue(2, 1));
            Assert.AreEqual(6.67, a.GetValue(3, 1));
            Assert.AreEqual(double.PositiveInfinity, a.GetValue(0, 2));
            Assert.AreEqual(0, a.GetValue(1, 2));
            Assert.AreEqual(-7, a.GetValue(2, 2));
            Assert.AreEqual(14, a.GetValue(3, 2));
            Assert.AreEqual(double.NegativeInfinity, a.GetValue(0, 3));
            Assert.AreEqual(0, a.GetValue(1, 3));
            Assert.AreEqual(double.NaN, a.GetValue(2, 3));
            Assert.AreEqual(85, a.GetValue(3, 3));
        }
Ejemplo n.º 6
0
        public void SubtractMatrixINull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixD_3_3();

            // Act
            a.Subtract(null);
        }
Ejemplo n.º 7
0
        public void AddVectorNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector.Add(a, null);
        }
Ejemplo n.º 8
0
        public void SetValueOutOfIndex()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.SetValue(50, 5, 0);
        }
Ejemplo n.º 9
0
        public void GetValueNegativeIndex()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.GetValue(0, -1);
        }
Ejemplo n.º 10
0
        public void GetRowNegativeIndex()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.GetRow(-1);
        }
Ejemplo n.º 11
0
        public void GetRowOutOfBounds()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.GetRow(5);
        }
Ejemplo n.º 12
0
        public void DotProductNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector.DotProduct(a, null);
        }
Ejemplo n.º 13
0
        public void SetValueNegativeIndex()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorD_3_Row();

            // Act
            a.SetValue(-2, 2);
        }
Ejemplo n.º 14
0
        public void SetValueOutOfBounds()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorD_3_Row();

            // Act
            a.SetValue(5, 2);
        }
Ejemplo n.º 15
0
        public void GetValueNegativeIndex()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            a.GetValue(-1);
        }
Ejemplo n.º 16
0
        public void GetValueOutOfBounds()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            a.GetValue(5);
        }
Ejemplo n.º 17
0
        public void MultiplyVectorNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector.Multiply(a, null);
        }
Ejemplo n.º 18
0
        public void SubtractMatrixStaticINull()
        {
            // Arrange
            Matrix b = MatrixVectorData.ArrangeMatrixD_3_3();

            // Act
            Matrix.Subtract(null, b);
        }
Ejemplo n.º 19
0
        public void SubtractMatrixStaticJNull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixD_3_3();

            // Act
            Matrix.Subtract(a, null);
        }
Ejemplo n.º 20
0
        public void DotProductNullMatrix()
        {
            // Arrange
            Vector b = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector c = Matrix.DotProduct(null, b);
        }
Ejemplo n.º 21
0
        public void AddMatrixStaticJNull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            Matrix result = Matrix.Add(a, null);
        }
Ejemplo n.º 22
0
        public void DotProductTwoNullMatrix()
        {
            // Arrange
            Vector b = MatrixVectorData.ArrangeVectorD_3_Row();

            // Act
            Vector c = Matrix.DotProduct(b, null);
        }
Ejemplo n.º 23
0
        public void GetValueOutOfBounds()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.GetValue(5, 5);
        }
Ejemplo n.º 24
0
        public void DotProductTwoNullVector()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            Vector c = Matrix.DotProduct(null, a);
        }
Ejemplo n.º 25
0
        public void SetColumnNull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.SetColumn((Vector)null, 1);
        }
Ejemplo n.º 26
0
        public void OuterProductNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.OuterProduct(a, null);
        }
Ejemplo n.º 27
0
        public void SetValueNegativeIndex()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.SetValue(-1, 0, 2);
        }
Ejemplo n.º 28
0
        public void AddMatrixINull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.Add(null);
        }
Ejemplo n.º 29
0
        public void OuterProductNullVector()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector.OuterProduct(null, a);
        }
Ejemplo n.º 30
0
        public void SubtractVectorNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.Subtract(a, null);
        }