def test_gets_multiple_abilities(self): p = Pokemon('pikachu', 100) p.ability = None abilities = [ ('static', 50), ('voltabsorb', 50), ] possible_items = p.get_possible_abilities(abilities) expected_items = ['static', 'voltabsorb'] self.assertEqual(expected_items, possible_items)
def test_gets_revealed_item_when_item_is_revealed(self): p = Pokemon('pikachu', 100) p.ability = 'static' abilities = [ ('static', 50), ('voltabsorb', 50), ] possible_items = p.get_possible_abilities(abilities) expected_items = ['static'] self.assertEqual(expected_items, possible_items)
def test_ignored_ability_in_pass_abilities(self): p = Pokemon('pikachu', 100) p.ability = None abilities = [ ('static', 50), ('pressure', 50), # pass-ability; it reveals itself so do not guess ] possible_items = p.get_possible_abilities(abilities) expected_items = ['static'] self.assertEqual(expected_items, possible_items)
def test_does_not_get_low_percentage_ability(self): p = Pokemon('pikachu', 100) p.ability = None abilities = [ ('static', 65), ('other_ability1', 5), ('other_ability2', 5), ('other_ability3', 5), ('other_ability4', 5), ('other_ability5', 5), ('other_ability6', 5), ('other_ability7', 5), ] possible_items = p.get_possible_abilities(abilities) expected_items = ['static'] self.assertEqual(expected_items, possible_items)