comparison gamelib/tests/test_walkthrough.py @ 792:bdaffaa8b6bf pyntnclick

Loading and saving! (Plus a bunch of other stuff to make it possible.)
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 27 Jan 2013 12:43:28 +0200
parents 2f74064bc779
children eed75a1d50c4
comparison
equal deleted inserted replaced
791:56ec01e51f3d 792:bdaffaa8b6bf
7 7
8 GAME_DESCRIPTION_CLASS = gamelib.main.SuspendedSentence 8 GAME_DESCRIPTION_CLASS = gamelib.main.SuspendedSentence
9 CURRENT_SCENE = 'cryo' 9 CURRENT_SCENE = 'cryo'
10 10
11 def move_to(self, target): 11 def move_to(self, target):
12 self.interact_thing(self.state.current_scene.name + '.door') 12 self.interact_thing(self.state.get_current_scene().name + '.door')
13 self.assert_current_scene('map') 13 self.assert_current_scene('map')
14 self.interact_thing('map.to' + target) 14 self.interact_thing('map.to' + target)
15 self.assert_current_scene(target) 15 self.assert_current_scene(target)
16 16
17 def test_walkthrough(self): 17 def test_walkthrough(self):
30 self.interact_thing('cryo.unit.1') 30 self.interact_thing('cryo.unit.1')
31 self.assert_detail_thing('cryo.titanium_leg') 31 self.assert_detail_thing('cryo.titanium_leg')
32 self.interact_thing('cryo.titanium_leg', detail='cryo_detail') 32 self.interact_thing('cryo.titanium_leg', detail='cryo_detail')
33 self.assert_detail_thing('cryo.titanium_leg', False) 33 self.assert_detail_thing('cryo.titanium_leg', False)
34 self.assert_inventory_item('titanium_leg') 34 self.assert_inventory_item('titanium_leg')
35 self.close_detail()
35 36
36 # Open the door the rest of the way. 37 # Open the door the rest of the way.
37 self.interact_thing('cryo.door', 'titanium_leg') 38 self.interact_thing('cryo.door', 'titanium_leg')
38 self.assert_game_data('door', 'open', 'cryo.door') 39 self.assert_game_data('door', 'open', 'cryo.door')
39 self.assert_inventory_item('titanium_leg') 40 self.assert_inventory_item('titanium_leg')
111 # Get the superconductor. 112 # Get the superconductor.
112 self.interact_thing('bridge.massagechair_base') 113 self.interact_thing('bridge.massagechair_base')
113 self.interact_thing('bridge.superconductor', detail='chair_detail') 114 self.interact_thing('bridge.superconductor', detail='chair_detail')
114 self.assert_inventory_item('superconductor') 115 self.assert_inventory_item('superconductor')
115 self.assert_detail_thing('bridge.superconductor', False) 116 self.assert_detail_thing('bridge.superconductor', False)
117 self.close_detail()
116 118
117 # Go to the crew quarters. 119 # Go to the crew quarters.
118 self.move_to('crew_quarters') 120 self.move_to('crew_quarters')
119 121
120 # Get the poster. 122 # Get the poster.
170 172
171 # Go to the machine room. 173 # Go to the machine room.
172 self.move_to('machine') 174 self.move_to('machine')
173 175
174 # Weld pipes and cans. 176 # Weld pipes and cans.
175 self.assert_game_data('contents', set(), 'machine.welder.slot') 177 self.assert_game_data('contents', [], 'machine.welder.slot')
176 self.interact_thing('machine.welder.slot', 'tube_fragment.0') 178 self.interact_thing('machine.welder.slot', 'tube_fragment.0')
177 self.assert_inventory_item('tube_fragment.0', False) 179 self.assert_inventory_item('tube_fragment.0', False)
178 self.assert_game_data('contents', set(['tube']), 'machine.welder.slot') 180 self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
179 self.interact_thing('machine.welder.slot', 'empty_can.1') 181 self.interact_thing('machine.welder.slot', 'empty_can.1')
180 self.assert_inventory_item('empty_can.1', False) 182 self.assert_inventory_item('empty_can.1', False)
181 self.assert_game_data( 183 self.assert_game_data(
182 'contents', set(['tube', 'can']), 'machine.welder.slot') 184 'contents', ['tube', 'can'], 'machine.welder.slot')
183 self.interact_thing('machine.welder.button') 185 self.interact_thing('machine.welder.button')
184 self.assert_game_data('contents', set(), 'machine.welder.slot') 186 self.assert_game_data('contents', [], 'machine.welder.slot')
185 self.assert_inventory_item('cryo_pipes_one') 187 self.assert_inventory_item('cryo_pipes_one')
186 188
187 self.assert_game_data('contents', set(), 'machine.welder.slot') 189 self.assert_game_data('contents', [], 'machine.welder.slot')
188 self.interact_thing('machine.welder.slot', 'tube_fragment.2') 190 self.interact_thing('machine.welder.slot', 'tube_fragment.2')
189 self.assert_inventory_item('tube_fragment.2', False) 191 self.assert_inventory_item('tube_fragment.2', False)
190 self.assert_game_data('contents', set(['tube']), 'machine.welder.slot') 192 self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
191 self.interact_thing('machine.welder.slot', 'empty_can.2') 193 self.interact_thing('machine.welder.slot', 'empty_can.2')
192 self.assert_inventory_item('empty_can.2', False) 194 self.assert_inventory_item('empty_can.2', False)
193 self.assert_game_data( 195 self.assert_game_data(
194 'contents', set(['tube', 'can']), 'machine.welder.slot') 196 'contents', ['tube', 'can'], 'machine.welder.slot')
195 self.interact_thing('machine.welder.button') 197 self.interact_thing('machine.welder.button')
196 self.assert_game_data('contents', set(), 'machine.welder.slot') 198 self.assert_game_data('contents', [], 'machine.welder.slot')
197 self.assert_inventory_item('cryo_pipes_one', False) 199 self.assert_inventory_item('cryo_pipes_one', False)
198 self.assert_inventory_item('cryo_pipes_two') 200 self.assert_inventory_item('cryo_pipes_two')
199 201
200 self.assert_game_data('contents', set(), 'machine.welder.slot') 202 self.assert_game_data('contents', [], 'machine.welder.slot')
201 self.interact_thing('machine.welder.slot', 'tube_fragment.1') 203 self.interact_thing('machine.welder.slot', 'tube_fragment.1')
202 self.assert_inventory_item('tube_fragment.1', False) 204 self.assert_inventory_item('tube_fragment.1', False)
203 self.assert_game_data('contents', set(['tube']), 'machine.welder.slot') 205 self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
204 self.interact_thing('machine.welder.slot', 'empty_can.0') 206 self.interact_thing('machine.welder.slot', 'empty_can.0')
205 self.assert_inventory_item('empty_can.0', False) 207 self.assert_inventory_item('empty_can.0', False)
206 self.assert_game_data( 208 self.assert_game_data(
207 'contents', set(['tube', 'can']), 'machine.welder.slot') 209 'contents', ['tube', 'can'], 'machine.welder.slot')
208 self.interact_thing('machine.welder.button') 210 self.interact_thing('machine.welder.button')
209 self.assert_game_data('contents', set(), 'machine.welder.slot') 211 self.assert_game_data('contents', [], 'machine.welder.slot')
210 self.assert_inventory_item('cryo_pipes_two', False) 212 self.assert_inventory_item('cryo_pipes_two', False)
211 self.assert_inventory_item('cryo_pipes_three') 213 self.assert_inventory_item('cryo_pipes_three')
212 214
213 # Go to the mess. 215 # Go to the mess.
214 self.move_to('mess') 216 self.move_to('mess')