public void DiagonalMatrixAdditionTest()
        {
            GeneralMatrix<int> matrix1 = new DiagonalMatrix<int>(new int[3, 3] { { 1, 0, 0 }, { 0, 2, 0 }, { 0, 0, 3 } });
            GeneralMatrix<int> matrix2 = new SquareMatrix<int>(new int[3, 3] { { 2, 7, 3 }, { 4, 0, 2 }, { 3, 6, 2 } });
            matrix1.SumWith(matrix2, AdditionMethod);

            Assert.AreEqual<int>(3, matrix1[0, 0]);
            Assert.AreEqual<int>(0, matrix1[0, 1]);
            Assert.AreEqual<int>(0, matrix1[0, 2]);
            Assert.AreEqual<int>(0, matrix1[1, 0]);
            Assert.AreEqual<int>(2, matrix1[1, 1]);
            Assert.AreEqual<int>(0, matrix1[1, 2]);
            Assert.AreEqual<int>(0, matrix1[2, 0]);
            Assert.AreEqual<int>(0, matrix1[2, 1]);
            Assert.AreEqual<int>(5, matrix1[2, 2]);
        }