def perform(self): parser = MazeParser(self.maze_file) #Parser returns Maze named-tuple parsed_maze = parser.perform() solver = MazeSolver(parsed_maze) solved_maze_coords = solver.perform() if not solved_maze_coords: #Solver has failed to solve the maze return plotter = MazePlotter(parsed_maze.maze_map, solved_maze_coords) return plotter.perform()
def test_solves_valid_maze(self): parser = MazeParser('mazes/maze_pass.txt') parsed_maze = parser.perform() solver = MazeSolver(parsed_maze) self.assertTrue(solver.perform())
def test_returns_from_unsolvable_maze(self): parser = MazeParser('mazes/maze_fail_no_solution.txt') parsed_maze = parser.perform() solver = MazeSolver(parsed_maze) self.assertFalse(solver.perform())