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."
        )
Esempio n. 2
0
    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."
        )
Esempio n. 4
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))
Esempio n. 5
0
    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))
Esempio n. 7
0
    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.")
Esempio n. 8
0
    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."
        )
Esempio n. 10
0
    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
Esempio n. 12
0
    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_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)
Esempio n. 14
0
    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"]])