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);
        }
Example #6
0
    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();
        }
    }
Example #7
0
    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 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 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 TestCreateMatrixInitialiser()
 {
     MatrixInitialiser matrixInitialiser = new MatrixInitialiser();
 }
        public void TestChangeDirectionsWithWrongVerticalStep()
        {
            MatrixInitialiser matrixInitialiser = new MatrixInitialiser();
            int horizontalStep = 1;
            int verticalStep = -5;

            matrixInitialiser.ChangeDirection(ref horizontalStep, ref verticalStep);
        }