comparison gamelib/tests/test_walkthrough.py @ 355:bfb6c682b4fb

Updated walkthrough test as far as completed environmental puzzle.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 28 Aug 2010 16:34:35 +0200
parents ca0c2875ad8f
children fdf3a6dd476b
comparison
equal deleted inserted replaced
354:09efb8b7c132 355:bfb6c682b4fb
29 self.interact_thing('cryo.door') 29 self.interact_thing('cryo.door')
30 self.assert_game_data('door', 'ajar', 'cryo.door') 30 self.assert_game_data('door', 'ajar', 'cryo.door')
31 31
32 # Get the titanium leg. 32 # Get the titanium leg.
33 self.interact_thing('cryo.unit.1') 33 self.interact_thing('cryo.unit.1')
34 self.assertEquals('cryo_detail', self.state.current_detail.name) 34 self.assert_current_detail('cryo_detail')
35 self.assert_detail_thing('cryo.titanium_leg') 35 self.assert_detail_thing('cryo.titanium_leg')
36 self.interact_thing('cryo.titanium_leg') 36 self.interact_thing('cryo.titanium_leg')
37 self.assert_detail_thing('cryo.titanium_leg', False) 37 self.assert_detail_thing('cryo.titanium_leg', False)
38 self.assert_inventory_item('titanium_leg') 38 self.assert_inventory_item('titanium_leg')
39 self.close_detail() 39 self.close_detail()
48 48
49 # Get the cans. 49 # Get the cans.
50 self.assert_game_data('cans_available', 3, 'mess.cans') 50 self.assert_game_data('cans_available', 3, 'mess.cans')
51 self.interact_thing('mess.cans') 51 self.interact_thing('mess.cans')
52 self.assert_inventory_item('full_can.0') 52 self.assert_inventory_item('full_can.0')
53 self.assert_game_data('cans_available', 2, 'mess.cans')
53 self.interact_thing('mess.cans') 54 self.interact_thing('mess.cans')
54 self.assert_inventory_item('full_can.1') 55 self.assert_inventory_item('full_can.1')
56 self.assert_game_data('cans_available', 1, 'mess.cans')
55 self.interact_thing('mess.cans') 57 self.interact_thing('mess.cans')
56 self.assert_inventory_item('full_can.2') 58 self.assert_inventory_item('full_can.2')
57 self.assert_game_data('cans_available', 0, 'mess.cans') 59 self.assert_scene_thing('mess.cans', False)
58 60
59 # Bash one of the cans. 61 # Bash one of the cans.
60 self.assert_item_exists('dented_can.0', False) 62 self.assert_item_exists('dented_can.0', False)
61 self.interact_item('full_can.1', 'titanium_leg') 63 self.interact_item('full_can.1', 'titanium_leg')
62 self.assert_inventory_item('dented_can.0') 64 self.assert_inventory_item('dented_can.0')
75 77
76 # Chop up some pipes. 78 # Chop up some pipes.
77 self.assert_game_data('fixed', True, 'cryo.pipe.left') 79 self.assert_game_data('fixed', True, 'cryo.pipe.left')
78 self.interact_thing('cryo.pipe.left', 'machete') 80 self.interact_thing('cryo.pipe.left', 'machete')
79 self.assert_game_data('fixed', False, 'cryo.pipe.left') 81 self.assert_game_data('fixed', False, 'cryo.pipe.left')
80 self.assert_inventory_item('cryo_pipe.0') 82 self.assert_inventory_item('tube_fragment.0')
81 83
82 self.assert_game_data('fixed', True, 'cryo.pipe.right') 84 self.assert_game_data('fixed', True, 'cryo.pipe.right.top')
83 self.interact_thing('cryo.pipe.right', 'machete') 85 self.interact_thing('cryo.pipe.right.top', 'machete')
84 self.assert_game_data('fixed', False, 'cryo.pipe.right') 86 self.assert_game_data('fixed', False, 'cryo.pipe.right.top')
85 self.assert_inventory_item('cryo_pipe.1') 87 self.assert_inventory_item('tube_fragment.1')
88
89 self.assert_game_data('fixed', True, 'cryo.pipe.right.bottom')
90 self.interact_thing('cryo.pipe.right.bottom', 'machete')
91 self.assert_game_data('fixed', False, 'cryo.pipe.right.bottom')
92 self.assert_inventory_item('tube_fragment.2')
86 93
87 # Go to the mess. 94 # Go to the mess.
88 self.move_to('mess') 95 self.move_to('mess')
89 96
90 # Clear the broccoli. 97 # Clear the broccoli.
91 self.assert_game_data('status', 'blocked', 'mess.tubes') 98 self.assert_game_data('status', 'blocked', 'mess.tubes')
92 self.interact_thing('mess.tubes', 'machete') 99 self.interact_thing('mess.tubes', 'machete')
93 self.assert_game_data('status', 'broken', 'mess.tubes') 100 self.assert_game_data('status', 'broken', 'mess.tubes')
94 101
102 # Go to the bridge.
103 self.move_to('bridge')
104
105 # Get the stethoscope.
106 self.interact_thing('bridge.stethoscope')
107 self.assert_inventory_item('stethoscope')
108 self.assert_scene_thing('bridge.stethoscope', False)
109
110 # Get the superconductor.
111 self.interact_thing('bridge.massagechair_base')
112 self.assert_current_detail('chair_detail')
113 self.interact_thing('bridge.superconductor')
114 self.assert_inventory_item('superconductor')
115 self.assert_detail_thing('bridge.superconductor', False)
116 self.close_detail()
117
118 # Go to the crew quarters.
119 self.move_to('crew_quarters')
120
121 # Get the fishbowl.
122 self.assert_game_data('has_bowl', True, 'crew.fishbowl')
123 self.interact_thing('crew.fishbowl')
124 self.assert_game_data('has_bowl', False, 'crew.fishbowl')
125 self.assert_inventory_item('fishbowl')
126
127 # Crack the safe.
128 self.assert_game_data('is_cracked', False, 'crew.safe')
129 self.interact_thing('crew.safe', 'stethoscope')
130 self.assert_game_data('is_cracked', True, 'crew.safe')
131
132 # Get the duct tape.
133 self.assert_game_data('has_tape', True, 'crew.safe')
134 self.interact_thing('crew.safe')
135 self.assert_game_data('has_tape', False, 'crew.safe')
136 self.assert_inventory_item('duct_tape')
137
138 # Make the helmet.
139 self.interact_item('fishbowl', 'duct_tape')
140 self.assert_inventory_item('helmet')
141 self.assert_inventory_item('fishbowl', False)
142
143 # Go to the engine room.
144 self.move_to('engine')
145
146 # Get the can opener.
147 self.interact_thing('engine.canopener')
148 self.assert_inventory_item('canopener')
149 self.assert_scene_thing('engine.canopener', False)
150
151 # Open the cans.
152 self.interact_item('full_can.2', 'canopener')
153 self.assert_inventory_item('full_can.2', False)
154 self.assert_inventory_item('empty_can.0')
155
156 self.interact_item('full_can.0', 'canopener')
157 self.assert_inventory_item('full_can.0', False)
158 self.assert_inventory_item('empty_can.1')
159
160 self.interact_item('dented_can.0', 'canopener')
161 self.assert_inventory_item('dented_can.0', False)
162 self.assert_inventory_item('empty_can.2')
163
164 # Go to the machine room.
165 self.move_to('machine')
166
167 # Weld pipes and cans.
168 self.assert_game_data('contents', set(), 'machine.welder.slot')
169 self.interact_thing('machine.welder.slot', 'tube_fragment.0')
170 self.assert_inventory_item('tube_fragment.0', False)
171 self.assert_game_data('contents', set(['tube']), 'machine.welder.slot')
172 self.interact_thing('machine.welder.slot', 'empty_can.1')
173 self.assert_inventory_item('empty_can.1', False)
174 self.assert_game_data('contents', set(['tube', 'can']), 'machine.welder.slot')
175 self.interact_thing('machine.welder.button')
176 self.assert_game_data('contents', set(), 'machine.welder.slot')
177 self.assert_inventory_item('cryo_pipes_one')
178
179 self.assert_game_data('contents', set(), 'machine.welder.slot')
180 self.interact_thing('machine.welder.slot', 'tube_fragment.2')
181 self.assert_inventory_item('tube_fragment.2', False)
182 self.assert_game_data('contents', set(['tube']), 'machine.welder.slot')
183 self.interact_thing('machine.welder.slot', 'empty_can.2')
184 self.assert_inventory_item('empty_can.2', False)
185 self.assert_game_data('contents', set(['tube', 'can']), 'machine.welder.slot')
186 self.interact_thing('machine.welder.button')
187 self.assert_game_data('contents', set(), 'machine.welder.slot')
188 self.assert_inventory_item('cryo_pipes_one', False)
189 self.assert_inventory_item('cryo_pipes_two')
190
191 self.assert_game_data('contents', set(), 'machine.welder.slot')
192 self.interact_thing('machine.welder.slot', 'tube_fragment.1')
193 self.assert_inventory_item('tube_fragment.1', False)
194 self.assert_game_data('contents', set(['tube']), 'machine.welder.slot')
195 self.interact_thing('machine.welder.slot', 'empty_can.0')
196 self.assert_inventory_item('empty_can.0', False)
197 self.assert_game_data('contents', set(['tube', 'can']), 'machine.welder.slot')
198 self.interact_thing('machine.welder.button')
199 self.assert_game_data('contents', set(), 'machine.welder.slot')
200 self.assert_inventory_item('cryo_pipes_two', False)
201 self.assert_inventory_item('cryo_pipes_three')
202
203 # Go to the mess.
204 self.move_to('mess')
205
206 # Replace the tubes.
207 self.interact_thing('mess.tubes', 'cryo_pipes_three')
208 self.assert_inventory_item('cryo_pipes_three', False)
209 self.assert_game_data('status', 'replaced', 'mess.tubes')
210
211 # Tape up the tubes.
212 self.interact_thing('mess.tubes', 'duct_tape')
213 self.assert_game_data('status', 'fixed', 'mess.tubes')
214