1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import unittest
19 from parpg.objects.base import Scriptable, Openable, GameObject
20
21
23
29
34
37
39 self.ran_on_close=True
40
42 self.ran_on_open=False
43 self.ran_on_close=False
44
46 """ Test Openable mixin open-close functionality"""
47
48 self.openable = self.OpenableNonScriptable(3)
49 self.assertEqual(self.openable.is_open,True)
50
51 self.openable.close()
52 self.assertEqual(self.openable.is_open,False)
53
54
55 self.openable.close()
56 self.assertEqual(self.openable.is_open,False)
57
58 self.openable.open()
59 self.assertEqual(self.openable.is_open,True)
60
61
62 self.openable.open()
63 self.assertEqual(self.openable.is_open,True)
64
66 """ Test Openable mixin with scripting"""
67
68 self.openable = self.OpenableScriptable(3, parpg={'onOpen':(self.onOpen,(),{}),'onClose':(self.onClose,(),{})})
69 self.assertEqual(self.ran_on_close,False)
70 self.assertEqual(self.ran_on_open,False)
71 self.assertEqual(self.openable.is_open,True)
72 self.openable.close()
73 self.assertEqual(self.ran_on_close,True)
74 self.assertEqual(self.ran_on_open,False)
75 self.assertEqual(self.openable.is_open,False)
76 self.ran_on_close=False
77 self.openable.open()
78 self.assertEqual(self.ran_on_close,False)
79 self.assertEqual(self.ran_on_open,True)
80 self.assertEqual(self.openable.is_open,True)
81
83 """ Test Openable mixin instantiation in closed state"""
84
85 self.openable = self.OpenableNonScriptable(3, is_open=False)
86 self.assertEqual(self.openable.is_open,False)
87 self.openable.open()
88 self.assertEqual(self.openable.is_open,True)
89
90 if __name__ == '__main__':
91 unittest.main()
92