コード例 #1
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestVisitPatternMultipleWithLabels()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C (A[foo] B[bar]) (D (A[big] B[dog])))" );
     IList elements = new List<object>();
     wiz.Visit( t, "(%a:A %b:B)",
                   new testVisitPatternMultipleWithLabels_TreeWizard_Visitor( elements ) );
     string found = elements.ToElementString();
     string expecting = "[foo@A[2]foo&bar, big@D[0]big&dog]";
     Assert.AreEqual( expecting, found );
 }
コード例 #2
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestVisitPatternMultiple()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C (A B) (D (A B)))" );
     IList elements = new List<object>();
     wiz.Visit( t, "(A B)",
                   new testRepeatsVisitWithContext_TreeWizard_Visitor( elements ) );
     string found = elements.ToElementString();
     string expecting = "[A@A[2], A@D[0]]"; // shouldn't match overall root, just (A B)
     Assert.AreEqual( expecting, found );
 }
コード例 #3
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestRepeatsVisitWithNullParentAndContext()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B (A C B) B D D)" );
     IList elements = new List<object>();
     wiz.Visit( t, wiz.GetTokenType( "A" ),
        new testRepeatsVisitWithContext_TreeWizard_Visitor( elements ) );
     string found = elements.ToElementString();
     string expecting = "[A@nil[0], A@A[1]]";
     Assert.AreEqual( expecting, found );
 }
コード例 #4
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestRepeatsVisit()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B (A C B) B D D)" );
     IList elements = new List<object>();
     wiz.Visit( t, wiz.GetTokenType( "B" ),
                    new testNoRepeatsVisit_TreeWizard_Visitor( elements ) );
     string found = elements.ToElementString();
     string expecting = "[B, B, B]";
     Assert.AreEqual( expecting, found );
 }
コード例 #5
0
ファイル: TestTreeWizard.cs プロジェクト: bszafko/antlrcs
 public void TestVisitPattern()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C (A B) D)" );
     IList elements = new List<object>();
     wiz.Visit( t, "(A B)",
                    new testNoRepeatsVisit_TreeWizard_Visitor( elements ) );
     string found = elements.ToElementString();
     string expecting = "[A]"; // shouldn't match overall root, just (A B)
     assertEquals( expecting, found );
 }
コード例 #6
0
ファイル: TestTreeWizard.cs プロジェクト: bszafko/antlrcs
 public void TestRepeatsVisitWithContext()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B (A C B) B D D)" );
     IList elements = new List<object>();
     wiz.Visit( t, wiz.GetTokenType( "B" ),
        new testRepeatsVisitWithContext_TreeWizard_Visitor( elements ) );
     string found = elements.ToElementString();
     string expecting = "[B@A[0], B@A[1], B@A[2]]";
     assertEquals( expecting, found );
 }