class SpellTest(unittest.TestCase): def setUp(self): self.my_spell = Spell(name="Fireball", damage=30, mana_cost=50, cast_range=2) def test_create_spell(self): self.assertTrue(isinstance(self.my_spell, Spell)) def test_get_name(self): self.assertEqual(self.my_spell.get_name(), "Fireball") def test_get_damage(self): self.assertEqual(self.my_spell.get_damage(), 30) def test_get_mana_cost(self): self.assertEqual(self.my_spell.get_mana_cost(), 50) def test_get_cast_range(self): self.assertEqual(self.my_spell.get_cast_range(), 2) def test_dunder_str(self): self.assertEqual(str(self.my_spell), "Fireball") def test_dunder_repr(self): self.assertEqual(repr(self.my_spell), "Fireball")
class WeaponTest(unittest.TestCase): def setUp(self): self.spell = Spell("Abracadabra", 100, 11, 15) def test_damage(self): self.assertEqual(self.spell.get_damage(), 100) def test_name(self): self.assertEqual(self.spell.get_name(), 'Abracadabra') def test_mana_cost(self): self.assertEqual(self.spell.get_mana_cost(), 11) def test_cast_range(self): self.assertEqual(self.spell.get_cast_range(), 15)
class SpellTest(unittest.TestCase): def setUp(self): self.spell = Spell("Froze", 20, 10, 3) def test_is_instance(self): self.assertTrue(isinstance(self.spell, Spell)) def test_valid_members(self): self.assertEqual(self.spell.name, "Froze") self.assertEqual(self.spell.damage, 20) self.assertEqual(self.spell.mana_cost, 10) self.assertEqual(self.spell.cast_range, 3) def test_str(self): name = self.spell.name damage = self.spell.damage mana_cost = self.spell.mana_cost cast_range = self.spell.cast_range expected = "{} with damage: {}, mana_cost: {}, cast_range: {}" expected = expected.format(name, damage, mana_cost, cast_range) self.assertEqual(str(self.spell), expected) def test_get_functions(self): self.assertEqual(self.spell.get_name(), "Froze") self.assertEqual(self.spell.get_damage(), 20) self.assertEqual(self.spell.get_mana_cost(), 10) self.assertEqual(self.spell.get_cast_range(), 3) def test_prepare_json(self): data = { "name": "Froze", "damage": 20, "mana_cost": 10, "cast_range": 3 } self.assertEqual(self.spell.prepare_json(), data)