def test10(self): x = LogicVar('x') x1 = Const('x') y1 = Const('y') eq_(eval(begin(assign(x1, L(L(1, x))), assign(y1, L(L(1, x))), unify(x1, y1))), True)
def test10(self): x = LogicVar('x') x1 = Const('x') y1 = Const('y') eq_( eval( begin(assign(x1, L(L(1, x))), assign(y1, L(L(1, x))), unify(x1, y1))), True)
def test_unwind_protect_loop(self): from util import a, i eq_(eval(let([(i,3)], block(a, assign(i, sub(i, 1)), if_(eq(i, 0), exit_block(a, 1), unwind_protect(continue_block(a), prin(i)))), i)), 0)
def test_open_read2(self): file1 = Var('file1') x = Var('x') eq_( eval( let([(file1, open_file('test.txt'))], readline(file1), assign(x, readlines(file1)), close_file(file1), x)), ['hello'])
def testloop(self): from util import a, i eq_(eval(let([(i,3)], block(a, assign(i, sub(i, 1)), if_(eq(i, 0), exit_block(a, 1), continue_block(a))), i)), 0)
def testloop(self): from util import a, i eq_( eval( let([(i, 3)], block(a, assign(i, sub(i, 1)), if_(eq(i, 0), exit_block(a, 1), continue_block(a))), i)), 0)
def test_open_read2(self): file1 = Var('file1') x = Var('x') eq_(eval(let([(file1, open_file('test.txt'))], readline(file1), assign(x, readlines(file1)), close_file(file1), x)), ['hello'])
def test_unwind_protect_loop(self): from util import a, i eq_( eval( let([(i, 3)], block( a, assign(i, sub(i, 1)), if_(eq(i, 0), exit_block(a, 1), unwind_protect(continue_block(a), prin(i)))), i)), 0)
def test_let_assign(self): a, b = Var('a'), Var('b') eq_(eval(let([(a, 1)], assign(a, 2), a)), 2) eq_(eval(let([(a, 1)], let([(b, 1)], assign(a, 2), a))), 2)
def test_let2(self): x = Const('x') assert_raises(MultiAssignToConstError, eval, let([(x, 1)], let([(x, 2)], assign(x, 2))))
def test_assign(self): x = Var('x') result = compile(assign(x, 2)) expect = '2' eq_(result, expect)
def test_assign(self): x = Var('x') result = cps(assign(x, 2)) expect = 1 eq_(result, expect)
def test_letrec_assign2(self): x, f = Const('x'), Const('f') assert_raises(MultiAssignToConstError, eval, letrec([(f, macro((x,), f(1), assign(f, 1)))], f(2)))
def test_let_assign(self): a, b = Var('a'), Var('b') eq_(eval(let([(a, 1)], assign(a,2), a)), 2) eq_(eval(let([(a,1)], let([(b,1)], assign(a,2), a))), 2)
def test_assign(self): x = Var('x') result = compile_optimize(assign(x, 2)) expect = il.Integer(2) eq_(result, expect)
def test_letrec_assign2(self): x, f = Const('x'), Const('f') assert_raises(MultiAssignToConstError, eval, letrec([(f, macro((x, ), f(1), assign(f, 1)))], f(2)))
def testassign1(self): a = Const('a') eq_(eval(begin(assign(a, 2), a)), 2)
def test_let_assign_const(self): a = Const('a') assert_raises(MultiAssignToConstError, eval, let([(a, 2)], assign(a, 3)))
def testassign0(self): a = Const('a') eq_(eval(assign(a, 2)), 2)
def test_open_read(self): file1 = Var('file1') eq_( eval( let([(file1, open_file('test.txt'))], assign(x, read(file1)), close_file(file1), x)), 'hello\nhello')
def testassign2(self): a = Const('a') assert_raises(MultiAssignToConstError, eval, begin(assign(a, 2), assign(a, 3)))
def testassign0(self): a = Const('a') eq_(eval(assign(a,2)), 2)
def testassign1(self): a = Const('a') eq_(eval(begin(assign(a,2), a)), 2)
def test_open_read(self): file1 = Var('file1') eq_(eval(let([(file1, open_file('test.txt'))], assign(x, read(file1)), close_file(file1), x)), 'hello\nhello')
def testassign2(self): a = Const('a') assert_raises(MultiAssignToConstError, eval, begin(assign(a,2), assign(a, 3)))
def test_let_assign_const(self): a = Const('a') assert_raises(MultiAssignToConstError, eval, let([(a,2)], assign(a, 3)))