Esempio n. 1
0
 public void TestReplaceWithNoChildren()
 {
     CommonTree t = new CommonTree( new CommonToken( 101 ) );
     CommonTree newChild = new CommonTree( new CommonToken( 5 ) );
     bool error = false;
     try
     {
         t.ReplaceChildren( 0, 0, newChild );
     }
     catch ( ArgumentException /*iae*/ )
     {
         error = true;
     }
     assertTrue( error );
 }
Esempio n. 2
0
        public void TestReplaceWithOneChildren()
        {
            // assume token type 99 and use text
            CommonTree t = new CommonTree( new CommonToken( 99, "a" ) );
            CommonTree c0 = new CommonTree( new CommonToken( 99, "b" ) );
            t.AddChild( c0 );

            CommonTree newChild = new CommonTree( new CommonToken( 99, "c" ) );
            t.ReplaceChildren( 0, 0, newChild );
            string expecting = "(a c)";
            assertEquals( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 3
0
        public void TestReplaceOneWithTwoInMiddle()
        {
            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.Nil();
            newChildren.AddChild( new CommonTree( new CommonToken( 99, "x" ) ) );
            newChildren.AddChild( new CommonTree( new CommonToken( 99, "y" ) ) );

            t.ReplaceChildren( 1, 1, newChildren );
            string expecting = "(a b x y d)";
            assertEquals( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 4
0
        public void TestReplaceTwoWithOneAtRight()
        {
            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 newChild = new CommonTree( new CommonToken( 99, "x" ) );

            t.ReplaceChildren( 1, 2, newChild );
            string expecting = "(a b x)";
            assertEquals( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 5
0
        public void TestReplaceInMiddle()
        {
            CommonTree t = new CommonTree( new CommonToken( 99, "a" ) );
            t.AddChild( new CommonTree( new CommonToken( 99, "b" ) ) );
            t.AddChild( new CommonTree( new CommonToken( 99, "c" ) ) ); // index 1
            t.AddChild( new CommonTree( new CommonToken( 99, "d" ) ) );

            CommonTree newChild = new CommonTree( new CommonToken( 99, "x" ) );
            t.ReplaceChildren( 1, 1, newChild );
            string expecting = "(a b x d)";
            assertEquals( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 6
0
        public void TestReplaceTwoWithOneAtLeft()
        {
            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 newChild = new CommonTree( new CommonToken( 99, "x" ) );

            t.ReplaceChildren( 0, 1, newChild );
            string expecting = "(a x d)";
            Assert.AreEqual( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 7
0
        public void TestReplaceOneWithTwoAtRight()
        {
            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.Nil();
            newChildren.AddChild( new CommonTree( new CommonToken( 99, "x" ) ) );
            newChildren.AddChild( new CommonTree( new CommonToken( 99, "y" ) ) );

            t.ReplaceChildren( 2, 2, newChildren );
            string expecting = "(a b c x y)";
            Assert.AreEqual( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 8
0
        public void TestReplaceAtRight()
        {
            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" ) ) ); // index 2

            CommonTree newChild = new CommonTree( new CommonToken( 99, "x" ) );
            t.ReplaceChildren( 2, 2, newChild );
            string expecting = "(a b c x)";
            Assert.AreEqual( expecting, t.ToStringTree() );
            t.SanityCheckParentAndChildIndexes();
        }
Esempio n. 9
0
 public void TestReplaceWithNoChildren()
 {
     CommonTree t = new CommonTree( new CommonToken( 101 ) );
     CommonTree newChild = new CommonTree( new CommonToken( 5 ) );
     t.ReplaceChildren( 0, 0, newChild );
 }