public void Add_SquareMatrixAndDiagonalMatrix_CorrectResult(int order, int[] squareValues, int[] diagonalValues)
        {
            var squareMatrix = new SquareMatrix <int>(order);

            squareMatrix.Copy(squareValues);

            var diagonalMatrix = new DiagonalMatrix <int>(order);

            diagonalMatrix.Copy(diagonalValues);

            int[] values = new int[diagonalMatrix.Lenght];
            int   i      = 0;

            foreach (var element in diagonalMatrix)
            {
                values[i++] = element;
            }

            var actual = squareMatrix.Add(diagonalMatrix);

            i = 0;
            foreach (var element in actual)
            {
                Assert.AreEqual(squareValues[i] + values[i], element);
                i++;
            }
        }
        public int[] Indexator_SequenceOfElements_CorrectResult(int order, int[] values)
        {
            var matrix = new DiagonalMatrix <int>(order);

            matrix.Copy(values);

            int[] actual = new int[matrix.Lenght];
            matrix.CopyTo(actual, 0, 0, matrix.Lenght);

            return(actual);
        }
        public void Add_DiagonalMatrixAndDiagonalMatrix_CorrectResult(int order, int[] values)
        {
            var matrix = new DiagonalMatrix <int>(order);

            matrix.Copy(values);


            int[] reverseValues = new int[values.Length];
            Array.Copy(values, reverseValues, values.Length);
            Array.Reverse(reverseValues);

            var reverseMatrix = new DiagonalMatrix <int>(order);

            reverseMatrix.Copy(reverseValues);

            var actual = matrix.Add(reverseMatrix);
            int i      = 0;

            foreach (var element in actual)
            {
                Assert.AreEqual(values[i] + reverseValues[i], element);
                i++;
            }
        }