diff gamelib/tests/test_walkthrough.py @ 854:3577c51029f1 default tip

Remove Suspended Sentence. pyntnclick is the library we extracted from it
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 21 Jun 2014 22:15:54 +0200
parents f95830b58336
children
line wrap: on
line diff
--- a/gamelib/tests/test_walkthrough.py	Sat Jun 21 22:04:35 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-from pyntnclick.tests.game_logic_utils import GameLogicTestCase
-
-import gamelib.main
-
-
-class TestWalkthrough(GameLogicTestCase):
-
-    GAME_DESCRIPTION_CLASS = gamelib.main.SuspendedSentence
-    CURRENT_SCENE = 'cryo'
-
-    def move_to(self, target):
-        self.interact_thing(self.state.get_current_scene().name + '.door')
-        self.assert_current_scene('map')
-        self.interact_thing('map.to' + target)
-        self.assert_current_scene(target)
-
-    def test_walkthrough(self):
-        """A complete game walkthrough.
-
-        This should only contain interacts and assertions."""
-
-        # TODO: Add flavour interactions, maybe?
-
-        # Partially open the door.
-        self.assert_game_data('door', 'shut', 'cryo.door')
-        self.interact_thing('cryo.door')
-        self.assert_game_data('door', 'ajar', 'cryo.door')
-
-        # Get the titanium leg.
-        self.interact_thing('cryo.unit.1')
-        self.assert_detail_thing('cryo.titanium_leg')
-        self.interact_thing('cryo.titanium_leg', detail='cryo_detail')
-        self.assert_detail_thing('cryo.titanium_leg', False)
-        self.assert_inventory_item('titanium_leg:')
-        self.close_detail()
-
-        # Open the door the rest of the way.
-        self.interact_thing('cryo.door', 'titanium_leg:')
-        self.assert_game_data('door', 'open', 'cryo.door')
-        self.assert_inventory_item('titanium_leg:')
-
-        # Go to the mess.
-        self.move_to('mess')
-
-        # Check that life support is broken
-        self.assert_game_data('life support status', 'broken')
-
-        # Get the cans.
-        self.assert_game_data('cans_available', 3, 'mess.cans')
-        self.interact_thing('mess.cans')
-        self.assert_inventory_item('full_can:0')
-        self.assert_game_data('cans_available', 2, 'mess.cans')
-        self.interact_thing('mess.cans')
-        self.assert_inventory_item('full_can:1')
-        self.assert_game_data('cans_available', 1, 'mess.cans')
-        self.interact_thing('mess.cans')
-        self.assert_inventory_item('full_can:2')
-        self.assert_scene_thing('mess.cans', False)
-
-        # 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)
-
-        # 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('tube_fragment:0')
-
-        self.assert_game_data('fixed', True, 'cryo.pipe.right.top')
-        self.interact_thing('cryo.pipe.right.top', 'machete:')
-        self.assert_game_data('fixed', False, 'cryo.pipe.right.top')
-        self.assert_inventory_item('tube_fragment:1')
-
-        self.assert_game_data('fixed', True, 'cryo.pipe.right.bottom')
-        self.interact_thing('cryo.pipe.right.bottom', 'machete:')
-        self.assert_game_data('fixed', False, 'cryo.pipe.right.bottom')
-        self.assert_inventory_item('tube_fragment:2')
-
-        # 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')
-
-        # Go to the bridge.
-        self.move_to('bridge')
-
-        # Check that the AI is online.
-        self.assert_game_data('ai status', 'online')
-
-        # Get the stethoscope.
-        self.interact_thing('bridge.stethoscope')
-        self.assert_inventory_item('stethoscope:')
-        self.assert_scene_thing('bridge.stethoscope', False)
-
-        # Get the superconductor.
-        self.interact_thing('bridge.massagechair_base')
-        self.interact_thing('bridge.superconductor', detail='chair_detail')
-        self.assert_inventory_item('superconductor:')
-        self.assert_detail_thing('bridge.superconductor', False)
-        self.close_detail()
-
-        # Go to the crew quarters.
-        self.move_to('crew_quarters')
-
-        # Get the poster.
-        self.interact_thing('crew.poster')
-        self.assert_inventory_item('escher_poster:')
-        self.assert_scene_thing('crew.poster', False)
-
-        # Get the fishbowl.
-        self.assert_game_data('has_bowl', True, 'crew.fishbowl')
-        self.interact_thing('crew.fishbowl')
-        self.assert_game_data('has_bowl', False, 'crew.fishbowl')
-        self.assert_inventory_item('fishbowl:')
-
-        # Crack the safe.
-        self.assert_game_data('is_cracked', False, 'crew.safe')
-        self.interact_thing('crew.safe', 'stethoscope:')
-        self.assert_game_data('is_cracked', True, 'crew.safe')
-
-        # Get the duct tape.
-        self.assert_game_data('has_tape', True, 'crew.safe')
-        self.interact_thing('crew.safe')
-        self.assert_game_data('has_tape', False, 'crew.safe')
-        self.assert_inventory_item('duct_tape:')
-
-        # Make the helmet.
-        self.interact_item('fishbowl:', 'duct_tape:')
-        self.assert_inventory_item('helmet:')
-        self.assert_inventory_item('fishbowl', False)
-
-        # Go to the engine room.
-        self.move_to('engine')
-
-        # Check that the engines are broken.
-        self.assert_game_data('engine online', False)
-
-        # Get the can opener.
-        self.interact_thing('engine.canopener')
-        self.assert_inventory_item('canopener:')
-        self.assert_scene_thing('engine.canopener', False)
-
-        # Open the cans.
-        self.interact_item('full_can:2', 'canopener:')
-        self.assert_inventory_item('full_can:2', False)
-        self.assert_inventory_item('empty_can:0')
-
-        self.interact_item('full_can:0', 'canopener:')
-        self.assert_inventory_item('full_can:0', False)
-        self.assert_inventory_item('empty_can:1')
-
-        self.interact_item('dented_can:0', 'canopener:')
-        self.assert_inventory_item('dented_can:0', False)
-        self.assert_inventory_item('empty_can:2')
-
-        # Go to the machine room.
-        self.move_to('machine')
-
-        # Weld pipes and cans.
-        self.assert_game_data('contents', [], 'machine.welder.slot')
-        self.interact_thing('machine.welder.slot', 'tube_fragment:0')
-        self.assert_inventory_item('tube_fragment:0', False)
-        self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
-        self.interact_thing('machine.welder.slot', 'empty_can:1')
-        self.assert_inventory_item('empty_can:1', False)
-        self.assert_game_data(
-            'contents', ['tube', 'can'], 'machine.welder.slot')
-        self.interact_thing('machine.welder.button')
-        self.assert_game_data('contents', [], 'machine.welder.slot')
-        self.assert_inventory_item('cryo_pipes_one:')
-
-        self.assert_game_data('contents', [], 'machine.welder.slot')
-        self.interact_thing('machine.welder.slot', 'tube_fragment:2')
-        self.assert_inventory_item('tube_fragment:2', False)
-        self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
-        self.interact_thing('machine.welder.slot', 'empty_can:2')
-        self.assert_inventory_item('empty_can:2', False)
-        self.assert_game_data(
-            'contents', ['tube', 'can'], 'machine.welder.slot')
-        self.interact_thing('machine.welder.button')
-        self.assert_game_data('contents', [], 'machine.welder.slot')
-        self.assert_inventory_item('cryo_pipes_one', False)
-        self.assert_inventory_item('cryo_pipes_two:')
-
-        self.assert_game_data('contents', [], 'machine.welder.slot')
-        self.interact_thing('machine.welder.slot', 'tube_fragment:1')
-        self.assert_inventory_item('tube_fragment:1', False)
-        self.assert_game_data('contents', ['tube'], 'machine.welder.slot')
-        self.interact_thing('machine.welder.slot', 'empty_can:0')
-        self.assert_inventory_item('empty_can:0', False)
-        self.assert_game_data(
-            'contents', ['tube', 'can'], 'machine.welder.slot')
-        self.interact_thing('machine.welder.button')
-        self.assert_game_data('contents', [], 'machine.welder.slot')
-        self.assert_inventory_item('cryo_pipes_two', False)
-        self.assert_inventory_item('cryo_pipes_three:')
-
-        # Go to the mess.
-        self.move_to('mess')
-
-        # Replace the tubes.
-        self.interact_thing('mess.tubes', 'cryo_pipes_three:')
-        self.assert_inventory_item('cryo_pipes_three', False)
-        self.assert_game_data('status', 'replaced', 'mess.tubes')
-
-        # Check that life support is replaced
-        self.assert_game_data('life support status', 'replaced')
-
-        # Tape up the tubes.
-        self.interact_thing('mess.tubes', 'duct_tape:')
-        self.assert_game_data('status', 'fixed', 'mess.tubes')
-
-        # Check that life support is fixed
-        self.assert_game_data('life support status', 'fixed')
-
-        # Get the detergent bottle.
-        self.interact_thing('mess.detergent')
-        self.assert_inventory_item('detergent_bottle:')
-
-        # Go to the cryo room.
-        self.move_to('cryo')
-
-        # Fill the detergent bottle.
-        self.interact_thing('cryo.pool', 'detergent_bottle:')
-        self.assert_inventory_item('detergent_bottle', False)
-        self.assert_inventory_item('full_detergent_bottle:')
-
-        # Go to the engine room.
-        self.move_to('engine')
-
-        # Patch the cracked pipe.
-        self.assert_game_data('fixed', False, 'engine.cracked_pipe')
-        self.interact_thing('engine.cracked_pipe', 'duct_tape:')
-        self.assert_game_data('fixed', True, 'engine.cracked_pipe')
-
-        # Fill the cryofluid receptacles.
-        self.assert_game_data('filled', False, 'engine.cryo_containers')
-        self.interact_thing(
-            'engine.cryo_container_receptacle', 'full_detergent_bottle:')
-        self.assert_game_data('filled', True, 'engine.cryo_containers')
-        self.assert_inventory_item('full_detergent_bottle', False)
-
-        # Remove the burned-out superconductor.
-        self.assert_game_data('present', True, 'engine.superconductor')
-        self.assert_game_data('working', False, 'engine.superconductor')
-        self.interact_thing('engine.superconductor', 'machete:')
-        self.assert_game_data('present', False, 'engine.superconductor')
-        self.assert_game_data('working', False, 'engine.superconductor')
-
-        # Tape up new superconductor.
-        self.interact_item('superconductor:', 'duct_tape:')
-        self.assert_inventory_item('superconductor', False)
-        self.assert_inventory_item('taped_superconductor:')
-
-        # Install superconductor.
-        self.interact_thing('engine.superconductor', 'taped_superconductor:')
-        self.assert_inventory_item('taped_superconductor', False)
-        self.assert_game_data('present', True, 'engine.superconductor')
-        self.assert_game_data('working', True, 'engine.superconductor')
-
-        # Check that we've fixed the engines.
-        self.assert_game_data('engine online', True)
-
-        # Go to the bridge.
-        self.move_to('bridge')
-
-        # Show JIM the poster.
-        self.interact_thing('bridge.camera', 'escher_poster:')
-        self.assert_game_data('ai status', 'looping')
-
-        # Get at JIM.
-        self.assert_game_data('ai panel', 'closed')
-        self.interact_thing('jim_panel', 'machete:')
-        self.assert_game_data('ai panel', 'open')
-
-        # Break JIM.
-        self.interact_thing('jim_panel', 'machete:')
-        self.assert_game_data('ai panel', 'broken')
-
-        # Check that we've turned off JIM.
-        self.assert_game_data('ai status', 'dead')
-
-        # Bring up nav console.
-        self.interact_thing('bridge.comp')
-        self.interact_thing('bridge_comp.nav_tab', detail='bridge_comp_detail')
-        self.assert_game_data('tab', 'nav', detail='bridge_comp_detail')
-
-        # Go somewhere interesting.
-        self.interact_thing('bridge_comp.nav_line2',
-                detail='bridge_comp_detail')