class TestCombat(unittest.TestCase): def setUp(self): self.char1 = Character(name='player', hit_points=8, natural_damage=5, natural_defense=5) self.char2 = Character(name='boss', hit_points=12, natural_damage=7, natural_defense=2) self.combat = Combat(self.char1, self.char2) def test_taking_turns(self): winner = self.combat.do_turn() self.assertEqual(self.char2.hit_points, 9) self.assertEqual(self.char1.hit_points, 6) self.assertEqual(winner, None) winner = self.combat.do_turn() self.assertEqual(self.char2.hit_points, 6) self.assertEqual(self.char1.hit_points, 4) self.assertEqual(winner, None) winner = self.combat.do_turn() self.assertEqual(self.char2.hit_points, 3) self.assertEqual(self.char1.hit_points, 2) self.assertEqual(winner, None) winner = self.combat.do_turn() self.assertEqual(self.char2.hit_points, 0) self.assertEqual(self.char1.hit_points, 2) self.assertEqual(winner, self.char1) def test_full_combat(self): self.char1.hit_points = 8 self.char2.hit_points = 12 winner = self.combat.do_full_combat() self.assertEqual(winner, self.char1)
def setUp(self): self.char1 = Character(name='player', hit_points=8, natural_damage=5, natural_defense=5) self.char2 = Character(name='boss', hit_points=12, natural_damage=7, natural_defense=2) self.combat = Combat(self.char1, self.char2)