def test_gets_four_moves_when_none_are_known(self): p = Pokemon('pikachu', 100) moves = [('move1', 95), ('move2', 94), ('move3', 93), ('move4', 92)] moves = p.get_possible_moves(moves) expected_result = (['move1', 'move2', 'move3', 'move4'], []) self.assertEqual(expected_result, moves)
def test_chance_moves_are_not_affected_by_known_moves(self): p = Pokemon('pikachu', 100) p.moves = [Move('tackle')] moves = [('move1', 95), ('move2', 40), ('move3', 40), ('move4', 40)] moves = p.get_possible_moves(moves) expected_result = (['move1'], ['move2', 'move3', 'move4']) self.assertEqual(expected_result, moves)
def test_gets_only_first_3_moves_when_one_move_is_known(self): p = Pokemon('pikachu', 100) p.moves = [Move('tackle')] moves = [('move1', 95), ('move2', 94), ('move3', 93), ('move4', 92)] moves = p.get_possible_moves(moves) expected_result = (['move1', 'move2', 'move3'], []) self.assertEqual(expected_result, moves)
def test_does_not_get_moves_below_threshold(self): p = Pokemon('pikachu', 100) moves = [('move1', 95), ('move2', 94), ('move3', 50), ('move4', 25), ('move5', 25), ('move6', 15), ('move7', 15)] moves = p.get_possible_moves(moves) expected_result = (['move1', 'move2'], ['move3', 'move4', 'move5']) self.assertEqual(expected_result, moves)
def test_gets_less_likely_moves_as_chance_moves(self): p = Pokemon('pikachu', 100) moves = [('move1', 95), ('move2', 94), ('move3', 50), ('move4', 25), ('move5', 25), ('move6', 25), ('move7', 25)] moves = p.get_possible_moves(moves) expected_result = (['move1', 'move2'], ['move3', 'move4', 'move5', 'move6', 'move7']) self.assertEqual(expected_result, moves)
def test_expected_plus_known_does_not_exceed_four_with_chance_moves(self): p = Pokemon('pikachu', 100) p.moves = [ Move('tackle'), Move('splash'), Move('stringshot'), ] moves = [('move1', 95), ('move2', 80), ('move3', 40), ('move4', 40)] moves = p.get_possible_moves(moves) expected_result = (['move1'], []) self.assertEqual(expected_result, moves)
def test_does_not_get_already_revealed_move_and_guesses_expected_moves( self): p = Pokemon('pikachu', 100) p.moves = [ Move('tackle'), Move('stringshot'), ] moves = [('tackle', 95), ('splash', 85), ('stringshot', 40), ('move4', 40)] moves = p.get_possible_moves(moves) expected_result = (['splash'], ['move4']) self.assertEqual(expected_result, moves)
def test_chance_moves_are_not_guessed_if_known_plus_expected_equals_four( self): p = Pokemon('pikachu', 100) p.moves = [ Move('tackle'), Move('splash'), Move('stringshot'), ] moves = [('move1', 95), ('move2', 40), ('move3', 40), ('move4', 40)] moves = p.get_possible_moves(moves) expected_result = (['move1'], []) self.assertEqual(expected_result, moves)