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]); }