END_TEST START_TEST (test_Priority_setMath) { ASTNode_t *math = SBML_parseFormula("lambda(x, x^3)"); const ASTNode_t * math1; char * formula; Priority_setMath(P, math); math1 = Priority_getMath(P); fail_unless( math1 != NULL ); formula = SBML_formulaToString(math1); fail_unless( formula != NULL ); fail_unless( !strcmp(formula, "lambda(x, x^3)") ); fail_unless( Priority_getMath(P) != math ); fail_unless( Priority_isSetMath(P) ); safe_free(formula); /* Reflexive case (pathological) */ Priority_setMath(P, (ASTNode_t *) Priority_getMath(P)); math1 = Priority_getMath(P); fail_unless( math1 != NULL ); formula = SBML_formulaToString(math1); fail_unless( formula != NULL ); fail_unless( !strcmp(formula, "lambda(x, x^3)") ); safe_free(formula); Priority_setMath(P, NULL); fail_unless( !Priority_isSetMath(P) ); if (Priority_getMath(P) != NULL) { fail("Priority_setMath(P, NULL) did not clear ASTNode."); } ASTNode_free(math); }
END_TEST START_TEST (test_Priority_setMath1) { ASTNode_t *math = SBML_parseFormula("2 * k"); int i = Priority_setMath(P, math); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( Priority_getMath(P) != math ); fail_unless( Priority_isSetMath(P) ); i = Priority_setMath(P, NULL); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( Priority_getMath(P) == NULL ); fail_unless( !Priority_isSetMath(P) ); ASTNode_free(math); }
END_TEST START_TEST (test_Priority_setMath2) { ASTNode_t *math = ASTNode_createWithType(AST_DIVIDE); int i = Priority_setMath(P, math); fail_unless( i == LIBSBML_INVALID_OBJECT); fail_unless( !Priority_isSetMath(P) ); ASTNode_free(math); }
END_TEST START_TEST (test_L3_Event_setPriority1) { Priority_t *priority = Priority_create(3, 1); ASTNode_t *math1 = SBML_parseFormula("0"); Priority_setMath(priority, math1); fail_unless (!Event_isSetPriority(E) ); int i = Event_setPriority(E, priority); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( Event_isSetPriority(E) ); i = Event_unsetPriority(E); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !Event_isSetPriority(E) ); Priority_free(priority); ASTNode_free(math1); }