Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 24041e9

Browse files
committed
added tests for monkey & bananas planning problem
1 parent 6d229ce commit 24041e9

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

planning.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -360,8 +360,8 @@ def monkey_and_bananas():
360360
>>> mb.act(expr('Grasp(Bananas, B, High)'))
361361
>>> mb.goal_test()
362362
True
363-
>>> mb.act(expr('UnGrasp(Bananas, B, High)'))
364-
>>> mb.act(expr('ClimbDown(Box, B)'))
363+
>>> mb.act(expr('UnGrasp(Bananas)'))
364+
>>> mb.act(expr('ClimbDown(Box)'))
365365
>>> mb.goal_test()
366366
False
367367
>>> mb.act(expr('ClimbUp(B, Box)'))
@@ -384,13 +384,13 @@ def monkey_and_bananas():
384384
Action('ClimbUp(x, b)',
385385
precond='At(Monkey, x) & Height(Monkey, Low) & At(b, x) & Climbable(b) & Height(b, Low)',
386386
effect='On(Monkey, b) & Height(Monkey, High) & ~Height(Monkey, Low)'),
387-
Action('ClimbDown(b, x)',
388-
precond='On(Monkey, b) & Height(Monkey, High)',
387+
Action('ClimbDown(b)',
388+
precond='On(Monkey, b)',
389389
effect='~On(Monkey, b) & Height(Monkey, Low) & ~Height(Monkey, High)'),
390390
Action('Grasp(b, x, h)',
391391
precond='At(Monkey, x) & Height(Monkey, h) & Height(b, h) & At(b, x) & Graspable(b)',
392392
effect='Have(Monkey, b)'),
393-
Action('UnGrasp(b, x, h)',
393+
Action('UnGrasp(b)',
394394
precond='Have(Monkey, b)',
395395
effect='~Have(Monkey, b)')
396396
])

tests/test_planning.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,20 @@ def test_have_cake_and_eat_cake_too():
104104
assert p.goal_test()
105105

106106

107+
def test_monkey_and_bananas():
108+
p = monkey_and_bananas()
109+
assert p.goal_test() is False
110+
solution = [expr("Go(A, C)"),
111+
expr("Push(Box, C, B)"),
112+
expr("ClimbUp(B, Box)"),
113+
expr("Grasp(Bananas, B, High)")]
114+
115+
for action in solution:
116+
p.act(action)
117+
118+
assert p.goal_test()
119+
120+
107121
def test_shopping_problem():
108122
p = shopping_problem()
109123
assert p.goal_test() is False
@@ -156,6 +170,13 @@ def test_graphPlan():
156170
assert expr('Move(B, Table, C)') in sussman_anomaly_solution
157171
assert expr('Move(A, Table, B)') in sussman_anomaly_solution
158172

173+
monkey_and_bananas_solution = monkey_and_bananas_graphPlan()
174+
monkey_and_bananas_solution = linearize(monkey_and_bananas_solution)
175+
assert expr('Go(A, C)') in monkey_and_bananas_solution
176+
assert expr('Push(Box, C, B)') in monkey_and_bananas_solution
177+
assert expr('ClimbUp(B, Box)') in monkey_and_bananas_solution
178+
assert expr('Grasp(Bananas, B, High)') in monkey_and_bananas_solution
179+
159180
shopping_problem_solution = shopping_graphPlan()
160181
shopping_problem_solution = linearize(shopping_problem_solution)
161182
assert expr('Go(Home, HW)') in shopping_problem_solution

0 commit comments

Comments
 (0)