Exemplo n.º 1
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);
        }
Exemplo 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));
        }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
0
        public void AddMatrixStaticJNull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            Matrix result = Matrix.Add(a, null);
        }
Exemplo n.º 6
0
        public void SetValueOutOfIndex()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.SetValue(50, 5, 0);
        }
Exemplo n.º 7
0
        public void SetColumnNull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.SetColumn((Vector)null, 1);
        }
Exemplo n.º 8
0
        public void GetValueOutOfBounds()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

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

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

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

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

            // Act
            a.GetRow(5);
        }
Exemplo n.º 13
0
        public void AddMatrixINull()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.Add(null);
        }
Exemplo n.º 14
0
        public void SetValueNegativeIndex()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            a.SetValue(-1, 0, 2);
        }
Exemplo n.º 15
0
        public void DotProductIncorrectSize()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector c = Matrix.DotProduct(a, b);
        }
Exemplo n.º 16
0
        public void DotProductIncorrectAlignment()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector c = Matrix.DotProduct(a, b);
        }
Exemplo n.º 17
0
        public void AddMatrixStaticUnevenSizes()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixC_4_2();
            Matrix c = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            Matrix result = Matrix.Add(a, c);
        }
Exemplo n.º 18
0
        public void DotProductTwoIncorrectAlignment()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector c = Matrix.DotProduct(b, a);
        }
Exemplo n.º 19
0
        public void SetColumnUnevenSize()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            a.SetColumn(b, 1);
        }
Exemplo n.º 20
0
        public void DivideOperator()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Matrix b = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            var c = a / b;
        }
Exemplo n.º 21
0
        public void DotProductTwoIncorrectSize()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorD_3_Row();

            // Act
            Vector c = Matrix.DotProduct(b, a);
        }
Exemplo n.º 22
0
        public void AddMatrixUnevenSizes()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Matrix c = MatrixVectorData.ArrangeMatrixC_4_2();

            // Act
            a.Add(c);
        }
Exemplo n.º 23
0
        public void GetValue()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            double result = a.GetValue(3, 2);

            // Assert
            Assert.AreEqual(double.NaN, result);
        }
Exemplo n.º 24
0
        public void GetRow()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            Vector result = a.GetRow(1);

            // Assert
            Assert.AreEqual(8, result.GetValue(0));
            Assert.AreEqual(9, result.GetValue(1));
            Assert.AreEqual(12.4, result.GetValue(2));
            Assert.AreEqual(6.67, result.GetValue(3));
        }
Exemplo n.º 25
0
        public void GetColumn()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();

            // Act
            Vector result = a.GetColumn(0);

            // Assert
            Assert.AreEqual(4.2, result.GetValue(0));
            Assert.AreEqual(8, result.GetValue(1));
            Assert.AreEqual(double.PositiveInfinity, result.GetValue(2));
            Assert.AreEqual(double.NegativeInfinity, result.GetValue(3));
        }
Exemplo n.º 26
0
        public void SetColumnVector()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            a.SetColumn(b, 0);

            // Assert
            Assert.AreEqual(46.7, a.GetValue(0, 0));
            Assert.AreEqual(1000, a.GetValue(1, 0));
            Assert.AreEqual(-.044, a.GetValue(2, 0));
            Assert.AreEqual(200.1, a.GetValue(3, 0));
        }