annotate gamelib/tests/test_walkthrough.py @ 822:108eeb4d8f65 pyntnclick

Convert map to use InteractText for room labels
author Neil Muller <neil@dip.sun.ac.za>
date Mon, 28 Jan 2013 18:29:32 +0200
parents eed75a1d50c4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
730
eca4d2fc11a4 Move game_logic_utils to pyntnclick
Stefano Rivera <stefano@rivera.za.net>
parents: 729
diff changeset
1 from pyntnclick.tests.game_logic_utils import GameLogicTestCase
eca4d2fc11a4 Move game_logic_utils to pyntnclick
Stefano Rivera <stefano@rivera.za.net>
parents: 729
diff changeset
2
729
7d777c9a1af1 Remove the last suspended-sentence-specific bits from GameLogicTestCase
Stefano Rivera <stefano@rivera.za.net>
parents: 728
diff changeset
3 import gamelib.main
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
4
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
5
730
eca4d2fc11a4 Move game_logic_utils to pyntnclick
Stefano Rivera <stefano@rivera.za.net>
parents: 729
diff changeset
6 class TestWalkthrough(GameLogicTestCase):
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
7
729
7d777c9a1af1 Remove the last suspended-sentence-specific bits from GameLogicTestCase
Stefano Rivera <stefano@rivera.za.net>
parents: 728
diff changeset
8 GAME_DESCRIPTION_CLASS = gamelib.main.SuspendedSentence
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
9 CURRENT_SCENE = 'cryo'
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
10
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
11 def move_to(self, target):
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
12 self.interact_thing(self.state.get_current_scene().name + '.door')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13 self.assert_current_scene('map')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
14 self.interact_thing('map.to' + target)
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
15 self.assert_current_scene(target)
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
17 def test_walkthrough(self):
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
18 """A complete game walkthrough.
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
19
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20 This should only contain interacts and assertions."""
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
22 # TODO: Add flavour interactions, maybe?
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
23
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
24 # Partially open the door.
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
25 self.assert_game_data('door', 'shut', 'cryo.door')
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
26 self.interact_thing('cryo.door')
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
27 self.assert_game_data('door', 'ajar', 'cryo.door')
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
28
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
29 # Get the titanium leg.
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
30 self.interact_thing('cryo.unit.1')
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
31 self.assert_detail_thing('cryo.titanium_leg')
724
11daadcb06d6 We can now walk through until we hit the first JimLabel
Stefano Rivera <stefano@rivera.za.net>
parents: 536
diff changeset
32 self.interact_thing('cryo.titanium_leg', detail='cryo_detail')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
33 self.assert_detail_thing('cryo.titanium_leg', False)
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
34 self.assert_inventory_item('titanium_leg:')
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
35 self.close_detail()
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
36
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
37 # Open the door the rest of the way.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
38 self.interact_thing('cryo.door', 'titanium_leg:')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
39 self.assert_game_data('door', 'open', 'cryo.door')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
40 self.assert_inventory_item('titanium_leg:')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
41
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
42 # Go to the mess.
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
43 self.move_to('mess')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
44
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
45 # Check that life support is broken
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
46 self.assert_game_data('life support status', 'broken')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
47
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
48 # Get the cans.
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
49 self.assert_game_data('cans_available', 3, 'mess.cans')
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
50 self.interact_thing('mess.cans')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
51 self.assert_inventory_item('full_can:0')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
52 self.assert_game_data('cans_available', 2, 'mess.cans')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
53 self.interact_thing('mess.cans')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
54 self.assert_inventory_item('full_can:1')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
55 self.assert_game_data('cans_available', 1, 'mess.cans')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
56 self.interact_thing('mess.cans')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
57 self.assert_inventory_item('full_can:2')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
58 self.assert_scene_thing('mess.cans', False)
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
59
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
60 # Bash one of the cans.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
61 self.assert_item_exists('dented_can:0', False)
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
62 self.interact_item('full_can:1', 'titanium_leg:')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
63 self.assert_inventory_item('dented_can:0')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
64 self.assert_inventory_item('full_can:1', False)
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
65
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
66 # Go to the machine room.
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
67 self.move_to('machine')
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
68
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
69 # Sharpen leg into machete.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
70 self.interact_thing('machine.grinder', 'titanium_leg:')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
71 self.assert_inventory_item('titanium_leg', False)
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
72 self.assert_inventory_item('machete:')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
73
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
74 # Go to the cryo room.
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
75 self.move_to('cryo')
252
dfc89bc64fdb Start of walkthrough "unit test" and associated fixes and tweaks.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
76
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
77 # Chop up some pipes.
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
78 self.assert_game_data('fixed', True, 'cryo.pipe.left')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
79 self.interact_thing('cryo.pipe.left', 'machete:')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
80 self.assert_game_data('fixed', False, 'cryo.pipe.left')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
81 self.assert_inventory_item('tube_fragment:0')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
82
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
83 self.assert_game_data('fixed', True, 'cryo.pipe.right.top')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
84 self.interact_thing('cryo.pipe.right.top', 'machete:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
85 self.assert_game_data('fixed', False, 'cryo.pipe.right.top')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
86 self.assert_inventory_item('tube_fragment:1')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
87
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
88 self.assert_game_data('fixed', True, 'cryo.pipe.right.bottom')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
89 self.interact_thing('cryo.pipe.right.bottom', 'machete:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
90 self.assert_game_data('fixed', False, 'cryo.pipe.right.bottom')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
91 self.assert_inventory_item('tube_fragment:2')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
92
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
93 # Go to the mess.
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
94 self.move_to('mess')
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
95
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
96 # Clear the broccoli.
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
97 self.assert_game_data('status', 'blocked', 'mess.tubes')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
98 self.interact_thing('mess.tubes', 'machete:')
254
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
99 self.assert_game_data('status', 'broken', 'mess.tubes')
ca0c2875ad8f More test fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 252
diff changeset
100
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
101 # Go to the bridge.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
102 self.move_to('bridge')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
103
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
104 # Check that the AI is online.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
105 self.assert_game_data('ai status', 'online')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
106
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
107 # Get the stethoscope.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
108 self.interact_thing('bridge.stethoscope')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
109 self.assert_inventory_item('stethoscope:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
110 self.assert_scene_thing('bridge.stethoscope', False)
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
111
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
112 # Get the superconductor.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
113 self.interact_thing('bridge.massagechair_base')
727
657b4da736bc Fix rest of the test suite
Neil Muller <neil@dip.sun.ac.za>
parents: 724
diff changeset
114 self.interact_thing('bridge.superconductor', detail='chair_detail')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
115 self.assert_inventory_item('superconductor:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
116 self.assert_detail_thing('bridge.superconductor', False)
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
117 self.close_detail()
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
118
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
119 # Go to the crew quarters.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
120 self.move_to('crew_quarters')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
121
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
122 # Get the poster.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
123 self.interact_thing('crew.poster')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
124 self.assert_inventory_item('escher_poster:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
125 self.assert_scene_thing('crew.poster', False)
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
126
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
127 # Get the fishbowl.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
128 self.assert_game_data('has_bowl', True, 'crew.fishbowl')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
129 self.interact_thing('crew.fishbowl')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
130 self.assert_game_data('has_bowl', False, 'crew.fishbowl')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
131 self.assert_inventory_item('fishbowl:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
132
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
133 # Crack the safe.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
134 self.assert_game_data('is_cracked', False, 'crew.safe')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
135 self.interact_thing('crew.safe', 'stethoscope:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
136 self.assert_game_data('is_cracked', True, 'crew.safe')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
137
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
138 # Get the duct tape.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
139 self.assert_game_data('has_tape', True, 'crew.safe')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
140 self.interact_thing('crew.safe')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
141 self.assert_game_data('has_tape', False, 'crew.safe')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
142 self.assert_inventory_item('duct_tape:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
143
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
144 # Make the helmet.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
145 self.interact_item('fishbowl:', 'duct_tape:')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
146 self.assert_inventory_item('helmet:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
147 self.assert_inventory_item('fishbowl', False)
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
148
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
149 # Go to the engine room.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
150 self.move_to('engine')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
151
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
152 # Check that the engines are broken.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
153 self.assert_game_data('engine online', False)
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
154
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
155 # Get the can opener.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
156 self.interact_thing('engine.canopener')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
157 self.assert_inventory_item('canopener:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
158 self.assert_scene_thing('engine.canopener', False)
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
159
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
160 # Open the cans.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
161 self.interact_item('full_can:2', 'canopener:')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
162 self.assert_inventory_item('full_can:2', False)
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
163 self.assert_inventory_item('empty_can:0')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
164
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
165 self.interact_item('full_can:0', 'canopener:')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
166 self.assert_inventory_item('full_can:0', False)
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
167 self.assert_inventory_item('empty_can:1')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
168
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
169 self.interact_item('dented_can:0', 'canopener:')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
170 self.assert_inventory_item('dented_can:0', False)
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
171 self.assert_inventory_item('empty_can:2')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
172
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
173 # Go to the machine room.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
174 self.move_to('machine')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
175
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
176 # Weld pipes and cans.
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
177 self.assert_game_data('contents', [], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
178 self.interact_thing('machine.welder.slot', 'tube_fragment:0')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
179 self.assert_inventory_item('tube_fragment:0', False)
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
180 self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
181 self.interact_thing('machine.welder.slot', 'empty_can:1')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
182 self.assert_inventory_item('empty_can:1', False)
536
49b6a3d31ee7 PEP-8 tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 456
diff changeset
183 self.assert_game_data(
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
184 'contents', ['tube', 'can'], 'machine.welder.slot')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
185 self.interact_thing('machine.welder.button')
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
186 self.assert_game_data('contents', [], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
187 self.assert_inventory_item('cryo_pipes_one:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
188
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
189 self.assert_game_data('contents', [], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
190 self.interact_thing('machine.welder.slot', 'tube_fragment:2')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
191 self.assert_inventory_item('tube_fragment:2', False)
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
192 self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
193 self.interact_thing('machine.welder.slot', 'empty_can:2')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
194 self.assert_inventory_item('empty_can:2', False)
536
49b6a3d31ee7 PEP-8 tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 456
diff changeset
195 self.assert_game_data(
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
196 'contents', ['tube', 'can'], 'machine.welder.slot')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
197 self.interact_thing('machine.welder.button')
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
198 self.assert_game_data('contents', [], 'machine.welder.slot')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
199 self.assert_inventory_item('cryo_pipes_one', False)
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
200 self.assert_inventory_item('cryo_pipes_two:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
201
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
202 self.assert_game_data('contents', [], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
203 self.interact_thing('machine.welder.slot', 'tube_fragment:1')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
204 self.assert_inventory_item('tube_fragment:1', False)
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
205 self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
206 self.interact_thing('machine.welder.slot', 'empty_can:0')
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
207 self.assert_inventory_item('empty_can:0', False)
536
49b6a3d31ee7 PEP-8 tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 456
diff changeset
208 self.assert_game_data(
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
209 'contents', ['tube', 'can'], 'machine.welder.slot')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
210 self.interact_thing('machine.welder.button')
792
bdaffaa8b6bf Loading and saving! (Plus a bunch of other stuff to make it possible.)
Jeremy Thurgood <firxen@gmail.com>
parents: 731
diff changeset
211 self.assert_game_data('contents', [], 'machine.welder.slot')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
212 self.assert_inventory_item('cryo_pipes_two', False)
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
213 self.assert_inventory_item('cryo_pipes_three:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
214
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
215 # Go to the mess.
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
216 self.move_to('mess')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
217
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
218 # Replace the tubes.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
219 self.interact_thing('mess.tubes', 'cryo_pipes_three:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
220 self.assert_inventory_item('cryo_pipes_three', False)
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
221 self.assert_game_data('status', 'replaced', 'mess.tubes')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
222
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
223 # Check that life support is replaced
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
224 self.assert_game_data('life support status', 'replaced')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
225
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
226 # Tape up the tubes.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
227 self.interact_thing('mess.tubes', 'duct_tape:')
355
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
228 self.assert_game_data('status', 'fixed', 'mess.tubes')
bfb6c682b4fb Updated walkthrough test as far as completed environmental puzzle.
Jeremy Thurgood <firxen@gmail.com>
parents: 254
diff changeset
229
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
230 # Check that life support is fixed
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
231 self.assert_game_data('life support status', 'fixed')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
232
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
233 # Get the detergent bottle.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
234 self.interact_thing('mess.detergent')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
235 self.assert_inventory_item('detergent_bottle:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
236
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
237 # Go to the cryo room.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
238 self.move_to('cryo')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
239
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
240 # Fill the detergent bottle.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
241 self.interact_thing('cryo.pool', 'detergent_bottle:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
242 self.assert_inventory_item('detergent_bottle', False)
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
243 self.assert_inventory_item('full_detergent_bottle:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
244
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
245 # Go to the engine room.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
246 self.move_to('engine')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
247
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
248 # Patch the cracked pipe.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
249 self.assert_game_data('fixed', False, 'engine.cracked_pipe')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
250 self.interact_thing('engine.cracked_pipe', 'duct_tape:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
251 self.assert_game_data('fixed', True, 'engine.cracked_pipe')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
252
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
253 # Fill the cryofluid receptacles.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
254 self.assert_game_data('filled', False, 'engine.cryo_containers')
536
49b6a3d31ee7 PEP-8 tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 456
diff changeset
255 self.interact_thing(
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
256 'engine.cryo_container_receptacle', 'full_detergent_bottle:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
257 self.assert_game_data('filled', True, 'engine.cryo_containers')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
258 self.assert_inventory_item('full_detergent_bottle', False)
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
259
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
260 # Remove the burned-out superconductor.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
261 self.assert_game_data('present', True, 'engine.superconductor')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
262 self.assert_game_data('working', False, 'engine.superconductor')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
263 self.interact_thing('engine.superconductor', 'machete:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
264 self.assert_game_data('present', False, 'engine.superconductor')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
265 self.assert_game_data('working', False, 'engine.superconductor')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
266
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
267 # Tape up new superconductor.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
268 self.interact_item('superconductor:', 'duct_tape:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
269 self.assert_inventory_item('superconductor', False)
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
270 self.assert_inventory_item('taped_superconductor:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
271
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
272 # Install superconductor.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
273 self.interact_thing('engine.superconductor', 'taped_superconductor:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
274 self.assert_inventory_item('taped_superconductor', False)
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
275 self.assert_game_data('present', True, 'engine.superconductor')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
276 self.assert_game_data('working', True, 'engine.superconductor')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
277
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
278 # Check that we've fixed the engines.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
279 self.assert_game_data('engine online', True)
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
280
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
281 # Go to the bridge.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
282 self.move_to('bridge')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
283
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
284 # Show JIM the poster.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
285 self.interact_thing('bridge.camera', 'escher_poster:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
286 self.assert_game_data('ai status', 'looping')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
287
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
288 # Get at JIM.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
289 self.assert_game_data('ai panel', 'closed')
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
290 self.interact_thing('jim_panel', 'machete:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
291 self.assert_game_data('ai panel', 'open')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
292
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
293 # Break JIM.
816
eed75a1d50c4 Better Item handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 792
diff changeset
294 self.interact_thing('jim_panel', 'machete:')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
295 self.assert_game_data('ai panel', 'broken')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
296
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
297 # Check that we've turned off JIM.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
298 self.assert_game_data('ai status', 'dead')
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
299
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
300 # Bring up nav console.
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
301 self.interact_thing('bridge.comp')
727
657b4da736bc Fix rest of the test suite
Neil Muller <neil@dip.sun.ac.za>
parents: 724
diff changeset
302 self.interact_thing('bridge_comp.nav_tab', detail='bridge_comp_detail')
657b4da736bc Fix rest of the test suite
Neil Muller <neil@dip.sun.ac.za>
parents: 724
diff changeset
303 self.assert_game_data('tab', 'nav', detail='bridge_comp_detail')
452
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
304
fdf3a6dd476b Walkthrough test /almost/ finished.
Jeremy Thurgood <firxen@gmail.com>
parents: 355
diff changeset
305 # Go somewhere interesting.
731
2f74064bc779 Misc pep8 cleanups
Neil Muller <neil@dip.sun.ac.za>
parents: 730
diff changeset
306 self.interact_thing('bridge_comp.nav_line2',
2f74064bc779 Misc pep8 cleanups
Neil Muller <neil@dip.sun.ac.za>
parents: 730
diff changeset
307 detail='bridge_comp_detail')