public void test_ASTNode_canonicalizeFunctionsL1()
{
ASTNode n = new ASTNode(libsbml.AST_FUNCTION);
ASTNode c;
n.setName( "acos");
assertTrue( n.getType() == libsbml.AST_FUNCTION );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_ARCCOS );
n.setType(libsbml.AST_FUNCTION);
n.setName( "asin");
assertTrue( n.getType() == libsbml.AST_FUNCTION );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_ARCSIN );
n.setType(libsbml.AST_FUNCTION);
n.setName( "atan");
assertTrue( n.getType() == libsbml.AST_FUNCTION );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_ARCTAN );
n.setType(libsbml.AST_FUNCTION);
n.setName( "ceil");
assertTrue( n.getType() == libsbml.AST_FUNCTION );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_CEILING );
n.setType(libsbml.AST_FUNCTION);
n.setName( "pow");
assertTrue( n.getType() == libsbml.AST_FUNCTION );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_POWER );
n = null;
n = new ASTNode(libsbml.AST_FUNCTION);
n.setName( "log");
c = new ASTNode();
c.setName( "x");
n.addChild(c);
assertTrue( n.getType() == libsbml.AST_FUNCTION );
assertTrue( n.getNumChildren() == 1 );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_LN );
assertTrue( n.getNumChildren() == 1 );
n.setType(libsbml.AST_FUNCTION);
c = new ASTNode();
c.setName( "y");
n.addChild(c);
assertTrue( n.getType() == libsbml.AST_FUNCTION );
assertTrue( n.getNumChildren() == 2 );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_LOG );
n = null;
n = new ASTNode(libsbml.AST_FUNCTION);
n.setName( "log10");
c = new ASTNode();
c.setName( "x");
n.addChild(c);
assertTrue( n.getType() == libsbml.AST_FUNCTION );
assertTrue( n.getNumChildren() == 1 );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_LOG );
assertTrue( n.getNumChildren() == 2 );
c = n.getLeftChild();
assertTrue( c.getType() == libsbml.AST_INTEGER );
assertTrue( c.getInteger() == 10 );
c = n.getRightChild();
assertTrue( c.getType() == libsbml.AST_NAME );
assertTrue(( "x" == c.getName() ));
n = null;
n = new ASTNode(libsbml.AST_FUNCTION);
n.setName( "sqr");
c = new ASTNode();
c.setName( "x");
n.addChild(c);
assertTrue( n.getType() == libsbml.AST_FUNCTION );
assertTrue( n.getNumChildren() == 1 );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_POWER );
assertTrue( n.getNumChildren() == 2 );
c = n.getLeftChild();
assertTrue( c.getType() == libsbml.AST_NAME );
assertTrue(( "x" == c.getName() ));
c = n.getRightChild();
assertTrue( c.getType() == libsbml.AST_INTEGER );
assertTrue( c.getInteger() == 2 );
n = null;
n = new ASTNode(libsbml.AST_FUNCTION);
n.setName( "sqrt");
c = new ASTNode();
c.setName( "x");
n.addChild(c);
assertTrue( n.getType() == libsbml.AST_FUNCTION );
assertTrue( n.getNumChildren() == 1 );
n.canonicalize();
assertTrue( n.getType() == libsbml.AST_FUNCTION_ROOT );
assertTrue( n.getNumChildren() == 2 );
c = n.getLeftChild();
assertTrue( c.getType() == libsbml.AST_INTEGER );
assertTrue( c.getInteger() == 2 );
c = n.getRightChild();
assertTrue( c.getType() == libsbml.AST_NAME );
assertTrue(( "x" == c.getName() ));
n = null;
}