END_TEST START_TEST (test_InitialAssignment_setMath1) { ASTNode_t *math = SBML_parseFormula("2 * k"); int i = InitialAssignment_setMath(E, math); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( InitialAssignment_getMath(E) != math ); fail_unless( InitialAssignment_isSetMath(E) ); i = InitialAssignment_setMath(E, NULL); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( InitialAssignment_getMath(E) == NULL ); fail_unless( !InitialAssignment_isSetMath(E) ); ASTNode_free(math); }
END_TEST START_TEST (test_InitialAssignment_setMath) { ASTNode_t *math = SBML_parseFormula("2 * k"); char *formula; const ASTNode_t *math1; InitialAssignment_setMath(IA, math); math1 = InitialAssignment_getMath(IA); fail_unless( math1 != NULL ); formula = SBML_formulaToString(math1); fail_unless( formula != NULL ); fail_unless( !strcmp(formula, "2 * k") ); fail_unless( InitialAssignment_getMath(IA) != math ); fail_unless( InitialAssignment_isSetMath(IA) ); /* Reflexive case (pathological) */ InitialAssignment_setMath(IA, (ASTNode_t *) InitialAssignment_getMath(IA)); math1 = InitialAssignment_getMath(IA); fail_unless( math1 != NULL ); safe_free(formula); formula = SBML_formulaToString(math1); fail_unless( formula != NULL ); fail_unless( !strcmp(formula, "2 * k") ); fail_unless( InitialAssignment_getMath(IA) != math ); safe_free(formula); InitialAssignment_setMath(IA, NULL); fail_unless( !InitialAssignment_isSetMath(IA) ); if (InitialAssignment_getMath(IA) != NULL) { fail("InitialAssignment_setMath(IA, NULL) did not clear ASTNode."); } ASTNode_free(math); }