def test_get_class_lists(self): updater = ModuleUpdater(ut_module=self.ut_module) loader = ModuleLoader(anchor_dir=self.anchor_dir) mod = loader.load_module(self.tmp_module_name) self.assertTrue(mod) # --> And test it first with no difference... existing_classes, new_classes = updater._get_class_lists(loaded_module=mod) self.assertFalse(new_classes) # --> Then with a new one self.ut_module.add_class(class_name='NewClassTests') existing_classes, new_classes = updater._get_class_lists(loaded_module=mod) self.assertTrue(new_classes)
def test_update_new_methods_none(self): with mock.patch('tddtags.core.ModuleUpdater._add_new_tests_to_class', spec=True) as ModUp: # --> Prep # (Same as test_update_new_methods, but no new test method added) container = None # We'll also verity that it correctly creates the container and returns it loader = ModuleLoader(anchor_dir=self.anchor_dir) mod = loader.load_module(self.tmp_module_name) updater = ModuleUpdater(ut_module=self.ut_module) existing_classes, new_names = updater._get_class_lists(loaded_module=mod) # --> The test container = updater._update_new_methods(container, self.tmp_file, existing_classes) self.assertFalse(container) self.assertEqual(updater._add_new_tests_to_class.call_count, 0)
def test_update_new_methods(self): with mock.patch('tddtags.core.ModuleUpdater._add_new_tests_to_class', spec=True) as ModUp: # --> Prep ut_class = self.ut_module.class_list['ChildSampleTests'] ut_class.add_method('eat_beans') container = None # We'll also verity that it correctly creates the container and returns it loader = ModuleLoader(anchor_dir=self.anchor_dir) mod = loader.load_module(self.tmp_module_name) updater = ModuleUpdater(ut_module=self.ut_module) existing_classes, new_names = updater._get_class_lists(loaded_module=mod) # --> The test container = updater._update_new_methods(container, self.tmp_file, existing_classes) self.assertTrue(container) self.assertIsInstance(container, UTModuleContainer) self.assertEqual(updater._add_new_tests_to_class.call_count, 1) parm_info = [('container', 0), ('class_name', 1), ('new_test_names', 2)] kwargs = self.get_patched_call_parms(parm_info, updater._add_new_tests_to_class, 0) self.assertEqual(kwargs['class_name'], 'ChildSampleTests') self.assertEqual(kwargs['new_test_names'], ['test_eat_beans'])