Exemplo n.º 1
0
    def test_when_human_has_equipable_item_and_new_item_is_stronger_then_equip_new_item(
            self):
        human = Human(100, 100)
        weapon = Weapon(name='The Axe of Destiny', damage=20)
        weapon.equip_to(human)

        weapon2 = Weapon(name='The Axe of Destiny', damage=30)
        weapon2.equip_to(human)

        self.assertEqual(getattr(human, 'weapon'), weapon2)
Exemplo n.º 2
0
    def test_when_hero_wants_to_attack_with_weapon_and_has_it_then_return_weapon(
            self):
        hero = Hero(name="Bron",
                    title="Dragonslayer",
                    health=100,
                    mana=100,
                    mana_regeneration_rate=2)
        weapon = Weapon(name="The Axe of Destiny", damage=20)

        weapon.equip_to(hero)

        self.assertEqual(hero.attack(by='weapon'), weapon)
Exemplo n.º 3
0
    def test_when_weapon_is_equal_to_spell_then_return_weapon(self):
        human = Human(100, 100)
        weapon = Weapon(name='The Axe of Destiny', damage=20)
        weapon.equip_to(human)

        spell = Spell(name='The Fireball of Destiny',
                      damage=20,
                      mana_cost=10,
                      cast_range=2)
        spell.equip_to(human)

        self.assertEqual(human.get_strongest_mean(), weapon)
Exemplo n.º 4
0
    def test_when_human_has_no_equipable_item_then_equip_new_item(self):
        human = Human(100, 100)

        weapon = Weapon(name='The Axe of Destiny', damage=20)
        spell = Spell(name='Abrakadarba',
                      damage=20,
                      mana_cost=30,
                      cast_range=2)
        armor = Armor(name='The protector', armor_points=5)

        weapon.equip_to(human)
        spell.equip_to(human)
        armor.equip_to(human)

        self.assertEqual(getattr(human, 'weapon'), weapon)
        self.assertEqual(getattr(human, 'spell'), spell)
        self.assertEqual(getattr(human, 'armor'), armor)
Exemplo n.º 5
0
    def test_when_enemy_fists_are_weaker_than_weapon_then_return_weapon(self):
        enemy = Enemy(150, 50, 50)
        weapon = Weapon('Axe', 100)
        weapon.equip_to(enemy)

        self.assertEqual(enemy.attack(), weapon)
Exemplo n.º 6
0
    def test_when_enemy_fists_are_stronger_than_weapons_then_return_fists(self):
        enemy = Enemy(150, 50, 50)
        weapon = Weapon('Axe', 10)
        weapon.equip_to(enemy)

        self.assertEqual(enemy.attack(), Weapon('Fists', 50))