Ejemplo n.º 1
0
        public void SolveMaze_SuperSimpleMazeCannotBeSolved_ThrowsException()
        {
            const string mazeImageFilePath = @"..\..\..\TestingMazes\SuperSimpleMazeCannotBeSolved.png";
            var          mazeReader        = new MazeReaderUtility(mazeImageFilePath);
            var          mazeToTest        = mazeReader.ReadInMazeImage();
            var          mazeSolution      = new BreadthFirstMazeSolution(mazeToTest);

            mazeSolution.SolveMaze();
        }
Ejemplo n.º 2
0
        public void SolveMaze_UltraTinyMaze_NumberOfStepsToSolveAsExpected()
        {
            const string mazeImageFilePath = @"..\..\..\TestingMazes\UltraTinyMaze.png";
            var          mazeReader        = new MazeReaderUtility(mazeImageFilePath);
            var          mazeToTest        = mazeReader.ReadInMazeImage();
            var          mazeSolution      = new BreadthFirstMazeSolution(mazeToTest);

            mazeSolution.SolveMaze();

            var stepsToSolveMaze = mazeSolution.PathToSolveMaze.Count();

            Assert.AreEqual(stepsToSolveMaze, 95);

            var gridpointsVisited = mazeSolution.MazeToSolve.MazeGridpoints.Values.Count(m => m.HasBeenVisited);

            Assert.AreEqual(gridpointsVisited, 180);
        }