コード例 #1
0
ファイル: test_finding.py プロジェクト: zqcui/MUBench
    def test_no_code(self, utils_mock):
        utils_mock.return_value = ""

        finding = Finding({"file": "-file-"})

        with assert_raises(SnippetUnavailableException):
            finding.get_snippets(["/base"])
コード例 #2
0
ファイル: test_finding.py プロジェクト: zqcui/MUBench
    def test_extraction_error(self, utils_mock):
        utils_mock.side_effect = CommandFailedError("cmd", "output")

        finding = Finding({"file": "-file-", "method": "-method-"})

        with assert_raises(SnippetUnavailableException):
            finding.get_snippets(["/base"])
コード例 #3
0
    def test_extraction_error(self, utils_mock):
        utils_mock.side_effect = CommandFailedError("cmd", "output")

        finding = Finding({"file": "-file-", "method": "-method-"})

        with assert_raises(SnippetUnavailableException) as context:
            finding.get_snippets("/base")

        assert_equals('/base/-file-', context.exception.file)
        assert_equals(utils_mock.side_effect, context.exception.exception)
コード例 #4
0
ファイル: test_finding.py プロジェクト: zqcui/MUBench
    def test_loads_snippet_absolute_path(self, utils_mock):
        utils_mock.side_effect = lambda tool, args: \
            "42:T:-code-" if tool == "MethodExtractor" and args == '"/-absolute-file-" "-method-"' else ""

        finding = Finding({"file": "/-absolute-file-", "method": "-method-"})

        assert_equals(1, len(finding.get_snippets(["/base"])))
コード例 #5
0
    def test_loads_snippet(self, utils_mock):
        utils_mock.side_effect = lambda tool, args:\
                "42:T:-code-" if tool == "MethodExtractor" and args == '"/base/-file-" "-method-"' else ""

        finding = Finding({"file": "-file-", "method": "-method-"})

        assert_equals([Snippet("class T {\n-code-\n}", 41)], finding.get_snippets("/base"))
コード例 #6
0
ファイル: test_finding.py プロジェクト: zqcui/MUBench
    def test_filters_by_startline(self, utils_mock):
        utils_mock.return_value = "42:T:t-code\n===\n32:A:a\nb\nc\n===\n22:N:n-code"

        finding = Finding({
            "file": "-file-",
            "method": "-method-",
            "startline": 33
        })

        snippets = finding.get_snippets(["/base"])

        assert_equals([Snippet("class A {\na\nb\nc\n}", 31)], snippets)
コード例 #7
0
    def _create_finding(self, data: Dict, convert_mock=None, file_paths=None, snippets=None):
        if snippets is None:
            snippets = []
        if file_paths is None:
            file_paths = []

        finding = Finding(data)
        finding.get_snippets = lambda source_paths: \
            snippets if source_paths == ["/sources/-p-/-v-/build/"] else {}["illegal source paths: %s" % source_paths]

        if convert_mock is not None:
            self.created_files_per_finding[str(finding)] = file_paths
            convert_mock.side_effect = lambda f, p: self.created_files_per_finding[str(f)]

        return finding
コード例 #8
0
ファイル: test_finding.py プロジェクト: zqcui/MUBench
    def test_strips_additional_output(self, utils_mock):
        utils_mock.return_value = "Arbitrary additional output\n1:C:code"

        finding = Finding({"file": "-file-", "method": "-method-"})

        assert_equals(1, len(finding.get_snippets(["/base"])))
コード例 #9
0
ファイル: test_finding.py プロジェクト: zqcui/MUBench
    def test_loads_multiple_snippets(self, utils_mock):
        utils_mock.return_value = "42:T:t-code\n===\n32:A:a-code"

        finding = Finding({"file": "-file-", "method": "-method-"})

        assert_equals(2, len(finding.get_snippets(["/base"])))
コード例 #10
0
    def test_no_code(self, utils_mock):
        utils_mock.return_value = ""

        finding = Finding({"file": "-file-"})

        assert_equals(finding.get_snippets("/base"), [])
コード例 #11
0
    def test_extraction_error(self, utils_mock):
        utils_mock.side_effect = CommandFailedError("cmd", "output")

        finding = Finding({"file": "-file-", "method": "-method-"})

        assert_equals([Snippet("Failed to execute 'cmd': output", 1)], finding.get_snippets("/base"))