|
| 1 | +from codegen.sdk.codebase.factory.get_session import get_codebase_session |
| 2 | +from codegen.sdk.core.expressions.boolean import Boolean |
| 3 | +from codegen.sdk.core.expressions.number import Number |
| 4 | +from codegen.sdk.core.expressions.string import String |
| 5 | +from codegen.sdk.core.symbol_groups.dict import Dict |
| 6 | +from codegen.sdk.core.symbol_groups.list import List |
| 7 | +from codegen.sdk.core.symbol_groups.tuple import Tuple |
| 8 | +from codegen.sdk.enums import ProgrammingLanguage |
| 9 | + |
| 10 | + |
| 11 | +def test_builtin_types(tmpdir): |
| 12 | + # language=python |
| 13 | + content = """ |
| 14 | +a = 1 |
| 15 | +b = "hello" |
| 16 | +c = True |
| 17 | +d = [1, 2, 3] |
| 18 | +e = {"a": 1, "b": 2} |
| 19 | +f = (1, 2, 3) |
| 20 | + """ |
| 21 | + with get_codebase_session(tmpdir=tmpdir, files={"test.py": content}, programming_language=ProgrammingLanguage.PYTHON) as codebase: |
| 22 | + file = codebase.get_file("test.py") |
| 23 | + # Test Number |
| 24 | + a = file.get_global_var("a") |
| 25 | + assert isinstance(a.value, Number) |
| 26 | + assert isinstance(a.value, int) |
| 27 | + |
| 28 | + # Test String |
| 29 | + b = file.get_global_var("b") |
| 30 | + assert isinstance(b.value, String) |
| 31 | + assert isinstance(b.value, str) |
| 32 | + |
| 33 | + # Test Boolean |
| 34 | + c = file.get_global_var("c") |
| 35 | + assert isinstance(c.value, Boolean) |
| 36 | + assert isinstance(c.value, bool) |
| 37 | + |
| 38 | + # Test List |
| 39 | + d = file.get_global_var("d") |
| 40 | + assert isinstance(d.value, List) |
| 41 | + assert isinstance(d.value, list) |
| 42 | + |
| 43 | + # Test Dict |
| 44 | + e = file.get_global_var("e") |
| 45 | + assert isinstance(e.value, Dict) |
| 46 | + assert isinstance(e.value, dict) |
| 47 | + |
| 48 | + # Test Tuple |
| 49 | + f = file.get_global_var("f") |
| 50 | + assert isinstance(f.value, Tuple) |
| 51 | + assert isinstance(f.value, tuple) |
0 commit comments