public void testParseSingleNode()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            TreeWizard   wiz     = new TreeWizard(adaptor, tokens);
            CommonTree   t       = (CommonTree)wiz.Create("A");
            bool         valid   = wiz.Parse(t, "A");

            Assert.IsTrue(valid);
        }
        public void testParseWithTextFails()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            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 testWildcard()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            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 testParseWithText()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            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 testParseWithWildcardLabels()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            TreeWizard   wiz     = new TreeWizard(adaptor, tokens);
            CommonTree   t       = (CommonTree)wiz.Create("(A B C)");
            IDictionary  labels  = new Hashtable();
            bool         valid   = wiz.Parse(t, "(A %b:. %c:.)", labels);

            Assert.IsTrue(valid);
            Assert.AreEqual("B", labels["b"].ToString());
            Assert.AreEqual("C", labels["c"].ToString());
        }
        public void testParseLabelsAndTestText()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            TreeWizard   wiz     = new TreeWizard(adaptor, tokens);
            CommonTree   t       = (CommonTree)wiz.Create("(A B[foo] C)");
            IDictionary  labels  = new Hashtable();
            bool         valid   = wiz.Parse(t, "(%a:A %b:B[foo] %c:C)", labels);

            Assert.IsTrue(valid);
            Assert.AreEqual("A", labels["a"].ToString());
            Assert.AreEqual("foo", labels["b"].ToString());
            Assert.AreEqual("C", labels["c"].ToString());
        }
        public void testParseLabelsInNestedTree()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            TreeWizard   wiz     = new TreeWizard(adaptor, tokens);
            CommonTree   t       = (CommonTree)wiz.Create("(A (B C) (D E))");
            IDictionary  labels  = new Hashtable();
            bool         valid   = wiz.Parse(t, "(%a:A (%b:B %c:C) (%d:D %e:E) )", labels);

            Assert.IsTrue(valid);
            Assert.AreEqual("A", labels["a"].ToString());
            Assert.AreEqual("B", labels["b"].ToString());
            Assert.AreEqual("C", labels["c"].ToString());
            Assert.AreEqual("D", labels["d"].ToString());
            Assert.AreEqual("E", labels["e"].ToString());
        }
 public void testParseWithWildcardLabels()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     TreeWizard wiz = new TreeWizard(adaptor, tokens);
     CommonTree t = (CommonTree)wiz.Create("(A B C)");
     IDictionary labels = new Hashtable();
     bool valid = wiz.Parse(t, "(A %b:. %c:.)", labels);
     Assert.IsTrue(valid);
     Assert.AreEqual("B", labels["b"].ToString());
     Assert.AreEqual("C", labels["c"].ToString());
 }
 public void testWildcard()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     TreeWizard wiz = new TreeWizard(adaptor, tokens);
     CommonTree t = (CommonTree)wiz.Create("(A B C)");
     bool valid = wiz.Parse(t, "(A . .)");
     Assert.IsTrue(valid);
 }
Example #10
0
 public void testParseWithTextFails()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     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
 }
Example #11
0
 public void testParseWithText()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     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);
 }
Example #12
0
 public void testParseSingleNode()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     TreeWizard wiz = new TreeWizard(adaptor, tokens);
     CommonTree t = (CommonTree)wiz.Create("A");
     bool valid = wiz.Parse(t, "A");
     Assert.IsTrue(valid);
 }
Example #13
0
 public void testParseLabelsInNestedTree()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     TreeWizard wiz = new TreeWizard(adaptor, tokens);
     CommonTree t = (CommonTree)wiz.Create("(A (B C) (D E))");
     IDictionary labels = new Hashtable();
     bool valid = wiz.Parse(t, "(%a:A (%b:B %c:C) (%d:D %e:E) )", labels);
     Assert.IsTrue(valid);
     Assert.AreEqual("A", labels["a"].ToString());
     Assert.AreEqual("B", labels["b"].ToString());
     Assert.AreEqual("C", labels["c"].ToString());
     Assert.AreEqual("D", labels["d"].ToString());
     Assert.AreEqual("E", labels["e"].ToString());
 }
Example #14
0
 public void testParseLabelsAndTestText()
 {
     ITreeAdaptor adaptor = new CommonTreeAdaptor();
     TreeWizard wiz = new TreeWizard(adaptor, tokens);
     CommonTree t = (CommonTree)wiz.Create("(A B[foo] C)");
     IDictionary labels = new Hashtable();
     bool valid = wiz.Parse(t, "(%a:A %b:B[foo] %c:C)", labels);
     Assert.IsTrue(valid);
     Assert.AreEqual("A", labels["a"].ToString());
     Assert.AreEqual("foo", labels["b"].ToString());
     Assert.AreEqual("C", labels["c"].ToString());
 }