def test_add(self): comp = jit.AstCompiler(""" def foo(a, b): return a+b """) fn = comp.compile() assert fn(3, 4) == 7
def test_arguments(self): comp = jit.AstCompiler(""" def foo(a, b): return b """) fn = comp.compile() assert fn(3, 4) == 4
def test_simple(self): comp = jit.AstCompiler(""" def foo(): return 100 """) fn = comp.compile() assert fn() == 100
def test_empty(self): comp = jit.AstCompiler(""" def foo(): pass """) fn = comp.compile() assert fn() == 0
def test_assign(self): comp = jit.AstCompiler(""" def foo(a): b = a + 1 return b """) fn = comp.compile() assert fn(41) == 42
def test_binops(self): comp = jit.AstCompiler(""" def foo(a, b): return (a-b) + (a*b) - (a/b) """) fn = comp.compile() res = (3 - 4) + (3 * 4) - (3.0 / 4) assert fn(3, 4) == res
def test_if(self): comp = jit.AstCompiler(""" def foo(a): if a < 0: return 0-a return a """) fn = comp.compile() assert fn(-42) == 42 assert fn(42) == 42
def test_while(self): comp = jit.AstCompiler(""" def foo(a): tot = 0 i = 0 while i < a: tot = tot + i i = i + 1 return tot """) fn = comp.compile() assert fn(5) == 1 + 2 + 3 + 4