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