feat: add CLI with build and run commands
This commit is contained in:
79
tests/test_transpiler.py
Normal file
79
tests/test_transpiler.py
Normal file
@@ -0,0 +1,79 @@
|
||||
"""Test simple transpiler."""
|
||||
|
||||
import ast
|
||||
import pytest
|
||||
from src.tampy.transpiler import SimpleTranspiler
|
||||
|
||||
|
||||
def test_simple_transpile():
|
||||
"""Test basic transpilation."""
|
||||
transpiler = SimpleTranspiler()
|
||||
code = "x = 1"
|
||||
result = transpiler.transpile(code)
|
||||
assert "x = 1" in result
|
||||
|
||||
|
||||
def test_function_transpile():
|
||||
"""Test function transpilation."""
|
||||
transpiler = SimpleTranspiler()
|
||||
code = "def foo(): return 1"
|
||||
result = transpiler.transpile(code)
|
||||
assert "def foo()" in result
|
||||
|
||||
|
||||
def test_if_transpile():
|
||||
"""Test if statement transpilation."""
|
||||
transpiler = SimpleTranspiler()
|
||||
code = "if True: pass"
|
||||
result = transpiler.transpile(code)
|
||||
assert "if True:" in result
|
||||
|
||||
|
||||
def test_for_transpile():
|
||||
"""Test for loop transpilation."""
|
||||
transpiler = SimpleTranspiler()
|
||||
code = "for i in range(10): pass"
|
||||
result = transpiler.transpile(code)
|
||||
assert "for i in range(10):" in result
|
||||
|
||||
|
||||
def test_class_transpile():
|
||||
"""Test class transpilation."""
|
||||
transpiler = SimpleTranspiler()
|
||||
code = "class Foo: pass"
|
||||
result = transpiler.transpile(code)
|
||||
assert "class Foo:" in result
|
||||
|
||||
|
||||
def test_import_transpile():
|
||||
"""Test import transpilation."""
|
||||
transpiler = SimpleTranspiler()
|
||||
code = "import sys"
|
||||
result = transpiler.transpile(code)
|
||||
assert "import sys" in result
|
||||
|
||||
|
||||
def test_roundtrip():
|
||||
"""Test parsing and regenerating code."""
|
||||
transpiler = SimpleTranspiler()
|
||||
|
||||
code = """
|
||||
x = 1
|
||||
y = 2
|
||||
if x > y:
|
||||
print(x)
|
||||
"""
|
||||
result = transpiler.transpile(code)
|
||||
assert "x = 1" in result
|
||||
assert "if" in result
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_simple_transpile()
|
||||
test_function_transpile()
|
||||
test_if_transpile()
|
||||
test_for_transpile()
|
||||
test_class_transpile()
|
||||
test_import_transpile()
|
||||
test_roundtrip()
|
||||
print("All tests passed")
|
||||
Reference in New Issue
Block a user