コード例 #1
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_any5(self):
     _ = DummyVar('_')
     y = LogicVar('y')
     eq_(
         eval(
             begin(set_text('aaa'), any(char(_), _, y), char(_), eoi,
                   getvalue(y))), ['a', 'a'])
コード例 #2
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_some5(self):
     _ = DummyVar('_')
     y = LogicVar('y')
     eq_(
         eval(
             begin(set_text('abc'), some(char(_), _, y), char(_), eoi,
                   getvalue(y))), ['a', 'b'])
コード例 #3
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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)))
コード例 #4
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_greedy_some5(self):
     _ = DummyVar('_')
     y = LogicVar('y')
     assert_raises(
         NoSolution, eval,
         begin(set_text('aaa'), greedy_some(char(_), _, y), char(_), eoi,
               y))
コード例 #5
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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'])
コード例 #6
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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'])
コード例 #7
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_times4(self):
     _ = DummyVar('_')
     x = LogicVar('x')
     eq_(
         eval(
             begin(set_text('aaa'), times(char(_), 3, _, x), eoi,
                   getvalue(x))), ['a', 'a', 'a'])
コード例 #8
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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)
コード例 #9
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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'])
コード例 #10
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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)
コード例 #11
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_left(self):
   eq_(eval(begin(set_text('ab'), left())), 'ab')
コード例 #12
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_times3(self):
   assert_raises(NoSolution, eval,begin(set_text('aa'), times(char('a'), 3)))
コード例 #13
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_left(self):
     eq_(eval(begin(set_text('ab'), left())), 'ab')
コード例 #14
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_seplist3(self):
   assert_raises(NoSolution, eval, begin(set_text(''), seplist(char('a'), char(','))))
コード例 #15
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_seplist1(self):
     eq_(eval(begin(set_text('a,a,a'), seplist(char('a'), char(',')), eoi)),
         True)
コード例 #16
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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))
コード例 #17
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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)
コード例 #18
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_times2(self):
     eq_(eval(begin(set_text('aaaa'), times(char('a'), 3), char('a'), eoi)),
         True)
コード例 #19
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_subtext(self):
     eq_(eval(begin(set_text('abcde'), subtext(0, 3))), 'abc')
コード例 #20
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_next(self):
     eq_(eval(begin(set_text('ab'), next_char(), next_char())), 'a')
コード例 #21
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_greedy_seplist3(self):
     assert_raises(
         NoSolution, eval,
         begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')),
               char('a'), eoi))
コード例 #22
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_position(self):
     eq_(eval(begin(set_text('ab'), position())), 0)
コード例 #23
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_greedy_seplist2(self):
     eq_(
         eval(
             begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')),
                   eoi)), True)
コード例 #24
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_subtext(self):
   eq_(eval(begin(set_text('abcde'), subtext(0,3))), 'abc')
コード例 #25
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_skip(self):
   eq_(eval(begin(set_text('abcde'), goto(2), next_char())), 'c')
コード例 #26
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_times3(self):
     assert_raises(NoSolution, eval,
                   begin(set_text('aa'), times(char('a'), 3)))
コード例 #27
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_step2(self):
   eq_(eval(begin(set_text('ab'), step(), left())), 'b')
コード例 #28
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_greedy_seplist2(self):
   eq_(eval(begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')), eoi)), True)
コード例 #29
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_seplist3(self):
     assert_raises(NoSolution, eval,
                   begin(set_text(''), seplist(char('a'), char(','))))
コード例 #30
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_next(self):
   eq_(eval(begin(set_text('ab'), next_char(), next_char())), 'a')
コード例 #31
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_seplist1(self):
   eq_(eval(begin(set_text('a,a,a'), seplist(char('a'), char(',')), eoi)), True)
コード例 #32
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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)))
コード例 #33
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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'])
コード例 #34
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_lazy_seplist3(self):
     eq_(
         eval(
             begin(set_text('a,a,aa'), lazy_seplist(char('a'), char(',')),
                   char('a'), eoi)), True)
コード例 #35
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_lazy_seplist3(self):
   eq_(eval(begin(set_text('a,a,aa'), lazy_seplist(char('a'), char(',')), char('a'), eoi)), True)
コード例 #36
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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')
コード例 #37
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_greedy_seplist3(self):
   assert_raises(NoSolution, eval, 
                 begin(set_text('a,a,a'), greedy_seplist(char('a'), char(',')), char('a'), eoi))
コード例 #38
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_skip(self):
     eq_(eval(begin(set_text('abcde'), goto(2), next_char())), 'c')
コード例 #39
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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'])
コード例 #40
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_goto(self):
     eq_(eval(begin(set_text('abcde'), goto(1))), 'b')
コード例 #41
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_times2(self):
   eq_(eval(begin(set_text('aaaa'), times(char('a'), 3), char('a'), eoi)), True)
コード例 #42
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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)
コード例 #43
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_times4(self):
   _ = DummyVar('_')
   x = LogicVar('x')
   eq_(eval(begin(set_text('aaa'), times(char(_), 3, _, x), eoi, getvalue(x))), ['a', 'a', 'a'])
コード例 #44
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_char(self):
     eq_(eval(begin(set_text('abcde'), char('a'))), 'a')
コード例 #45
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_position(self):
   eq_(eval(begin(set_text('ab'), position())), 0)
コード例 #46
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_follew_char(self):
     eq_(eval(begin(set_text('a'), follow(char('a')), char('a'))), 'a')
コード例 #47
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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')
コード例 #48
0
ファイル: testparser.py プロジェクト: hermetique/dao
 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))
コード例 #49
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_goto(self):
   eq_(eval(begin(set_text('abcde'), goto(1))), 'b')
コード例 #50
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_any3(self):
     eq_(eval(begin(set_text('aaa'), any(char('a')))), True)
コード例 #51
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_char(self):
   eq_(eval(begin(set_text('abcde'), char('a'))), 'a')
コード例 #52
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_lazy_any3(self):
   eq_(eval(begin(set_text('aaa'), lazy_any(char('a')), char('a'), eoi)), True)
コード例 #53
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_follew_char(self):
   eq_(eval(begin(set_text('a'), follow(char('a')), char('a'))), 'a')
コード例 #54
0
ファイル: testbuiltin.py プロジェクト: chaosim/dao
 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)
コード例 #55
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_any3(self):
   eq_(eval(begin(set_text('aaa'), any(char('a')))), True)
コード例 #56
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_step2(self):
     eq_(eval(begin(set_text('ab'), step(), left())), 'b')
コード例 #57
0
ファイル: testparser.py プロジェクト: chaosim/dao
 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'])
コード例 #58
0
ファイル: testparser.py プロジェクト: hermetique/dao
 def test_lazy_any1(self):
     eq_(eval(begin(set_text('aaa'), lazy_any(char('a')))), True)
コード例 #59
0
ファイル: testbuiltin.py プロジェクト: chaosim/dao
 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) 
コード例 #60
0
ファイル: testparser.py プロジェクト: chaosim/dao
 def test_greedy_some5(self):
   _ = DummyVar('_')
   y = LogicVar('y')
   assert_raises(NoSolution, eval,
                 begin(set_text('aaa'), greedy_some(char(_), _, y), char(_), eoi, y))