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_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)
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_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)
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)
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_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)
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)
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_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)
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)
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_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)
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)
def test_unlock_door(self): character.set_row(5) character.set_column(5) map.set_map(5, 4, ' L ') character.character_info['inventory'] = ['key'] self.assertFalse(adjacent_door_check('unlock door'))
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')
def test_directional_input(self, mock_input): character.set_column(1) character.set_row(2) map.set_map(2, 2, ' ') self.assertEqual(user_input(), 'east')
def test_no_key(self): character.set_row(5) character.set_column(5) map.set_map(5, 4, ' L ') self.assertTrue(adjacent_door_check('unlock door'))
def test_open_door(self): character.set_row(5) character.set_column(5) map.set_map(5, 6, ' D ') self.assertFalse(adjacent_door_check('open door'))
def test_take_item_input(self, mock_input): character.set_column(5) character.set_row(5) map.set_map(5, 5, ' K ') self.assertEqual(user_input(), 'take key')
def test_item_not_on_player_returns_true(self): character.character_info['inventory'] = [] character.set_column(5) character.set_row(5) map.set_map(5, 5, ' C ') self.assertTrue(take_item_check('take bread'))