END_TEST START_TEST (test_SpeciesReference_setStoichiometryMath1) { StoichiometryMath_t * sm = StoichiometryMath_create(2, 4); ASTNode_t *math = ASTNode_createWithType(AST_TIMES); ASTNode_t *a = ASTNode_create(); ASTNode_t *b = ASTNode_create(); ASTNode_setName(a, "a"); ASTNode_setName(b, "b"); ASTNode_addChild(math, a); ASTNode_addChild(math, b); StoichiometryMath_setMath(sm, math); int i = SpeciesReference_setStoichiometryMath(sr, sm); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( SpeciesReference_isSetStoichiometryMath(sr) ); fail_unless( SpeciesReference_getStoichiometry(sr) == 1 ); i = SpeciesReference_unsetStoichiometryMath(sr); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( !SpeciesReference_isSetStoichiometryMath(sr) ); StoichiometryMath_free(sm); }
END_TEST START_TEST (test_SpeciesReference_setStoichiometryMath5) { SpeciesReference_t *sr1 = SpeciesReference_create(1, 2); StoichiometryMath_t * sm = StoichiometryMath_create(2, 4); ASTNode_t *math = ASTNode_createWithType(AST_TIMES); ASTNode_t *a = ASTNode_create(); ASTNode_t *b = ASTNode_create(); ASTNode_setName(a, "a"); ASTNode_setName(b, "b"); ASTNode_addChild(math, a); ASTNode_addChild(math, b); StoichiometryMath_setMath(sm, math); int i = SpeciesReference_setStoichiometryMath(sr1, sm); fail_unless( i == LIBSBML_UNEXPECTED_ATTRIBUTE); fail_unless( !SpeciesReference_isSetStoichiometryMath(sr1) ); StoichiometryMath_free(sm); SpeciesReference_free(sr1); }
END_TEST START_TEST (test_StoichiometryMath_createWithNS ) { XMLNamespaces_t *xmlns = XMLNamespaces_create(); XMLNamespaces_add(xmlns, "http://www.sbml.org", "testsbml"); SBMLNamespaces_t *sbmlns = SBMLNamespaces_create(2,1); SBMLNamespaces_addNamespaces(sbmlns,xmlns); StoichiometryMath_t *object = StoichiometryMath_createWithNS (sbmlns); fail_unless( SBase_getTypeCode ((SBase_t *) object) == SBML_STOICHIOMETRY_MATH ); fail_unless( SBase_getMetaId ((SBase_t *) object) == NULL ); fail_unless( SBase_getNotes ((SBase_t *) object) == NULL ); fail_unless( SBase_getAnnotation((SBase_t *) object) == NULL ); fail_unless( SBase_getLevel ((SBase_t *) object) == 2 ); fail_unless( SBase_getVersion ((SBase_t *) object) == 1 ); fail_unless( StoichiometryMath_getNamespaces (object) != NULL ); fail_unless( XMLNamespaces_getLength( StoichiometryMath_getNamespaces(object)) == 2 ); StoichiometryMath_free(object); XMLNamespaces_free(xmlns); SBMLNamespaces_free(sbmlns); }
END_TEST START_TEST (test_SpeciesReference_setStoichiometryMath6) { StoichiometryMath_t * sm = StoichiometryMath_create(2, 1); int i = SpeciesReference_setStoichiometryMath(sr, sm); fail_unless( i == LIBSBML_VERSION_MISMATCH); fail_unless( !SpeciesReference_isSetStoichiometryMath(sr) ); StoichiometryMath_free(sm); }
END_TEST START_TEST (test_SpeciesReference_setStoichiometryMath4) { StoichiometryMath_t * sm = StoichiometryMath_create(2, 4); ASTNode_t *math = NULL; StoichiometryMath_setMath(sm, math); int i = SpeciesReference_setStoichiometryMath(sr, sm); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( SpeciesReference_isSetStoichiometryMath(sr) ); fail_unless( SpeciesReference_getStoichiometry(sr) == 1 ); i = SpeciesReference_unsetStoichiometryMath(sr); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( !SpeciesReference_isSetStoichiometryMath(sr) ); StoichiometryMath_free(sm); }
END_TEST START_TEST (test_SpeciesReference_setStoichiometryMath2) { StoichiometryMath_t * sm = StoichiometryMath_create(2, 4); ASTNode_t *math = ASTNode_createWithType(AST_TIMES); ASTNode_t *a = ASTNode_create(); ASTNode_setName(a, "a"); ASTNode_addChild(math, a); StoichiometryMath_setMath(sm, math); int i = SpeciesReference_setStoichiometryMath(sr, sm); /* once the StoichiometryMath_setMath function does not set * an invalid ASTNode this changes to i == LIBSBML_OPERATION_SUCCESS fail_unless( i == LIBSBML_INVALID_OBJECT); */ fail_unless ( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( SpeciesReference_isSetStoichiometryMath(sr) ); StoichiometryMath_free(sm); }
END_TEST //START_TEST (test_StoichiometryMath_createWithMath) //{ // ASTNode_t *math = SBML_parseFormula("x^3"); // StoichiometryMath_t *fd = StoichiometryMath_createWithMath(math); // // const ASTNode_t * math1; // char * formula; // // fail_unless( SBase_getTypeCode((SBase_t *) fd) == SBML_STOICHIOMETRY_MATH ); // fail_unless( SBase_getMetaId ((SBase_t *) fd) == NULL ); // fail_unless( SBase_getNotes ((SBase_t *) fd) == NULL ); // fail_unless( SBase_getAnnotation((SBase_t *) fd) == NULL ); // // // math1 = StoichiometryMath_getMath(fd); // fail_unless( math1 != NULL ); // // formula = SBML_formulaToString(math1); // fail_unless( formula != NULL ); // fail_unless( !strcmp(formula, "x^3") ); // fail_unless( StoichiometryMath_getMath(fd) != math ); // fail_unless( StoichiometryMath_isSetMath(fd) ); // // // StoichiometryMath_free(fd); //} //END_TEST START_TEST (test_StoichiometryMath_free_NULL) { StoichiometryMath_free(NULL); }
void StoichiometryMathTest_teardown (void) { StoichiometryMath_free(D); }