示例#1
0
 def test_attk(self):
     sold = Soldier.Soldier()
     sold2 = Soldier.Soldier()
     sold.attack(sold2)
     self.assertLess(sold2.hp, sold.hp)
     with self.assertRaises(exceptions.AttacksItself):
         sold.attack(sold)
示例#2
0
 def test_mana(self):
     wiz = Wizard.Wizard()
     sold = Soldier.Soldier()
     sold.state.hp = 100000
     wiz.cast_spell("Fireball", sold)
     wiz.cast_spell("Fireball", sold)
     wiz.cast_spell("Fireball", sold)
     with self.assertRaises(exceptions.OutOfMana):
         wiz.cast_spell("Fireball", sold)
示例#3
0
 def test_except(self):
     woof = Werewolf.Werewolf()
     wof2 = Werewolf.Werewolf()
     sold = Soldier.Soldier()
     woof.take_damage(1000000)
     with self.assertRaises(exceptions.CantDoCauseDead):
         woof.attack(sold)
     with self.assertRaises(exceptions.TargetIsDead):
         wof2.attack(woof)
     with self.assertRaises(exceptions.CantTurn):
         wof2.turn(wof2)
示例#4
0
 def test_except(self):
     wiz = Wizard.Wizard()
     wiz2 = Wizard.Wizard()
     sold = Soldier.Soldier()
     with self.assertRaises(exceptions.AttacksItself):
         wiz.cast_spell("Fireball", wiz)
     with self.assertRaises(exceptions.CantDoCauseDead):
         wiz.take_damage(100000)
         wiz.cast_spell("Fireball", sold)
     with self.assertRaises(exceptions.TargetIsDead):
         wiz2.attack(wiz)
     with self.assertRaises(exceptions.TargetIsDead):
         wiz2.cast_spell("Lightning", wiz)
示例#5
0
 def test_lifesteal(self):
     vamp = Vampire.Vampire()
     sold = Soldier.Soldier()
     sold.attack(vamp)
     sold.attack(vamp)
     self.assertEqual(vamp.hp, 55)
示例#6
0
 def test_atk(self):
     ber = Berserker.Berserker()
     sold = Soldier.Soldier()
     sold.attack(ber)
     self.assertLess(ber.hp, ber.hp_limit)
示例#7
0
 def test_cattk(self):
     rog = Rogue.Rogue()
     sold = Soldier.Soldier()
     sold.attack(rog)
     self.assertLess(rog.hp, Hp.ROGUE_HP.value)
示例#8
0
 def test_atk(self):
     rog = Rogue.Rogue()
     sold = Soldier.Soldier()
     rog.attack(sold)
     self.assertEqual(rog.hp, Hp.ROGUE_HP.value)
示例#9
0
 def test_is_alive(self):
     sold = Soldier.Soldier()
     self.assertEqual(sold.is_alive(), True)
     sold.take_damage(100000)
     self.assertEqual(sold.is_alive(), False)
示例#10
0
 def test_turnable(self):
     sold = Soldier.Soldier()
     self.assertEqual(sold.turnable, True)
示例#11
0
 def test_attk(self):
     hel = Healer.Healer()
     sold = Soldier.Soldier()
     hel.attack(sold)
     self.assertEqual(sold.hp, sold.hp_limit - 5)
示例#12
0
 def test_attk(self):
     wiz = Wizard.Wizard()
     sold = Soldier.Soldier()
     wiz.attack(sold)
     self.assertEqual(sold.hp, sold.hp_limit - 15)