public void DiagonalMatrix_Change_Element_Expected_IndexAccessException_If_Value_Violates_Requirements_Insertion()
        {
            int[,] inputArray = { {            4, default(int), default(int) },
                                  { default(int),            2, default(int) },{ default(int), default(int), 2 } };

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

            Assert.Throws <IndexAccessException>(() => matrix[1, 2] = 4);
        }
        public void DiagonalMatrix_Change_Element_Expected_IndexAccessException_If_IndexRow_Less_0()
        {
            int[,] inputArray = { {            4, default(int), default(int) },
                                  { default(int),            2, default(int) },{ default(int), default(int), 2 } };

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

            Assert.Throws <ArgumentOutOfRangeException>(() => matrix[-1, 4] = 5);
        }
Beispiel #3
0
        /// <summary>
        /// Add diagonal and simmetric matrix
        /// </summary>
        /// <typeparam name="T">type elements in matrix</typeparam>
        /// <param name="first">first diagonal matrix</param>
        /// <param name="second">second simmetric matrix</param>
        /// <returns>result square matrix</returns>
        private static SimmetricSquareMatrix <T> Add <T>(this DiagonalSquareMatrix <T> first, SimmetricSquareMatrix <T> second)
        {
            var resutMatrix = new SimmetricSquareMatrix <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 DiagonalMatrix_Create_Instance_Valid_Input_Matrix_()
        {
            int[,] inputArray = { {            4, default(int), default(int) },
                                  { default(int),            2, default(int) },{ default(int), default(int), 2 } };

            var matrix = new DiagonalSquareMatrix <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]);
                }
            }
        }
        public void DiagonalMatrix_Create_Instance_Using_Size()
        {
            var matrix = new DiagonalSquareMatrix <int>(5);

            matrix[0, 0] = 5;

            Assert.AreEqual(5, matrix[0, 0]);

            for (int i = 0; i < matrix.Size; i++)
            {
                for (int j = 0; j < matrix.Size; j++)
                {
                    if (i != j)
                    {
                        Assert.AreEqual(default(int), matrix[i, j]);
                    }
                }
            }
        }
        public void DiagonalSquareMatrix_Add_DiagonalSquareMatrix()
        {
            int[,] inputMatrixFirst = { {            4, default(int), default(int) },
                                        { default(int),            2, default(int) },{ default(int), default(int), 2 } };

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

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

            var resultSumm = firstMatrix.Add(secondMatrix);

            int[,] resultMatrix = { { 8, 0, 0 }, { 0, 4, 0 }, { 0, 0, 4 } };

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

            var helper = new HelperForSumm <int>();

            Assert.IsTrue(helper.IsEqual(resultHelper, resultSumm));
        }
Beispiel #7
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;
        }