public void SimmetricMatrix_Create_Instance_Using_Size() { var matrix = new SimmetricSquareMatrix <int>(5); matrix[0, 0] = 5; Assert.AreEqual(5, matrix[0, 0]); }
public void SimmetricMatrix_Change_Element_Expected_IndexAccessException_If_IndexColumn_Less_0() { int[,] inputArray = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } }; var matrix = new SimmetricSquareMatrix <int>(inputArray); Assert.Throws <ArgumentOutOfRangeException>(() => matrix[0, -1] = 5); }
public void SimmetricMatrix_Create_Instance_Valid_Input_Matrix_() { int[,] inputArray = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } }; var matrix = new SimmetricSquareMatrix <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]); } } }
/// <summary> /// Add square and simmetric matrix /// </summary> /// <typeparam name="T">type elements in matrix</typeparam> /// <param name="first">first square matrix</param> /// <param name="second">second simmetric matrix</param> /// <returns>result square matrix</returns> private static SquareMatrix <T> Add <T>(this SquareMatrix <T> first, SimmetricSquareMatrix <T> second) { var resutMatrix = new SquareMatrix <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 SimmetricSquareMatrix_Add_SimmetricSquareMatrix() { int[,] inputMatrixFirst = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } }; BaseMatrix <int> firstMatrix = new SimmetricSquareMatrix <int>(inputMatrixFirst); BaseMatrix <int> secondMatrix = new SimmetricSquareMatrix <int>(inputMatrixFirst); var resultSumm = firstMatrix.Add(secondMatrix); int[,] resultMatrix = { { 8, 4, 6 }, { 4, 4, 10 }, { 6, 10, 4 } }; var resultHelper = new SimmetricSquareMatrix <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; }
public void DiagonalSquareMatrix_Add_SimmetricSquareMatrix() { int[,] inputMatrixFirst = { { 4, 2, 3 }, { 2, 2, 5 }, { 3, 5, 2 } }; int[,] inputMatrixSecond = { { 4, default(int), default(int) }, { default(int), 2, default(int) },{ default(int), default(int), 2 } }; BaseMatrix <int> firstMatrix = new DiagonalSquareMatrix <int>(inputMatrixSecond); BaseMatrix <int> secondMatrix = new SimmetricSquareMatrix <int>(inputMatrixFirst); var resultSumm = firstMatrix.Add(secondMatrix); int[,] resultMatrix = { { 8, 2, 3 }, { 2, 4, 5 }, { 3, 5, 4 } }; var resultHelper = new SimmetricSquareMatrix <int>(resultMatrix); var helper = new HelperForSumm <int>(); Assert.IsTrue(helper.IsEqual(resultHelper, resultSumm)); }