Пример #1
0
        public void testBecomeRoot6()
        {
            // emulates construction of ^(5 6)
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            CommonTree   root_0  = (CommonTree)adaptor.GetNilNode();
            CommonTree   root_1  = (CommonTree)adaptor.GetNilNode();

            root_1 = (CommonTree)adaptor.BecomeRoot(new CommonTree(new CommonToken(5)), root_1);

            adaptor.AddChild(root_1, new CommonTree(new CommonToken(6)));

            adaptor.AddChild(root_0, root_1);

            root_0.SanityCheckParentAndChildIndexes();
        }
Пример #2
0
        public void testReplaceAllWithTwo()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            CommonTree   t       = new CommonTree(new CommonToken(99, "a"));

            t.AddChild(new CommonTree(new CommonToken(99, "b")));
            t.AddChild(new CommonTree(new CommonToken(99, "c")));
            t.AddChild(new CommonTree(new CommonToken(99, "d")));

            CommonTree newChildren = (CommonTree)adaptor.GetNilNode();

            newChildren.AddChild(new CommonTree(new CommonToken(99, "x")));
            newChildren.AddChild(new CommonTree(new CommonToken(99, "y")));

            t.ReplaceChildren(0, 2, newChildren);
            String expected = "(a x y)";

            Assert.AreEqual(expected, t.ToStringTree());
            t.SanityCheckParentAndChildIndexes();
        }
Пример #3
0
        public void testReplaceOneWithTwoInMiddle()
        {
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            CommonTree t = new CommonTree(new CommonToken(99, "a"));
            t.AddChild(new CommonTree(new CommonToken(99, "b")));
            t.AddChild(new CommonTree(new CommonToken(99, "c")));
            t.AddChild(new CommonTree(new CommonToken(99, "d")));

            CommonTree newChildren = (CommonTree)adaptor.GetNilNode();
            newChildren.AddChild(new CommonTree(new CommonToken(99, "x")));
            newChildren.AddChild(new CommonTree(new CommonToken(99, "y")));

            t.ReplaceChildren(1, 1, newChildren);
            String expected = "(a b x y d)";
            Assert.AreEqual(expected, t.ToStringTree());
            t.SanityCheckParentAndChildIndexes();
        }
Пример #4
0
        public void testBecomeRoot6()
        {
            // emulates construction of ^(5 6)
            ITreeAdaptor adaptor = new CommonTreeAdaptor();
            CommonTree root_0 = (CommonTree)adaptor.GetNilNode();
            CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
            root_1 = (CommonTree)adaptor.BecomeRoot(new CommonTree(new CommonToken(5)), root_1);

            adaptor.AddChild(root_1, new CommonTree(new CommonToken(6)));

            adaptor.AddChild(root_0, root_1);

            root_0.SanityCheckParentAndChildIndexes();
        }