Example #1
0
        public void SimmetricMatrix_Create_Instance_Using_Size()
        {
            var matrix = new SimmetricSquareMatrix <int>(5);

            matrix[0, 0] = 5;

            Assert.AreEqual(5, matrix[0, 0]);
        }
Example #2
0
        public void SimmetricMatrix_Change_Element_Expected_IndexAccessException_If_IndexColumn_Less_0()
        {
            int[,] inputArray = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } };

            var matrix = new SimmetricSquareMatrix <int>(inputArray);

            Assert.Throws <ArgumentOutOfRangeException>(() => matrix[0, -1] = 5);
        }
Example #3
0
        public void SimmetricMatrix_Create_Instance_Valid_Input_Matrix_()
        {
            int[,] inputArray = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } };

            var matrix = new SimmetricSquareMatrix <int>(inputArray);

            for (int i = 0; i < matrix.Size; i++)
            {
                for (int j = 0; j < matrix.Size; j++)
                {
                    Assert.AreEqual(inputArray[i, j], matrix[i, j]);
                }
            }
        }
Example #4
0
        /// <summary>
        /// Add square and simmetric matrix
        /// </summary>
        /// <typeparam name="T">type elements in matrix</typeparam>
        /// <param name="first">first square matrix</param>
        /// <param name="second">second simmetric matrix</param>
        /// <returns>result square matrix</returns>
        private static SquareMatrix <T> Add <T>(this SquareMatrix <T> first, SimmetricSquareMatrix <T> second)
        {
            var resutMatrix = new SquareMatrix <T>(first.Size);

            for (int i = 0; i < first.Size; i++)
            {
                for (int j = 0; j < first.Size; j++)
                {
                    resutMatrix[i, j] = (dynamic)first[i, j] + second[i, j];
                }
            }

            return(resutMatrix);
        }
        public void SimmetricSquareMatrix_Add_SimmetricSquareMatrix()
        {
            int[,] inputMatrixFirst = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } };

            BaseMatrix <int> firstMatrix = new SimmetricSquareMatrix <int>(inputMatrixFirst);

            BaseMatrix <int> secondMatrix = new SimmetricSquareMatrix <int>(inputMatrixFirst);

            var resultSumm = firstMatrix.Add(secondMatrix);

            int[,] resultMatrix = { { 8, 4, 6 }, { 4, 4, 10 }, { 6, 10, 4 } };

            var resultHelper = new SimmetricSquareMatrix <int>(resultMatrix);

            var helper = new HelperForSumm <int>();

            Assert.IsTrue(helper.IsEqual(resultHelper, resultSumm));
        }
Example #6
0
        static void Main(string[] args)
        {
            var listener = new MatrixChangeListener();

            var squareMatrix = new SquareMatrix <int>(5);

            squareMatrix.MatrixChanged += listener.CheckChangeEventHandler;
            squareMatrix[1, 1]          = 5;

            var simmetricSquareMatrix = new SimmetricSquareMatrix <int>(5);

            simmetricSquareMatrix.MatrixChanged += listener.CheckChangeEventHandler;
            simmetricSquareMatrix[1, 1]          = 5;

            var diagonalSquareMatrix = new DiagonalSquareMatrix <int>(5);

            diagonalSquareMatrix.MatrixChanged += listener.CheckChangeEventHandler;
            diagonalSquareMatrix[1, 1]          = 5;
        }
        public void DiagonalSquareMatrix_Add_SimmetricSquareMatrix()
        {
            int[,] inputMatrixFirst = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } };

            int[,] inputMatrixSecond = { {            4, default(int), default(int) },
                                         { default(int),            2, default(int) },{ default(int), default(int), 2 } };

            BaseMatrix <int> firstMatrix = new DiagonalSquareMatrix <int>(inputMatrixSecond);

            BaseMatrix <int> secondMatrix = new SimmetricSquareMatrix <int>(inputMatrixFirst);

            var resultSumm = firstMatrix.Add(secondMatrix);

            int[,] resultMatrix = { { 8, 2, 3 }, { 2, 4, 5 }, { 3, 5, 4 } };

            var resultHelper = new SimmetricSquareMatrix <int>(resultMatrix);

            var helper = new HelperForSumm <int>();

            Assert.IsTrue(helper.IsEqual(resultHelper, resultSumm));
        }