class TestArena(TestCase): def setUp(self): self.test_arena = Arena('characters.sqlite') self.test_mage = MageCharacter('Tyler', 10000, 100, 100, 10, 'mage', 10, 10) self.test_knight = KnightCharacter('Connor', 10000, 100, 100, 10, 'knight', 10, 10, 10) self.logPoint() def logPoint(self): current_test = self.id().split('.')[-1] calling_function = inspect.stack()[1][3] print('in {} calling {}'.format(current_test, calling_function)) def test_add_character(self): self.test_arena.add_character(self.test_mage) self.assertEqual(1, len(self.test_arena.get_all()), 'Must return 1') # cant really test the id since its randomly assigned??? def test_get_character(self): self.test_arena.add_character(self.test_mage) self.assertIsInstance(self.test_mage, MageCharacter, 'Must be instance of Mage') def test_get_all(self): self.test_arena.add_character(self.test_mage) self.assertEqual(3, len(self.test_arena.get_all()), 'Must return 3') def test_get_all_by_type(self): self.test_arena.add_character(self.test_mage) self.test_arena.add_character(self.test_knight) self.assertEqual(3, len(self.test_arena.get_all_by_type('mage')), 'Must return 3') def test_update(self): self.test_arena.add_character(self.test_knight) self.test_new_connor = KnightCharacter('Connor', 900, 100, 100, 10, 'knight', 10, 10, 10) self.test_new_connor.id = 3 #print(self.test_new_connor.username,self.test_new_connor.id) self.test_arena.update_character(self.test_new_connor) self.assertEqual(7, len(self.test_arena.get_all()), 'Must return 1') def test_delete(self): self.test_arena.add_character(self.test_mage) self.test_arena.add_character(self.test_knight) self.test_arena.delete_character(self.test_mage.get_id()) self.assertEqual(2, len(self.test_arena.get_all()), 'Must return 2')