public void TestLabyrintConsolePrintWithSecondMatrix()
        {
            char[,] matrixToTest02 = {
               {'X','-','X','X','X','X','X'},
               {'X','-','X','X','X','X','X'},
               {'X','-','X','X','X','X','X'},
               {'X','-','-','-','-','-','X'},
               {'X','X','X','-','X','X','X'},
               {'X','X','X','X','X','X','X'},
               {'X','X','X','X','X','X','X'},
            };

            LabyrinthPlayer player = new LabyrinthPlayer(0, 1);
            LabyrinthMatrix lab = new LabyrinthMatrix(7, 7);
            lab.Matrix = matrixToTest02;
            LabyrinthRenderer renderer = new LabyrinthRenderer(player, lab);

            StringWriter writer = new StringWriter();
            string expected = String.Format(
                "{0}X*XXXXX{0}X-XXXXX{0}X-XXXXX{0}X-----X{0}XXX-XXX{0}XXXXXXX{0}XXXXXXX{0}",
                Environment.NewLine);

            using (writer)
            {
                Console.SetOut(writer);

                renderer.ConsoleDrawLabyrinth();

                string output = writer.ToString();

                Assert.AreEqual(expected, output);
            }
        }
        private void Start(int maxRows,int maxCols)
        {
            this.player = new LabyrinthPlayer(maxRows/2, maxCols/2);
            this.labyrinth = new LabyrinthMatrix(maxRows, maxCols);
            this.labyrinth.GenerateLabyrinthMatrix();
            this.renderer = new LabyrinthRenderer(this.player, this.labyrinth);

            while (true)
            {
                // Old - DrawLabyrinth()
                this.renderer.ConsoleDrawLabyrinth();

                if (IsFinished())
                {
                    break;
                }

                PlayerControl();
            }

            Console.Clear();
        }