|
| 1 | +import pytest |
| 2 | + |
1 | 3 | from codegen.git.utils.language import determine_project_language
|
2 | 4 | from codegen.sdk.codebase.factory.get_session import get_codebase_session
|
3 | 5 | from codegen.shared.enums.programming_language import ProgrammingLanguage
|
@@ -43,14 +45,26 @@ def test_determine_language_package_json(tmpdir) -> None:
|
43 | 45 | assert determine_project_language(tmpdir, strategy="most_common") == ProgrammingLanguage.OTHER
|
44 | 46 |
|
45 | 47 |
|
46 |
| -def test_determine_language_mixed(tmpdir) -> None: |
47 |
| - with get_codebase_session(tmpdir=tmpdir, files={"file1.py": "", "file2.ts": "", "file3.txt": ""}, programming_language=ProgrammingLanguage.PYTHON) as codebase: |
48 |
| - # Check for package.json -> False, therefore return PYTHON |
49 |
| - assert determine_project_language(tmpdir, strategy="package_json") == ProgrammingLanguage.PYTHON |
50 |
| - # Check for git_most_common -> PYTHON |
51 |
| - assert determine_project_language(tmpdir, strategy="git_most_common") == ProgrammingLanguage.PYTHON |
52 |
| - # Check for most_common -> PYTHON |
53 |
| - assert determine_project_language(tmpdir, strategy="most_common") == ProgrammingLanguage.PYTHON |
| 48 | +@pytest.mark.parametrize( |
| 49 | + "strategy, expected_language", |
| 50 | + [ |
| 51 | + ("package_json", ProgrammingLanguage.PYTHON), # Check for package.json -> False, therefore return PYTHON |
| 52 | + ("git_most_common", ProgrammingLanguage.PYTHON), # Check for git_most_common -> PYTHON |
| 53 | + ("most_common", ProgrammingLanguage.PYTHON), # Check for most_common -> PYTHON |
| 54 | + ], |
| 55 | +) |
| 56 | +def test_determine_language_mixed(tmpdir, strategy, expected_language) -> None: |
| 57 | + with get_codebase_session( |
| 58 | + tmpdir=tmpdir, |
| 59 | + files={ |
| 60 | + "py_file1.py": "", |
| 61 | + "py_file2.py": "", # 2 python files |
| 62 | + "ts_file1.ts": "", # 1 typescript file |
| 63 | + "txt_file1.txt": "", # 1 text file |
| 64 | + }, |
| 65 | + programming_language=ProgrammingLanguage.PYTHON, |
| 66 | + ) as codebase: |
| 67 | + assert determine_project_language(tmpdir, strategy=strategy) == expected_language |
54 | 68 |
|
55 | 69 |
|
56 | 70 | def test_determine_language_threshold(tmpdir) -> None:
|
|
0 commit comments