public void TestWildcard() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A B C)" ); bool valid = wiz.Parse( t, "(A . .)" ); Assert.IsTrue( valid ); }
public void TestParseWithTextFails() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A B C)" ); bool valid = wiz.Parse( t, "(A[foo] B C)" ); Assert.IsTrue( !valid ); // fails }
public void TestParseWithWildcardLabels() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A B C)" ); var labels = new Dictionary<string, object>(); bool valid = wiz.Parse( t, "(A %b:. %c:.)", labels ); Assert.IsTrue( valid ); Assert.AreEqual( "B", labels.get( "b" ).ToString() ); Assert.AreEqual( "C", labels.get( "c" ).ToString() ); }
public void TestParseWithText() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A B[foo] C[bar])" ); // C pattern has no text arg so despite [bar] in t, no need // to match text--check structure only. bool valid = wiz.Parse( t, "(A B[foo] C)" ); Assert.IsTrue( valid ); }
public void TestParseWithText2() { TreeWizard wiz = new TreeWizard(adaptor, tokens); CommonTree t = (CommonTree)wiz.Create("(A B[T__32] (C (D E[a])))"); // C pattern has no text arg so despite [bar] in t, no need // to match text--check structure only. bool valid = wiz.Parse(t, "(A B[foo] C)"); Assert.AreEqual("(A T__32 (C (D a)))", t.ToStringTree()); }
public void TestParseSingleNode() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "A" ); bool valid = wiz.Parse( t, "A" ); Assert.IsTrue( valid ); }
public void TestParseLabelsInNestedTree() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A (B C) (D E))" ); var labels = new Dictionary<string, object>(); bool valid = wiz.Parse( t, "(%a:A (%b:B %c:C) (%d:D %e:E) )", labels ); Assert.IsTrue( valid ); Assert.AreEqual( "A", labels.get( "a" ).ToString() ); Assert.AreEqual( "B", labels.get( "b" ).ToString() ); Assert.AreEqual( "C", labels.get( "c" ).ToString() ); Assert.AreEqual( "D", labels.get( "d" ).ToString() ); Assert.AreEqual( "E", labels.get( "e" ).ToString() ); }
public void TestParseLabelsAndTestText() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A B[foo] C)" ); var labels = new Dictionary<string, object>(); bool valid = wiz.Parse( t, "(%a:A %b:B[foo] %c:C)", labels ); Assert.IsTrue( valid ); Assert.AreEqual( "A", labels.get( "a" ).ToString() ); Assert.AreEqual( "foo", labels.get( "b" ).ToString() ); Assert.AreEqual( "C", labels.get( "c" ).ToString() ); }
public void TestParseLabels() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(A B C)" ); IDictionary<string, object> labels = new Dictionary<string, object>(); bool valid = wiz.Parse( t, "(%a:A %b:B %c:C)", labels ); assertTrue( valid ); assertEquals( "A", labels.get( "a" ).ToString() ); assertEquals( "B", labels.get( "b" ).ToString() ); assertEquals( "C", labels.get( "c" ).ToString() ); }
public void TestParseFlatTree() { TreeWizard wiz = new TreeWizard( adaptor, tokens ); CommonTree t = (CommonTree)wiz.Create( "(nil A B C)" ); bool valid = wiz.Parse( t, "(nil A B C)" ); assertTrue( valid ); }