Esempio n. 1
0
        public void testSingleNodeIndex()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            TreeWizard   wiz      = new TreeWizard(adaptor, tokens);
            CommonTree   t        = (CommonTree)wiz.Create("ID");
            IDictionary  m        = wiz.Index(t);
            string       actual   = CollectionUtils.DictionaryToString(m);
            string       expected = "{10=[ID]}";

            Assert.AreEqual(expected, actual);
        }
Esempio n. 2
0
        public void testFindPattern()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            TreeWizard   wiz      = new TreeWizard(adaptor, tokens);
            CommonTree   t        = (CommonTree)wiz.Create("(A B C (A[foo] B[bar]) (D (A[big] B[dog])))");
            IList        subtrees = wiz.Find(t, "(A B)");
            IList        elements = subtrees;
            string       actual   = CollectionUtils.ListToString(elements);
            string       expected = "[foo, big]";

            Assert.AreEqual(expected, actual);
        }
Esempio n. 3
0
        public void testRepeatsIndex()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            TreeWizard   wiz     = new TreeWizard(adaptor, tokens);
            CommonTree   t       = (CommonTree)wiz.Create("(A B (A C B) B D D)");
            IDictionary  m       = wiz.Index(t);
            string       actual  = CollectionUtils.DictionaryToString(m);
            //string expected = "{8=[D, D], 6=[B, B, B], 7=[C], 5=[A, A]}";
            string expected = "{8=[D, D], 7=[C], 6=[B, B, B], 5=[A, A]}";

            Assert.AreEqual(expected, actual);
        }
Esempio n. 4
0
        public void testVisitPatternMultipleWithLabels()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            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 ArrayList();

            wiz.Visit(t, "(%a:A %b:B)", new Test2ContextVisitor(adaptor, elements));
            string actual   = CollectionUtils.ListToString(elements);
            string expected = "[foo@A[2]foo&bar, big@D[0]big&dog]";

            Assert.AreEqual(expected, actual);
        }
Esempio n. 5
0
        public void testVisitPatternMultiple()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            TreeWizard   wiz      = new TreeWizard(adaptor, tokens);
            CommonTree   t        = (CommonTree)wiz.Create("(A B C (A B) (D (A B)))");
            IList        elements = new ArrayList();

            wiz.Visit(t, "(A B)", new Test1ContextVisitor(adaptor, elements));
            string actual   = CollectionUtils.ListToString(elements);
            string expected = "[A@A[2], A@D[0]]";             // shouldn't match overall root, just (A B)

            Assert.AreEqual(expected, actual);
        }
Esempio n. 6
0
        public void testVisitPattern()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            TreeWizard   wiz      = new TreeWizard(adaptor, tokens);
            CommonTree   t        = (CommonTree)wiz.Create("(A B C (A B) D)");
            IList        elements = new ArrayList();

            wiz.Visit(t, "(A B)", new RecordAllElementsVisitor(elements));
            string actual   = CollectionUtils.ListToString(elements);
            string expected = "[A]";             // shouldn't match overall root, just (A B)

            Assert.AreEqual(expected, actual);
        }
Esempio n. 7
0
        public void testRepeatsVisitWithNullParentAndContext()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            TreeWizard   wiz      = new TreeWizard(adaptor, tokens);
            CommonTree   t        = (CommonTree)wiz.Create("(A B (A C B) B D D)");
            IList        elements = new ArrayList();

            wiz.Visit(t, wiz.GetTokenType("A"), new Test1ContextVisitor(adaptor, elements));
            string actual   = CollectionUtils.ListToString(elements);
            string expected = "[A@nil[0], A@A[1]]";

            Assert.AreEqual(expected, actual);
        }
Esempio n. 8
0
        public void testRepeatsVisit2()
        {
            ITreeAdaptor adaptor  = new CommonTreeAdaptor();
            TreeWizard   wiz      = new TreeWizard(adaptor, tokens);
            CommonTree   t        = (CommonTree)wiz.Create("(A B (A C B) B D D)");
            IList        elements = new ArrayList();

            wiz.Visit(t, wiz.GetTokenType("A"), new RecordAllElementsVisitor(elements));
            string actual   = CollectionUtils.ListToString(elements);
            string expected = "[A, A]";

            Assert.AreEqual(expected, actual);
        }