Mercurial > pyntnclick
annotate gamelib/tests/test_scene_interactions_cryo.py @ 130:11afefc4aeaf
InteractText for mocking up scenes. Allow backgrounds to be None. Mock up map.
author | Simon Cross <hodgestar+bzr@gmail.com> |
---|---|
date | Tue, 24 Aug 2010 18:38:44 +0200 |
parents | e97244b1be30 |
children | 30f2308c1efc |
rev | line source |
---|---|
60 | 1 import game_logic_utils |
2 | |
3 | |
4 class TestGameLogic(game_logic_utils.GameLogicTestCase): | |
5 | |
6 CURRENT_SCENE = 'cryo' | |
7 | |
8 def test_cryo_door_closed_hand(self): | |
98
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
9 "The door is closed and we touch it with the hand. It becomes ajar." |
60 | 10 |
11 self.assert_game_data('accessible', True) | |
12 self.assert_game_data('accessible', False, scene='bridge') | |
98
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
13 self.assert_game_data('door', 'shut', 'cryo.door') |
60 | 14 |
15 self.interact_thing('cryo.door') | |
16 | |
17 self.assert_game_data('accessible', True) | |
18 self.assert_game_data('accessible', False, scene='bridge') | |
98
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
19 self.assert_game_data('door', 'ajar', 'cryo.door') |
60 | 20 |
21 def test_cryo_door_closed_titanium_leg(self): | |
22 "The door is closed and we touch it with the titanium leg. It opens." | |
23 | |
67
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
24 self.state.add_inventory_item('titanium_leg') |
60 | 25 self.assert_game_data('accessible', True) |
26 self.assert_game_data('accessible', False, scene='bridge') | |
98
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
27 self.assert_game_data('door', 'shut', 'cryo.door') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
28 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
29 self.interact_thing('cryo.door', 'titanium_leg') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
30 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
31 self.assert_game_data('accessible', True) |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
32 self.assert_game_data('accessible', False, scene='bridge') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
33 self.assert_game_data('door', 'shut', 'cryo.door') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
34 self.assert_inventory_item('titanium_leg', True) |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
35 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
36 def test_cryo_door_ajar_hand(self): |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
37 "The door is ajar and we touch it with the hand. No change." |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
38 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
39 self.set_game_data('door', 'ajar', 'cryo.door') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
40 self.assert_game_data('accessible', True) |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
41 self.assert_game_data('accessible', False, scene='bridge') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
42 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
43 self.interact_thing('cryo.door') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
44 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
45 self.assert_game_data('accessible', True) |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
46 self.assert_game_data('accessible', False, scene='bridge') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
47 self.assert_game_data('door', 'ajar', 'cryo.door') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
48 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
49 def test_cryo_door_ajar_titanium_leg(self): |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
50 "The door is ajar and we touch it with the titanium leg. It opens." |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
51 |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
52 self.state.add_inventory_item('titanium_leg') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
53 self.set_game_data('door', 'ajar', 'cryo.door') |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
54 self.assert_game_data('accessible', True) |
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
55 self.assert_game_data('accessible', False, scene='bridge') |
60 | 56 |
57 self.interact_thing('cryo.door', 'titanium_leg') | |
58 | |
59 self.assert_game_data('accessible', True) | |
60 self.assert_game_data('accessible', True, scene='bridge') | |
98
e97244b1be30
Fix tests for new tristate door logic.
Jeremy Thurgood <firxen@gmail.com>
parents:
67
diff
changeset
|
61 self.assert_game_data('door', 'open', 'cryo.door') |
67
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
62 self.assert_inventory_item('titanium_leg', False) |
60 | 63 |
64 def test_cryo_door_open_hand(self): | |
65 "The door is open and we touch it with the hand. No change." | |
66 | |
67 self.set_game_data('accessible', True, scene='bridge') | |
68 self.set_game_data('open', True, 'cryo.door') | |
69 | |
70 self.interact_thing('cryo.door') | |
71 | |
72 self.assert_game_data('accessible', True) | |
73 self.assert_game_data('accessible', True, scene='bridge') | |
74 self.assert_game_data('open', True, 'cryo.door') | |
75 | |
76 def test_cryo_door_open_titanium_leg(self): | |
77 "The door is open and we touch it with the titanium leg. No change." | |
78 | |
79 self.set_game_data('accessible', True, scene='bridge') | |
80 self.set_game_data('open', True, 'cryo.door') | |
81 | |
82 self.interact_thing('cryo.door', 'titanium_leg') | |
83 | |
84 self.assert_game_data('accessible', True) | |
85 self.assert_game_data('accessible', True, scene='bridge') | |
86 self.assert_game_data('open', True, 'cryo.door') | |
67
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
87 |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
88 def test_cryo_unit_alpha_full_hand(self): |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
89 "The cryo unit has the leg in it and we touch it. We get the leg." |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
90 |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
91 self.assert_game_data('contains_titanium_leg', True, 'cryo.unit.1') |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
92 self.assert_inventory_item('titanium_leg', False) |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
93 |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
94 self.interact_thing('cryo.unit.1') |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
95 |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
96 self.assert_game_data('contains_titanium_leg', False, 'cryo.unit.1') |
6b0f7364f3bf
Inventory-related game state.
Jeremy Thurgood <firxen@gmail.com>
parents:
60
diff
changeset
|
97 self.assert_inventory_item('titanium_leg', True) |