Exemple #1
0
 def test_skeleton_life_drain(self):
     skeleton = monsters.Skeleton()
     skeleton.take_damage(1)
     self.assertNotEqual(skeleton.hp, skeleton.maxhp)
     skeleton.life_drain(self.dummy)
     self.assertEqual(self.dummy.hp, self.dummy.maxhp - 3)
     self.assertEqual(skeleton.hp, skeleton.maxhp)
Exemple #2
0
 def test_undead_hurt_by_healind(self):
     vampire = monsters.Vampire()
     skeleton = monsters.Skeleton()
     self.assertEqual(vampire.hp, vampire.maxhp)
     self.assertEqual(skeleton.hp, skeleton.maxhp)
     vampire.heal_damage(5)
     skeleton.heal_damage(5)
     self.assertEqual(vampire.hp, vampire.maxhp - 5)
     self.assertEqual(skeleton.hp, skeleton.maxhp - 5)
Exemple #3
0
    def test_victory(self):
        rogue = heroes.Rogue(level=99)
        skeleton = monsters.Skeleton()
        participants = [rogue, skeleton]

        battle = Battle(participants)

        battle.start()

        with self.assertRaises(Victory):
            expected_output = 'Skeleton dies!'
            output = battle.execute_command('backstab', skeleton)
            self.assertIn(expected_output, output)
Exemple #4
0
 def test_create_levelled_skeleton(self):
     skeleton = monsters.Skeleton(level=5)
     expected_stats = {'str': 15, 'con': 3, 'int': 3, 'spd': 6, 'maxhp': 16}
     actual_stats = {
         'str': skeleton.strength,
         'con': skeleton.constitution,
         'int': skeleton.intelligence,
         'spd': skeleton.speed,
         'maxhp': skeleton.maxhp
     }
     self.assertEqual(skeleton.level, 5)
     self.assertEqual(actual_stats, expected_stats)
     self.assertEqual(skeleton.hp, skeleton.maxhp)
Exemple #5
0
 def test_skeleton_bash(self):
     skeleton = monsters.Skeleton()
     skeleton.bash(self.dummy)
     self.assertEqual(self.dummy.hp, self.dummy.maxhp - 20)