-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.py
62 lines (50 loc) · 2.6 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import unittest
import game1
import pyhop
import multi_pill_sort
class TestEventFunctions(unittest.TestCase):
def testModifyAdd(self):
state = game1.get_start_state()
game1.modify_state(state, 'green', 0, 0, 'add_pill', 1)
self.assertEqual(state.days['green'][0][0], 1)
def testModifyRemove(self):
state = game1.get_start_state()
game1.modify_state(state, 'green', 0, 0, 'add_pill', 1)
game1.modify_state(state, 'green', 0, 0, 'remove_pill', 1)
self.assertEqual(state.days['green'][0][0], 0)
def testRemoveFromEmptySpot(self):
state = game1.get_start_state()
self.assertFalse(multi_pill_sort.remove_pill(state, 'green', 0, 0))
class TestStateLength(unittest.TestCase):
def testStart(self):
state = game1.get_start_state()
self.assertEqual(len(pyhop.pyhop(state, [('sort_meds', game1.get_goal())])), 13)
def testOne(self):
state = game1.get_start_state()
game1.modify_state(state, 'green', 0, 0, 'add_pill', 1)
self.assertEqual(len(pyhop.pyhop(state, [('sort_meds', game1.get_goal())])), 12)
def testSameState(self):
state = game1.get_start_state()
game1.modify_state(state, 'green', 0, 0, 'add_pill', 1)
game1.modify_state(state, 'green', 0, 0, 'remove_pill', 1)
self.assertEqual(len(pyhop.pyhop(state, [('sort_meds', game1.get_goal())])), 13)
def testEnd(self):
state = game1.get_start_state()
state.days['green'] = [[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0],
[1, 0, 0, 0]]
state.days['blue'] = [[0, 2, 0, 0], [0, 0, 0, 0], [2, 0, 0, 0], [0, 0, 0, 0], [2, 0, 0, 0], [0, 0, 0, 0],
[0, 0, 0, 0]]
self.assertEqual(len(pyhop.pyhop(state, [('sort_meds', game1.get_goal())])), 0)
def testOneMoreThanGoal(self):
state = game1.get_start_state()
state.days['green'] = [[2, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0],
[1, 0, 0, 0]]
state.days['blue'] = [[0, 2, 0, 0], [0, 0, 0, 0], [2, 0, 0, 0], [0, 0, 0, 0], [2, 0, 0, 0], [0, 0, 0, 0],
[0, 0, 0, 0]]
self.assertEqual(len(pyhop.pyhop(state, [('sort_meds', game1.get_goal())])), 1)
def testRemoveMoreThanCurrent(self):
state = game1.get_start_state()
game1.modify_state(state, 'green', 0, 0, 'add_pill', 1)
with self.assertRaises(Exception): game1.modify_state(state, 'green', 0, 0, 'remove_pill', 2)
if __name__ == '__main__':
unittest.main()