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 ); }
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 ); }
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 ); }
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 ); }
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 ); }
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 ); }