Skip to content

Commit 0f62ff0

Browse files
committed
test: adding more tests to a star algorithm
1 parent d96029e commit 0f62ff0

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Diff for: graphs/a_star.py

+25
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,31 @@ def search(
1616
cost: int,
1717
heuristic: list[list[int]],
1818
) -> tuple[list[list[int]], list[list[int]]]:
19+
"""
20+
Search for a path on a grid avoiding obstacles.
21+
>>> grid = [[0, 1, 0, 0, 0, 0],
22+
... [0, 1, 0, 0, 0, 0],
23+
... [0, 1, 0, 0, 0, 0],
24+
... [0, 1, 0, 0, 1, 0],
25+
... [0, 0, 0, 0, 1, 0]]
26+
>>> init = [0, 0]
27+
>>> goal = [len(grid) - 1, len(grid[0]) - 1]
28+
>>> cost = 1
29+
>>> heuristic = [[0] * len(grid[0]) for _ in range(len(grid))]
30+
>>> heuristic = [[0 for row in range(len(grid[0]))] for col in range(len(grid))]
31+
>>> for i in range(len(grid)):
32+
... for j in range(len(grid[0])):
33+
... heuristic[i][j] = abs(i - goal[0]) + abs(j - goal[1])
34+
... if grid[i][j] == 1:
35+
... heuristic[i][j] = 99
36+
>>> path, action = search(grid, init, goal, cost, heuristic)
37+
>>> path
38+
[[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [4, 1], [4, 2],\
39+
[4, 3], [3, 3], [2, 3], [2, 4], [2, 5], [3, 5], [4, 5]]
40+
>>> action
41+
[[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [2, 0, 0, 0, 3, 3],\
42+
[2, 0, 0, 0, 0, 2], [2, 3, 3, 3, 0, 2]]
43+
"""
1944
closed = [
2045
[0 for col in range(len(grid[0]))] for row in range(len(grid))
2146
] # the reference grid

0 commit comments

Comments
 (0)