Mercurial > boomslang
diff gamelib/tests/test_walkthrough.py @ 254:ca0c2875ad8f
More test fixes.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Fri, 27 Aug 2010 17:35:15 +0200 |
parents | dfc89bc64fdb |
children | bfb6c682b4fb |
line wrap: on
line diff
--- a/gamelib/tests/test_walkthrough.py Fri Aug 27 17:32:05 2010 +0200 +++ b/gamelib/tests/test_walkthrough.py Fri Aug 27 17:35:15 2010 +0200 @@ -8,12 +8,15 @@ def close_detail(self): self.state.set_current_detail(None) - def move(self, source, target): - self.interact_thing(source+'.door') + def move_to(self, target): + self.interact_thing(self.state.current_scene.name + '.door') self.assert_current_scene('map') - self.interact_thing('map.to'+target) + self.interact_thing('map.to' + target) self.assert_current_scene(target) + def test_walkthrough_complete(self): + self.fail("Walkthrough incomplete.") + def test_walkthrough(self): """A complete game walkthrough. @@ -40,21 +43,8 @@ self.assert_game_data('door', 'open', 'cryo.door') self.assert_inventory_item('titanium_leg') - # Go to the machine room. - self.move('cryo', 'machine') - - # Sharpen leg into machete. - self.interact_thing('machine.grinder', 'titanium_leg') - self.assert_inventory_item('titanium_leg', False) - self.assert_inventory_item('machete') - # Go to the mess. - self.move('machine', 'mess') - - # Clear the broccoli. - self.assert_game_data('status', 'blocked', 'mess.tubes') - self.interact_thing('mess.tubes', 'machete') - self.assert_game_data('status', 'broken', 'mess.tubes') + self.move_to('mess') # Get the cans. self.assert_game_data('cans_available', 3, 'mess.cans') @@ -66,6 +56,39 @@ self.assert_inventory_item('full_can.2') self.assert_game_data('cans_available', 0, 'mess.cans') + # Bash one of the cans. + self.assert_item_exists('dented_can.0', False) + self.interact_item('full_can.1', 'titanium_leg') + self.assert_inventory_item('dented_can.0') + self.assert_inventory_item('full_can.1', False) - self.fail("Walkthrough incomplete.") + # Go to the machine room. + self.move_to('machine') + + # Sharpen leg into machete. + self.interact_thing('machine.grinder', 'titanium_leg') + self.assert_inventory_item('titanium_leg', False) + self.assert_inventory_item('machete') + + # Go to the cryo room. + self.move_to('cryo') + # Chop up some pipes. + self.assert_game_data('fixed', True, 'cryo.pipe.left') + self.interact_thing('cryo.pipe.left', 'machete') + self.assert_game_data('fixed', False, 'cryo.pipe.left') + self.assert_inventory_item('cryo_pipe.0') + + self.assert_game_data('fixed', True, 'cryo.pipe.right') + self.interact_thing('cryo.pipe.right', 'machete') + self.assert_game_data('fixed', False, 'cryo.pipe.right') + self.assert_inventory_item('cryo_pipe.1') + + # Go to the mess. + self.move_to('mess') + + # Clear the broccoli. + self.assert_game_data('status', 'blocked', 'mess.tubes') + self.interact_thing('mess.tubes', 'machete') + self.assert_game_data('status', 'broken', 'mess.tubes') +