def test_equip_hero_weapon_must_be_weapon(self): h = Hero(name="Bron", title="Dragonslayer", health=100, mana=100, mana_regeneration_rate=2) weapon = Weapon(name='Axe', damage=20) h.equip(weapon) self.assertEqual(h.weapon, weapon)
def test_attack_method_when_by_weapon_when_has_weapon(self): h = Hero(name="Bron", title="Dragonslayer", health=100, mana=100, mana_regeneration_rate=2) weapon = Weapon(name='Axe', damage=20) h.equip(weapon) result = h.attack(by='weapon') self.assertEqual(result, 20)
def test_init_fight_should_save_hero_and_enemy(self): map_ = Dungeon('level1.txt') hero = Hero(name="Bron", title="Dragonslayer", health=100, mana=100, mana_regeneration_rate=2) weapon = Weapon('Axe', 20) spell = Spell('Fireball', 20, 50, 2) hero.equip(weapon) hero.learn(spell) enemy = Enemy(health=100, mana=20, damage=20) fight = Fight(hero, enemy, level_map=map_.level_map) self.assertEqual((hero, enemy), (fight.hero, fight.enemy))
def test_hero_attack_by_spell_returns_true_if_fight_starts(self): hero = Hero(name="Bron", title="Dragonslayer", health=100, mana=100, mana_regeneration_rate=2) map_ = Dungeon('level1.txt') map_.spawn(hero) weapon = Weapon('Axe', damage=20) hero.equip(weapon) spell = Spell('fireball', 20, 20, 2) hero.spell = spell map_.move_hero('right') map_.move_hero('down') map_.move_hero('down') map_.move_hero('down') result = map_.hero_attack(by='spell') self.assertEqual(result, True)