def test_digit_string0(self): x = LogicVar('x') eq_(eval(parse_text(digits0, '')), '') eq_(eval(parse_text(digits0, 'a')), '') eq_(eval(parse_text(digits0, '123')), '123') eq_(eval(parse_text(is_(x, digits0), '123a')), '123') eq_(eval(begin(parse_text(eval_unify(x, digits0), '123 '), getvalue(x))), '123')
def test_digit_string1(self): x = LogicVar('x') eq_(eval(parse_text(digits1, '123')), '123') eq_(eval(parse_text(is_(x, digits1), '123a')), '123') eq_( eval(begin(parse_text(eval_unify(x, digits1), '123 '), getvalue(x))), '123')
def test_findall_template_func(self): x, y, z = LogicVar('x'), LogicVar('y'), LogicVar('z') f = Var('f') eq_( eval( let([(f, rules(((), 2), ((), 3)))], findall(is_(x, f()), x, y), getvalue(y))), [2, 3])
def test_underline_letter_digit(self): x = LogicVar('x') eq_(eval(parse_text(underline_letter_digit, '1')), '1') eq_(eval(parse_text(is_(x, underline_letter_digit), 'a')), 'a') eq_( eval( begin(parse_text(eval_unify(x, underline_letter_digit), '_'), getvalue(x))), '_')
def test_findall_template_func(self): x, y, z = LogicVar('x'), LogicVar('y'), LogicVar('z') f = Var('f') eq_(eval(let([(f, rules(((), 2), ((), 3)))], findall(is_(x, f()), x, y), getvalue(y))), [2, 3])
def test_findall_template_or(self): x, y, z = LogicVar('x'), LogicVar('y'), LogicVar('z') f = Var('f') eq_(eval(begin(findall(or_(is_(x, 1), is_(x, 2)), x, y), getvalue(y))), [1, 2])
def testcall(self): eq_(eval(call(unify(x, 1))), True) eq_(eval(is_(x, quote(prin(1)))&call(x)), None)
def test_underline_letter_digit(self): x = LogicVar('x') eq_(eval(parse_text(underline_letter_digit, '1')), '1') eq_(eval(parse_text(is_(x, underline_letter_digit), 'a')), 'a') eq_(eval(begin(parse_text(eval_unify(x, underline_letter_digit), '_'), getvalue(x))), '_')
def test_digit(self): x = LogicVar('x') eq_(eval(parse_text(digit, '1')), '1') eq_(eval(parse_text(is_(x, digit), '1')), '1') eq_(eval(begin(parse_text(eval_unify(x, digit), '1'), getvalue(x))), '1')
def testcall(self): eq_(eval(call(unify(x, 1))), True) eq_(eval(is_(x, quote(prin(1))) & call(x)), None)