Beispiel #1
0
class CombatTestCase(unittest.TestCase):
    def setUp(self):
        self.attacker = Creature(name="attacker", player="player_1", level=1, position=Point(0, 0))
        self.defender = Creature(name="defender", player="player_2", level=1, position=Point(1, 0))

    def test_attack_hit(self):
        self.attacker.accuracy = 1.0
        self.defender.dodge = 0.0

        attack_result = self.attacker.attack(self.defender)

        self.assertEqual(AttackResult.HIT, attack_result)
        self.assertTrue(self.defender.life < self.defender.max_life)

    def test_attack_missed(self):
        self.attacker.accuracy = 0.0

        attack_result = self.attacker.attack(self.defender)

        self.assertEqual(AttackResult.MISS, attack_result)
        self.assertTrue(self.defender.life == self.defender.max_life)