def test_any5(self): _ = DummyVar('_') y = LogicVar('y') eq_( eval( begin(set_text('aaa'), any(char(_), _, y), char(_), eoi, getvalue(y))), ['a', 'a'])
def test_some5(self): _ = DummyVar('_') y = LogicVar('y') eq_( eval( begin(set_text('abc'), some(char(_), _, y), char(_), eoi, getvalue(y))), ['a', 'b'])
def test_greedy_seplist5(self): _ = DummyVar('_') y = LogicVar('y') assert_raises( NoSolution, eval, begin(set_text('a,a,a'), greedy_seplist(char(_), char(','), _, y), char(_), eoi, getvalue(y)))
def test_greedy_some5(self): _ = DummyVar('_') y = LogicVar('y') assert_raises( NoSolution, eval, begin(set_text('aaa'), greedy_some(char(_), _, y), char(_), eoi, y))
def test_seplist5(self): _ = DummyVar('_') y = LogicVar('y') eq_( eval( begin(set_text('a,b,cd'), seplist(char(_), char(','), _, y), char(_), eoi, getvalue(y))), ['a', 'b', 'c'])
def test_greedy_some4(self): _ = DummyVar('_') y = LogicVar('y') eq_( eval( begin(set_text('aaa'), greedy_some(char(_), _, y), eoi, getvalue(y))), ['a', 'a', 'a'])
def test_times4(self): _ = DummyVar('_') x = LogicVar('x') eq_( eval( begin(set_text('aaa'), times(char(_), 3, _, x), eoi, getvalue(x))), ['a', 'a', 'a'])
def test_kleene2(self): f, kleene = MacroVar('f'), MacroVar('kleene') _ = DummyVar('_') item = Var('item') fun = macro((item, ), letrec([(f, macrorules(((), item, f()), ((), nullword)))], f())) eq_(eval(let([(kleene, fun)], set_text('ab'), kleene(char(_)))), True)
def test_lazy_seplist5(self): _ = DummyVar('_') y = LogicVar('y') eq_( eval( begin(set_text('a,a,aa'), lazy_seplist(char(_), char(','), _, y), char(_), eoi, getvalue(y))), ['a', 'a', 'a'])
def test_kleene1(self): f, kleene = MacroVar('f'), MacroVar('kleene') item = Var('item') fun = macro((item,), letrec([(f, macrorules( ((), item, f()), ((), nullword)))], f())) eq_(eval(let([(kleene, fun)], set_text('aa'), kleene(char('a')))), True)
def test_left(self): eq_(eval(begin(set_text('ab'), left())), 'ab')
def test_times3(self): assert_raises(NoSolution, eval,begin(set_text('aa'), times(char('a'), 3)))
def test_seplist3(self): assert_raises(NoSolution, eval, begin(set_text(''), seplist(char('a'), char(','))))
def test_seplist1(self): eq_(eval(begin(set_text('a,a,a'), seplist(char('a'), char(',')), eoi)), True)
def test_char_eoi(self): eq_(eval(begin(set_text('a'), char('a'), eoi)), True) assert_raises(NoSolution, eval, begin(set_text('ab'), char('a'), eoi))
def test_unify_parse_text(self): x = LogicVar('x') eq_(eval(begin(set_text('abcde'), unify_parse_text(x), getvalue(x))), 'abcde') eq_(eval(begin(set_text('abcde'), unify_parse_text('abcde'))), True)
def test_times2(self): eq_(eval(begin(set_text('aaaa'), times(char('a'), 3), char('a'), eoi)), True)
def test_subtext(self): eq_(eval(begin(set_text('abcde'), subtext(0, 3))), 'abc')
def test_next(self): eq_(eval(begin(set_text('ab'), next_char(), next_char())), 'a')
def test_greedy_seplist3(self): assert_raises( NoSolution, eval, begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')), char('a'), eoi))
def test_position(self): eq_(eval(begin(set_text('ab'), position())), 0)
def test_greedy_seplist2(self): eq_( eval( begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')), eoi)), True)
def test_subtext(self): eq_(eval(begin(set_text('abcde'), subtext(0,3))), 'abc')
def test_skip(self): eq_(eval(begin(set_text('abcde'), goto(2), next_char())), 'c')
def test_times3(self): assert_raises(NoSolution, eval, begin(set_text('aa'), times(char('a'), 3)))
def test_step2(self): eq_(eval(begin(set_text('ab'), step(), left())), 'b')
def test_greedy_seplist2(self): eq_(eval(begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')), eoi)), True)
def test_greedy_seplist5(self): _ = DummyVar('_') y = LogicVar('y') assert_raises(NoSolution, eval, begin(set_text('a,a,a'), greedy_seplist(char(_), char(','), _, y), char(_), eoi, getvalue(y)))
def test_seplist5(self): _ = DummyVar('_') y = LogicVar('y') eq_(eval(begin(set_text('a,b,cd'), seplist(char(_), char(','), _, y), char(_), eoi, getvalue(y))), ['a', 'b', 'c'])
def test_lazy_seplist3(self): eq_( eval( begin(set_text('a,a,aa'), lazy_seplist(char('a'), char(',')), char('a'), eoi)), True)
def test_lazy_seplist3(self): eq_(eval(begin(set_text('a,a,aa'), lazy_seplist(char('a'), char(',')), char('a'), eoi)), True)
def test_skip(self): eq_(eval(begin(set_text('abcde'), skip(3), next())), 'd') eq_(eval(begin(set_text('abcde'), skip(4), skip(-2), next())), 'c')
def test_greedy_seplist3(self): assert_raises(NoSolution, eval, begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')), char('a'), eoi))
def test_greedy_seplist4(self): _ = DummyVar('_') y = LogicVar('y') eq_(eval(begin(set_text('a,a,a'), greedy_seplist(char(_), char(','), _, y), eoi, getvalue(y))), ['a', 'a', 'a'])
def test_goto(self): eq_(eval(begin(set_text('abcde'), goto(1))), 'b')
def test_times4(self): _ = DummyVar('_') x = LogicVar('x') eq_(eval(begin(set_text('aaa'), times(char(_), 3, _, x), eoi, getvalue(x))), ['a', 'a', 'a'])
def test_char(self): eq_(eval(begin(set_text('abcde'), char('a'))), 'a')
def test_follew_char(self): eq_(eval(begin(set_text('a'), follow(char('a')), char('a'))), 'a')
def test_any3(self): eq_(eval(begin(set_text('aaa'), any(char('a')))), True)
def test_lazy_any3(self): eq_(eval(begin(set_text('aaa'), lazy_any(char('a')), char('a'), eoi)), True)
def test_repeat(self): #return # the code below loops for ever, after modifie the behaviour of solver.parse_state and terminals. x = LogicVar('x') eq_(eval(and_(set_text('123'), repeat, char(x), unify(x, '3'))), True)
def test_lazy_any4(self): _ = DummyVar('_') y = LogicVar('y') eq_(eval(begin(set_text('aaa'), lazy_any(char(_), _, y), eoi, getvalue(y))), ['a', 'a', 'a'])
def test_lazy_any1(self): eq_(eval(begin(set_text('aaa'), lazy_any(char('a')))), True)
def test_repeat2(self): #return # the code below loops for ever. x = LogicVar('x') eq_(eval(and_(set_text('123'), repeat, char(x), unify(x, '4'))), True)
def test_greedy_some5(self): _ = DummyVar('_') y = LogicVar('y') assert_raises(NoSolution, eval, begin(set_text('aaa'), greedy_some(char(_), _, y), char(_), eoi, y))