class TestEntities(unittest.TestCase): def setUp(self): self.player = Player("Socrates O. Rockefeller") self.enemy = Mob("Steve") def test_player_created(self): """Test a player can be created""" self.assertTrue(isinstance(self.player, Entity)) self.assertTrue(isinstance(self.player, Player)) def test_mob_created(self): """Test that a mob can be created""" self.assertTrue(isinstance(self.enemy, Entity)) self.assertTrue(isinstance(self.enemy, Mob)) def test_player_attack(self): """Test that a player attack removes health of the enemy""" self.assertEqual(self.enemy.stats["HP"], 10) self.player.attack(self.enemy) self.assertNotEqual(self.enemy.stats["HP"], 10) def test_player_heal(self): self.player.stats["HP"] = 2 self.player.heal(8) self.assertEqual(self.player.stats["HP"], 10) def test_life(self): self.assertTrue(self.player.is_alive()) self.assertFalse(self.player.is_dead()) self.player.stats["HP"] = 0 self.assertTrue(self.player.is_dead()) self.assertFalse(self.player.is_alive())