def test_spellcasting(self):
     char = Character(name='Multiclass',
                      classes=['wizard', 'fighter'],
                      levels=[5, 4])
     self.assertEqual(len(char.spellcasting_classes), 1)
     char = Character(name='Multiclass',
                      classes=['wizard', 'fighter'],
                      subclasses=[None, 'Eldritch Knight'],
                      levels=[5, 4])
     self.assertEqual(len(char.spellcasting_classes), 2)
     # equivalent spellcasting level: 6
     self.assertEqual(char.spell_slots(spell_level=1), 4)
     self.assertEqual(char.spell_slots(spell_level=2), 3)
     self.assertEqual(char.spell_slots(spell_level=3), 3)
     self.assertEqual(char.spell_slots(spell_level=4), 0)
 def test_spellcasting(self):
     char = Character(name="Multiclass",
                      classes=["wizard", "fighter"],
                      levels=[5, 4])
     self.assertEqual(len(char.spellcasting_classes), 1)
     char = Character(
         name="Multiclass",
         classes=["wizard", "fighter"],
         subclasses=[None, "Eldritch Knight"],
         levels=[5, 4],
     )
     self.assertEqual(len(char.spellcasting_classes), 2)
     # equivalent spellcasting level: 6
     self.assertEqual(char.spell_slots(spell_level=1), 4)
     self.assertEqual(char.spell_slots(spell_level=2), 3)
     self.assertEqual(char.spell_slots(spell_level=3), 3)
     self.assertEqual(char.spell_slots(spell_level=4), 0)