示例#1
0
    def test_only_one_move_causes_no_item_to_be_guessed(self):
        self.battle.user.active.stats[constants.SPEED] = 210

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#2
0
    def test_unknown_moves_defaults_to_0_priority(self):
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|unknown-move|',
            '|move|p1a: Caterpie|unknown-move|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual('choicescarf', self.battle.opponent.active.item)
示例#3
0
    def test_guesses_scarf_in_trickroom_when_opponent_cannot_be_slower(self):
        self.battle.trick_room = True
        self.battle.user.active.stats[
            constants.SPEED] = 110  # opponent caterpie speed is 113 - 207

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual('choicescarf', self.battle.opponent.active.item)
示例#4
0
    def test_guesses_choicescarf_when_opponent_should_always_be_slower(self):
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual('choicescarf', self.battle.opponent.active.item)
示例#5
0
    def test_does_not_guess_choicescarf_when_item_is_known(self):
        self.battle.opponent.active.item = 'leftovers'
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual('leftovers', self.battle.opponent.active.item)
示例#6
0
    def test_does_not_guess_item_when_opponent_can_be_faster(self):
        self.battle.user.active.stats[
            constants.
            SPEED] = 200  # opponent's speed can be 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#7
0
    def test_does_not_guess_item_when_moves_are_different_priority(self):
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|Quick Attack|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#8
0
    def test_priority_move_with_unknown_move_does_not_cause_guess(self):
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|Quick Attack|',
            '|move|p1a: Caterpie|unknown-move|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#9
0
    def test_does_not_guess_scarf_under_trickroom_when_opponent_could_be_slower(
            self):
        self.battle.trick_room = True
        self.battle.user.active.stats[
            constants.SPEED] = 205  # opponent caterpie speed is 113 - 207

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#10
0
    def test_does_not_guess_scarf_in_trickroom(self):
        self.battle.trick_room = True
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#11
0
    def test_does_not_guess_choicescarf_when_bot_is_speed_unboosted(self):
        self.battle.user.active.stats[
            constants.
            SPEED] = 210  # opponent's speed should not be greater than 207 (max speed caterpie)
        self.battle.user.active.boosts[constants.SPEED] = -1

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)
示例#12
0
    def test_swiftswim_causing_opponent_to_be_faster_results_in_not_guessing_choicescarf(
            self):
        self.battle.opponent.active.ability = 'swiftswim'
        self.battle.weather = constants.RAIN
        self.battle.user.active.stats[
            constants.
            SPEED] = 300  # opponent's speed can be 414 (max speed caterpie plus swiftswim)

        messages = [
            '|move|p2a: Caterpie|Stealth Rock|',
            '|move|p1a: Caterpie|Stealth Rock|'
        ]

        check_choicescarf(self.battle, messages)

        self.assertEqual(constants.UNKNOWN_ITEM,
                         self.battle.opponent.active.item)