Ejemplo n.º 1
0
 def test_church_floor_message(self, mock_output):
     character.set_column(8)
     character.set_row(8)
     scenario_message()
     expected_output = 'You walk over the cold stone floor of the church\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 2
0
 def test_treasury_message(self, mock_output):
     character.set_column(3)
     character.set_row(2)
     scenario_message()
     expected_output = 'You are in the treasury\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 3
0
 def test_wooden_ground_message(self, mock_output):
     character.set_column(2)
     character.set_row(7)
     scenario_message()
     expected_output = 'The wooden boards creak underneath your feet\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 4
0
 def test_grass_message(self, mock_output):
     character.set_column(8)
     character.set_row(3)
     scenario_message()
     expected_output = 'You are on a grassy field\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 5
0
 def test_shack_message(self, mock_output):
     character.set_column(4)
     character.set_row(7)
     scenario_message()
     expected_output = 'There is a run down shack to your left\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 6
0
 def test_dirt_path_message(self, mock_output):
     character.set_column(4)
     character.set_row(6)
     scenario_message()
     expected_output = 'You are on a dirt path\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 7
0
 def test_bridge_message(self, mock_output):
     character.set_column(8)
     character.set_row(4)
     scenario_message()
     expected_output = 'You walk over the stone bridge\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 8
0
 def test_collision_message(self, mock_output):
     character.set_row(6)
     character.set_column(4)
     expected_output = 'You cant move in that direction\n'
     collision_check('north')
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 9
0
 def test_take_key(self):
     character.character_info['inventory'] = []
     character.set_column(5)
     character.set_row(5)
     map.set_map(5, 5, ' K ')
     take_item_check('take key')
     self.assertEqual(character.get_character_info()['inventory'], ['key'])
 def test_no_key_message(self, mock_output):
     character.set_row(5)
     character.set_column(5)
     map.set_map(5, 4, ' L ')
     adjacent_door_check('unlock door')
     expected_output = 'You do not have a key to open that door\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 11
0
 def test_locked_door_message(self, mock_output):
     character.set_column(6)
     character.set_row(2)
     scenario_message()
     expected_output = 'You reach the treasury but it looks like the door is locked\n' \
                       'You will need some sort of key to get through\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 12
0
 def test_church_message(self, mock_output):
     character.set_column(4)
     character.set_row(9)
     scenario_message()
     expected_output = 'You come across a church that is still in good condition\n' \
                       'There is a door that seems to be unlocked\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
 def test_random_input(self, mock_output):
     character.set_row(5)
     character.set_column(5)
     map.set_map(5, 4, ' L ')
     adjacent_door_check('unlock gdfgeg')
     expected_output = 'i dont understand\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
 def test_treasure_message(self, mock_output):
     character.set_row(5)
     character.set_column(5)
     map.set_map(5, 5, ' C ')
     item_on_ground_message()
     expected_output = 'You find the treasure you were searching for\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 15
0
 def test_take_treasure(self):
     character.character_info['inventory'] = []
     character.set_column(5)
     character.set_row(5)
     map.set_map(5, 5, ' C ')
     take_item_check('take treasure')
     self.assertEqual(character.get_character_info()['inventory'],
                      ['treasure'])
 def test_bread_message(self, mock_output):
     character.set_row(5)
     character.set_column(5)
     map.set_map(5, 5, ' B ')
     item_on_ground_message()
     expected_output = 'You see some bread left on a bench, it looks edible\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
 def test_key_message(self, mock_output):
     character.set_row(5)
     character.set_column(5)
     map.set_map(5, 5, ' K ')
     item_on_ground_message()
     expected_output = 'You see a key on a table\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
 def test_sword_message(self, mock_output):
     character.set_row(5)
     character.set_column(5)
     map.set_map(5, 5, ' S ')
     item_on_ground_message()
     expected_output = 'There is a sword propped up against the wall, it seems to be in good condition\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 19
0
 def test_unlock_door_message(self, mock_output):
     map.set_map(0, 0, '  ')
     character.set_row(0)
     character.set_column(0)
     print_message('unlock door')
     expected_output = 'you unlock the door\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 20
