示例#1
0
    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)
示例#2
0
    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)
示例#3
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'])