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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }