Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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)