def test_overwrites_existing_test_methods_with_force_option(self): test_method = create(TestMethod, name="test_method") test_class = create(TestClass, name="TestSomething", test_cases=[test_method]) add_test_case_to_project(self.project, test_class) assert_equal([test_method], get_test_cases(self.project)[0].test_cases) # Let's try adding the same method again with a force option # set to True. new_test_method = create(TestMethod, name="test_method") new_test_class = create(TestClass, name="TestSomething", test_cases=[new_test_method]) add_test_case_to_project(self.project, new_test_class, force=True) # The class is still the same. assert_equal([self.existing_test_class], get_test_cases(self.project)) # But the method got replaced. assert_equal([new_test_method], get_test_cases(self.project)[0].test_cases) # The right message was issued. assert_contains_once( self._get_log_output(), "Replacing TestSomething.test_method from test_module.py with generated version." )
def test_adds_new_test_methods_to_existing_test_classes(self): test_method = create(TestMethod, name="test_new_method") test_class = create(TestClass, name="TestSomething", test_cases=[test_method]) add_test_case_to_project(self.project, test_class) assert_length(get_test_cases(self.project), 1) assert get_test_cases(self.project)[0] is test_method.parent assert test_method.parent is not test_class # The right message was issued. assert_contains_once(self._get_log_output(), "Adding generated test_new_method to TestSomething in test_module.py.")
def test_adds_new_test_methods_to_existing_test_classes(self): test_method = create(TestMethod, name="test_new_method") test_class = create(TestClass, name="TestSomething", test_cases=[test_method]) add_test_case_to_project(self.project, test_class) assert_length(get_test_cases(self.project), 1) assert get_test_cases(self.project)[0] is test_method.parent assert test_method.parent is not test_class # The right message was issued. assert_contains_once( self._get_log_output(), "Adding generated test_new_method to TestSomething in test_module.py." )
def test_adds_new_test_classes_to_existing_test_module(self): test_class = create(TestClass, name="TestSomethingNew", associated_modules=[self.project.create_module("module.py")]) add_test_case_to_project(self.project, test_class) assert_equal_sets([self.existing_test_class, test_class], get_test_cases(self.project))
def test_creates_new_test_module_if_no_of_the_existing_match(self): project = TestableProject(self.tmpdir, ["test_other.py"]) add_tests_to_project(project, [os.path.join(project.path, "module.py")], 'unittest') project_test_cases = get_test_cases(project) assert_length(project_test_cases, 1) assert_length(project["test_other"].test_cases, 0)
def test_adds_new_test_classes_to_existing_test_module(self): test_class = create( TestClass, name="TestSomethingNew", associated_modules=[self.project.create_module("module.py")]) add_test_case_to_project(self.project, test_class) assert_equal_sets([self.existing_test_class, test_class], get_test_cases(self.project))
def test_doesnt_overwrite_existing_test_methods_by_default(self): test_method = create(TestMethod, name="test_method") test_class = create(TestClass, name="TestSomething", test_cases=[test_method]) add_test_case_to_project(self.project, test_class) assert_equal([test_method], get_test_cases(self.project)[0].test_cases) # Let's try adding the same method again. new_test_method = create(TestMethod, name="test_method") new_test_class = create(TestClass, name="TestSomething", test_cases=[new_test_method]) add_test_case_to_project(self.project, new_test_class) assert_equal([test_method], get_test_cases(self.project)[0].test_cases) # The right message was issued. assert_contains_once(self._get_log_output(), "Test case TestSomething.test_method already exists in test_module.py, skipping.")
def test_adds_new_test_methods_to_existing_test_classes_inside_application_modules(self): project = EmptyProject().with_module("somethings.py") test_class = create(TestClass, name="TestSomething") add_test_case(project["somethings"], test_class) method = create(TestMethod) generated_test_class = create(TestClass, name="TestSomething", test_cases=[method]) add_test_case_to_project(project, generated_test_class) assert_length(get_test_cases(project), 1) assert_equal_sets([method], test_class.test_cases) assert method.parent is test_class
def test_doesnt_overwrite_existing_test_methods_by_default(self): test_method = create(TestMethod, name="test_method") test_class = create(TestClass, name="TestSomething", test_cases=[test_method]) add_test_case_to_project(self.project, test_class) assert_equal([test_method], get_test_cases(self.project)[0].test_cases) # Let's try adding the same method again. new_test_method = create(TestMethod, name="test_method") new_test_class = create(TestClass, name="TestSomething", test_cases=[new_test_method]) add_test_case_to_project(self.project, new_test_class) assert_equal([test_method], get_test_cases(self.project)[0].test_cases) # The right message was issued. assert_contains_once( self._get_log_output(), "Test case TestSomething.test_method already exists in test_module.py, skipping." )
def test_overwrites_existing_test_methods_with_force_option(self): test_method = create(TestMethod, name="test_method") test_class = create(TestClass, name="TestSomething", test_cases=[test_method]) add_test_case_to_project(self.project, test_class) assert_equal([test_method], get_test_cases(self.project)[0].test_cases) # Let's try adding the same method again with a force option # set to True. new_test_method = create(TestMethod, name="test_method") new_test_class = create(TestClass, name="TestSomething", test_cases=[new_test_method]) add_test_case_to_project(self.project, new_test_class, force=True) # The class is still the same. assert_equal([self.existing_test_class], get_test_cases(self.project)) # But the method got replaced. assert_equal([new_test_method], get_test_cases(self.project)[0].test_cases) # The right message was issued. assert_contains_once(self._get_log_output(), "Replacing TestSomething.test_method from test_module.py with generated version.")
def test_adds_new_test_methods_to_existing_test_classes_inside_application_modules( self): project = EmptyProject().with_module("somethings.py") test_class = create(TestClass, name="TestSomething") add_test_case(project["somethings"], test_class) method = create(TestMethod) generated_test_class = create(TestClass, name="TestSomething", test_cases=[method]) add_test_case_to_project(project, generated_test_class) assert_length(get_test_cases(project), 1) assert_equal_sets([method], test_class.test_cases) assert method.parent is test_class
def test_doesnt_overwrite_existing_test_classes_by_default(self): test_class = create(TestClass, name="TestSomething") add_test_case_to_project(self.project, test_class) assert_length(get_test_cases(self.project), 1)
def test_associates_test_cases_with_application_modules(self): add_tests_to_project(self.project, [self.module_path], 'unittest') project_test_cases = get_test_cases(self.project) assert_length(project_test_cases, 1) assert_equal(project_test_cases[0].associated_modules, [self.project["module"]])