public void TesInitialiseMatrixWhilePosible() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int[,] matrix = { {0, 0, 0}, {0, 0, 0}, {0, 0, 0} }; int[,] expectedMatrix = { {1, 7, 8}, {6, 2, 9}, {5, 4, 3} }; int row = 0; int col = 0; int verticalStep = 1; int horizontalStep = 1; int number = 1; matrixInitialiser.InitializeMatrixWhilePosible(matrix, ref number, ref row, ref col, ref horizontalStep, ref verticalStep); for (int i = 0; i < expectedMatrix.GetLength(0); i++) { for (int j = 0; j < expectedMatrix.GetLength(1); j++) { Assert.AreEqual(expectedMatrix[i, j], matrix[i, j]); } } }
public void TesInitialiseMatrixWhilePosible() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int[,] matrix = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }; int[,] expectedMatrix = { { 1, 7, 8 }, { 6, 2, 9 }, { 5, 4, 3 } }; int row = 0; int col = 0; int verticalStep = 1; int horizontalStep = 1; int number = 1; matrixInitialiser.InitializeMatrixWhilePosible(matrix, ref number, ref row, ref col, ref horizontalStep, ref verticalStep); for (int i = 0; i < expectedMatrix.GetLength(0); i++) { for (int j = 0; j < expectedMatrix.GetLength(1); j++) { Assert.AreEqual(expectedMatrix[i, j], matrix[i, j]); } } }
public void TestChangeDirectionsWithWrongHorizontalStep() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int horizontalStep = 6; int verticalStep = 1; matrixInitialiser.ChangeDirection(ref horizontalStep, ref verticalStep); }
public void TestChangeDirectionsWithCorectSteps() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int horizontalStep = 1; int verticalStep = 1; int expectedHorizontalstep = 1; int expectedVerticalStep = 0; matrixInitialiser.ChangeDirection(ref horizontalStep, ref verticalStep); Assert.AreEqual(expectedHorizontalstep, horizontalStep); Assert.AreEqual(expectedVerticalStep, verticalStep); }
public void TestValidDirectionWithoutPosibleDirection() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int[,] matrix = { { 3, 5, 6 }, { 1, 2, 3 }, { 6, 5, 4 } }; int startRow = 0; int startCol = 0; bool expeceted = false; bool actual = matrixInitialiser.CheckForValidDirection(matrix, startRow, startCol); Assert.AreEqual(expeceted, actual); }
static void Main(string[] args) { Console.WriteLine("Enter a positive number "); string input = Console.ReadLine(); int matrixLength = 0; while (!int.TryParse(input, out matrixLength) || matrixLength < 0 || matrixLength > 100) { Console.WriteLine("You haven't entered a correct positive number"); input = Console.ReadLine(); } Matrix matrix = new Matrix(matrixLength); MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int number = 1; int row = 0; int col = 0; int horizontalStep = 1; int vericalStep = 1; matrixInitialiser.InitializeMatrixWhilePosible(matrix.Body, ref number, ref row, ref col, ref horizontalStep, ref vericalStep); //matrixInitialiser.FindNewCellToStartMoving(matrix.Body, out row, out col); //if (row != -1 && col != -1) //{ // horizontalStep = 1; // vericalStep = 1; // matrixInitialiser.InitializeMatrixWhilePosible(matrix.Body, ref number, ref row, // ref col, ref horizontalStep, ref vericalStep); //} for (int matrixRow = 0; matrixRow < matrixLength; matrixRow++) { for (int matrixCol = 0; matrixCol < matrixLength; matrixCol++) { Console.Write("{0,3}", matrix.Body[matrixRow, matrixCol]); } Console.WriteLine(); } }
public void TesFindNewCellToStartWithPosibleEmptyCell() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int[,] matrix = { {3,5,6}, {0,2,3}, {6,0,4} }; int currentRow = 0; int currentCol = 0; int expectedRow = 1; int expectedCol = 0; matrixInitialiser.FindNewCellToStartMoving(matrix, out currentRow, out currentCol); Assert.AreEqual(expectedRow, currentRow); Assert.AreEqual(expectedCol, currentCol); }
public void TesFindNewCellToStartWithPosibleEmptyCell() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int[,] matrix = { { 3, 5, 6 }, { 0, 2, 3 }, { 6, 0, 4 } }; int currentRow = 0; int currentCol = 0; int expectedRow = 1; int expectedCol = 0; matrixInitialiser.FindNewCellToStartMoving(matrix, out currentRow, out currentCol); Assert.AreEqual(expectedRow, currentRow); Assert.AreEqual(expectedCol, currentCol); }
public void TestCreateMatrixInitialiser() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); }
public void TestValidDirectionWithPosibleDirection() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int[,] matrix = { {0,0,0}, {1,2,3}, {6,5,4} }; int startRow = 0; int startCol = 0; bool expeceted = true; bool actual = matrixInitialiser.CheckForValidDirection(matrix, startRow, startCol); Assert.AreEqual(expeceted, actual); }
public void TestChangeDirectionsWithWrongVerticalStep() { MatrixInitialiser matrixInitialiser = new MatrixInitialiser(); int horizontalStep = 1; int verticalStep = -5; matrixInitialiser.ChangeDirection(ref horizontalStep, ref verticalStep); }