diff --git a/test/test_pymbolic.py b/test/test_pymbolic.py index d30dbdbb748a478e0ba6faee6586667fd2f510f1..774a4c8284b3a7be7ecdccda43a65457d5922169 100644 --- a/test/test_pymbolic.py +++ b/test/test_pymbolic.py @@ -955,6 +955,18 @@ def test_nodecount(): assert get_num_nodes(expr) == 12 +def test_python_ast_interop_roundtrip(): + from pymbolic.interop.ast import (ASTToPymbolic, + PymbolicToASTMapper) + + ast2p = ASTToPymbolic() + p2ast = PymbolicToASTMapper() + ntests = 40 + for i in range(ntests): + expr = generate_random_expression(seed=(5+i)) + assert ast2p(p2ast(expr)) == expr + + if __name__ == "__main__": import sys if len(sys.argv) > 1: