コード例 #1
0
class Test_Entity(unittest.TestCase):

    def setUp(self):
        self.entity = Entity("Kung-Fu Balhar", 100)
        self.otherentity = Entity("Balha", 100)
        self.entity.weapon = Weapon("Kaish", 50, 0.5)

    def test_entity_name(self):
        output = "Kung-Fu Balhar"
        result = self.entity.name
        self.assertEqual(result, output)

    def test_get_entity_health(self):
        output = 100
        result = self.entity.get_health()
        self.assertEqual(result, output)

    def test_is_entity_alive(self):
        self.assertTrue(self.entity.is_alive())

    def test_entity_take_damage(self):
        health_left = 60
        damage = 40
        result = self.entity.get_health() - damage
        self.assertEqual(health_left, result)

    def test_entity_take_healing_when_not_dead_and_has_max_hp(self):
        self.assertFalse(self.entity.take_healing(10))

    def test_entity_take_healing_when_not_dead_and_has_less_than_max_hp(self):
        self.entity.health -= 10
        self.assertTrue(self.entity.take_healing(10))

    def test_entity_take_healing_when__dead(self):
        self.entity.health -= 100
        self.assertFalse(self.entity.take_healing(10))

    def test_has_weapon_when_weapon_not_equipped(self):
        result = self.otherentity.has_weapon()
        self.assertFalse(result)

    def test_has_weapon_when_weapon_equipped(self):
        self.weapon = Weapon("Mighty Axe", 25, 0.2)
        self.entity.equip_weapon(self.weapon)
        result = self.entity.has_weapon()
        self.assertTrue(result)

    def test_equip_weapon(self):
        self.weapon = Weapon("Mighty Axe", 25, 0.2)
        result = self.entity.equip_weapon(self.weapon)
        self.assertTrue(result)

    def test_damage_of_entity_when_weapon_equipped(self):
        self.assertEqual(self.entity.attack(), 50)

    def test_damage_of_entity_when_weapon_not_equipped(self):
        self.assertEqual(self.otherentity.attack(), 0)
コード例 #2
0
class TestEntityClass(unittest.TestCase):
    def setUp(self):
        self.entity = Entity('Baba', 100)

    def test_initialisation_atributes(self):
        self.assertEqual(self.entity.name, 'Baba')
        self.assertEqual(self.entity.health, 100)

    def test_get_health(self):
        self.assertEqual(self.entity.get_health(), 100)

    def test_is_alive(self):
        self.assertTrue(self.entity.is_alive())
        self.entity = Entity('Baba', 0)
        self.assertFalse(self.entity.is_alive())

    def test_take_damage(self):
        self.assertTrue(self.entity.take_damage(50))
        self.assertEqual(self.entity.get_health(), 50)

        self.assertTrue(self.entity.take_damage(51))
        self.assertEqual(self.entity.get_health(), 0)
        self.assertFalse(self.entity.take_damage(10))

    def test_take_healing(self):
        self.assertTrue(self.entity.take_healing(100))
        self.assertEqual(self.entity.get_health(), 100)
        self.entity.take_damage(50)
        self.assertTrue(self.entity.take_healing(40))
        self.assertEqual(self.entity.get_health(), 90)

        self.entity = Entity('Baba', 0)
        self.assertFalse(self.entity.take_healing(100))

    def test_has_weapon(self):
        self.assertFalse(self.entity.has_weapon())

    def test_equip_weapon(self):
        sword = Weapon('Sword', 100, 0.4)
        sword2 = Weapon('Sword', 100, 0.4)
        self.entity.equip_weapon(sword)
        self.assertTrue(self.entity.has_weapon())
        self.assertEqual(self.entity.weapon, sword)
        self.entity.equip_weapon(sword2)
        self.assertNotEqual(self.entity.weapon, sword)

    def test_attack(self):
        self.assertEqual(self.entity.attack(), 0)
        sword = Weapon('Sword', 100, 0)
        self.entity.equip_weapon(sword)
        self.assertEqual(self.entity.attack(), 100)

        sword = Weapon('Sword', 100, 1)
        self.entity.equip_weapon(sword)
        self.assertEqual(self.entity.attack(), 200)
コード例 #3
0
 def test_attack_with_weapon(self):
     my_entity = Entity("Furious", 100)
     my_weapon = Weapon("axe", 30, 0.5)
     my_entity.equip_weapon(my_weapon)
     self.assertEqual(30, my_entity.attack())
コード例 #4
0
 def test_attack_without_weapon(self):
     my_entity = Entity("Furious", 100)
     self.assertEqual(0, my_entity.attack())
コード例 #5
0
 def test_attack_with_weapon(self):
     my_entity = Entity("Furious", 100)
     my_weapon = Weapon("axe", 30, 0.5)
     my_entity.equip_weapon(my_weapon)
     self.assertEqual(30, my_entity.attack())
コード例 #6
0
 def test_attack_without_weapon(self):
     my_entity = Entity("Furious", 100)
     self.assertEqual(0, my_entity.attack())