public void test_ASTNode_replaceChild()
{
ASTNode node = new ASTNode();
ASTNode c1 = new ASTNode();
ASTNode c2 = new ASTNode();
ASTNode c3 = new ASTNode();
ASTNode newc = new ASTNode();
int i = 0;
node.setType(libsbml.AST_LOGICAL_AND);
c1.setName( "a");
c2.setName( "b");
c3.setName( "c");
node.addChild(c1);
node.addChild(c2);
node.addChild(c3);
assertTrue( node.getNumChildren() == 3 );
assertTrue(( "and(a, b, c)" == libsbml.formulaToString(node) ));
newc.setName( "d");
i = node.replaceChild(0,newc);
assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
assertTrue( node.getNumChildren() == 3 );
assertTrue(( "and(d, b, c)" == libsbml.formulaToString(node) ));
i = node.replaceChild(3,newc);
assertTrue( i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE );
assertTrue( node.getNumChildren() == 3 );
assertTrue(( "and(d, b, c)" == libsbml.formulaToString(node) ));
i = node.replaceChild(1,c1);
assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS );
assertTrue( node.getNumChildren() == 3 );
assertTrue(( "and(d, a, c)" == libsbml.formulaToString(node) ));
node = null;
}