void test_maze_generates_solvable_path(Maze& maze) { Solver s; vector<Point> path = s.DFSolve(maze); assert(maze.IsStart(path.front())); assert(maze.IsFinish(path.back())); for (auto p : path) assert(maze.InBounds(p)); }