0
 def test_use_bread_message(self, mock_output):
     map.set_map(0, 0, '  ')
     character.set_row(0)
     character.set_column(0)
     print_message('use bread')
     expected_output = 'You eat the bread and return to full HP\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 21
0
 def test_use_sword_message(self, mock_output):
     map.set_map(0, 0, '  ')
     character.set_row(0)
     character.set_column(0)
     print_message('use sword')
     expected_output = 'You swing your sword around looking really dumb\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 22
0
 def test_take_item_message(self, mock_output):
     map.set_map(0, 0, '  ')
     character.set_row(0)
     character.set_column(0)
     print_message('take bread')
     expected_output = 'you pick up bread\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 23
0
 def test_take_treasure_message(self, mock_output):
     map.set_map(0, 0, '  ')
     character.set_row(0)
     character.set_column(0)
     print_message('take treasure')
     expected_output = 'you accomplish your goal and retrieved the treasure\n' \
                       'now you may roam this town killing monsters as you wish\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 24
0
 def test_item_not_on_player(self, mock_output):
     character.character_info['inventory'] = []
     character.set_column(5)
     character.set_row(5)
     map.set_map(5, 5, ' C ')
     take_item_check('take bread')
     expected_output = 'You cant take that\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 25
0
 def test_displays_3x3_portion(self, mock_output):
     character.set_row(10)
     character.set_column(1)
     map.reset_map()
     display_map()
     expected_output = ' | ------\n\n' \
                       ' |  P    \n\n' \
                       ' \ ------\n\n'
     actual_output = mock_output.getvalue()
     self.assertEqual(expected_output, actual_output)
Ejemplo n.º 26
0
def collision_check(player_input: str) -> bool:
    """Checks if there is a wall where the player is trying to move

    PARAM player a correctly formatted dictionary
    PARAM dungeon_map a list of lists
    PARAM player_input a string
    PRECONDITION player is a correctly formatted dictionary
    PRECONDITION dungeon_map is a list of lists with 12 elements each
    PRECONDITION player_input is the string north, east, south, or west
    POSTCONDITION Prints nothing or an error message if there is a wall
    RETURN True if user cant walk in that direction False otherwise
    """
    # list of all un-walkable terrain
    unwalkable_terrain = ('---', ' | ', ' \ ', ' / ', '~~~', '|||', ' D ',
                          ' L ')
    dungeon_map = map.get_map()
    player = character.get_character_info()

    # Checks user move direction and whether that directions area is in un-walkable terrain
    if player_input == 'east' and dungeon_map[player['row']][
            player['column'] + 1] not in unwalkable_terrain:
        character.set_column(player['column'] + 1)
        return False
    elif player_input == 'west' and dungeon_map[player['row']][
            player['column'] - 1] not in unwalkable_terrain:
        character.set_column(player['column'] - 1)
        return False
    elif player_input == 'north' and dungeon_map[player['row'] - 1][
            player['column']] not in unwalkable_terrain:
        character.set_row(player['row'] - 1)
        return False
    elif player_input == 'south' and dungeon_map[player['row'] + 1][
            player['column']] not in unwalkable_terrain:
        character.set_row(player['row'] + 1)
        return False
    # User tried to move toward an un-walkable terrain, prints error
    else:
        print('You cant move in that direction')
        return True
Ejemplo n.º 27
0
 def test_door_input(self, mock_input):
     character.set_column(5)
     character.set_row(5)
     map.set_map(5, 6, ' D ')
     self.assertEqual(user_input(), 'open door')
Ejemplo n.º 28
0
 def test_collision(self):
     map.reset_map()
     character.set_row(6)
     character.set_column(4)
     self.assertTrue(collision_check('north'))
Ejemplo n.º 29
0
 def test_move_west(self):
     character.set_row(6)
     character.set_column(5)
     self.assertFalse(collision_check('west'))
Ejemplo n.º 30
0
 def test_move_south(self):
     character.set_row(6)
     character.set_column(4)
     self.assertFalse(collision_check('south'))