def test_hero_equip_armor(): jodie = superheroes.Hero("Jodie Foster") gauntlets = superheroes.Armor("Gauntlets", 30) jodie.add_armor(gauntlets) assert len(jodie.armors) == 1 assert jodie.armors[0].name == "Gauntlets"
def test_hero_defense(): jodie = superheroes.Hero("Jodie Foster") gauntlets = superheroes.Armor("Gauntlets", 30) jodie.add_armor(gauntlets) defense = jodie.defend() assert defense >= 0 and defense <= 30
def test_dead_hero_defense(): hero = superheroes.Hero("Vlaad", 0) garlic = superheroes.Armor("Garlic", 30000) hero.add_ability(garlic) assert hero.defend() == 0
def test_hero_init_new_health(): hero = superheroes.Hero("Jodie Foster", 600) assert hero.current_health == 600
def test_hero_start_health(): hero = superheroes.Hero("Jodie Foster", 300) assert hero.starting_health == 300
def test_armor(): armor = superheroes.Hero("The Ring", 200) for _ in range(0, 500): defense = armor.defend() assert (defense <= 200 and defense >= 0)
def test_hero_default_health(): jodie = superheroes.Hero("Jodie Foster") assert jodie.current_health == 100
def test_team_hero(): team = superheroes.Team("One") jodie = superheroes.Hero("Jodie Foster") team.add_hero(jodie) assert len(team.heroes) == 1 assert team.heroes[0].name == "Jodie Foster"
def test_hero_instance(): Athena = superheroes.Hero("Athena") assert Athena
def test_hero_weapon_equip(): sans = superheroes.Hero("Comic Sans") weapon = superheroes.Weapon("Garlic Hot Sauce", 400) sans.add_ability(weapon) assert len(sans.abilities) == 1 assert sans.abilities[0].name == "Garlic Hot Sauce"
def test_find_unlisted_hero(): team = superheroes.Team("One") jodie = superheroes.Hero("Jodie Foster") team.add_hero(jodie) assert team.find_hero("Alexa") == 0
def test_find_hero(): team = superheroes.Team("One") jodie = superheroes.Hero("Jodie Foster") team.add_hero(jodie) hero = team.find_hero("Jodie Foster") assert hero.name == "Jodie Foster"
def test_hero_attack_ability(): big_strength = superheroes.Ability("Overwhelming Strength", 30000) athena = superheroes.Hero("Athena") athena.add_ability(big_strength) attack = athena.attack_value() assert attack <= 30000 and attack >= 0
import superheroes debug_ability = superheroes.Ability("Debugging Ability", 20) assert (0 <= debug_ability.attack() <= 20), "Ability.attack() generated out of range" debug_ability_1 = superheroes.Ability("Debugging Ability 1", 30) debug_block = superheroes.Armor("Debug block", 20) assert (0 <= debug_block.block() <= 20), "Armor.block() generated out of range" debug_block_1 = superheroes.Armor("Debug block 1", 30) test_hero = superheroes.Hero("Grace Hopper", 200) test_hero_1 = superheroes.Hero("John Stickler", 150) test_hero.add_ability(debug_ability) test_hero.add_armor(debug_block) test_hero_1.add_ability(debug_ability_1) test_hero_1.add_armor(debug_block_1) test_hero.fight(test_hero_1)