END_TEST START_TEST (test_L3_KineticLaw_addParameter2) { KineticLaw_t *kl = KineticLaw_create(3, 1); LocalParameter_t *lp = LocalParameter_create(3, 1); LocalParameter_t *lp1 = LocalParameter_create(3, 1); int i = KineticLaw_addLocalParameter(kl, lp); fail_unless( i == LIBSBML_INVALID_OBJECT); LocalParameter_setId(lp, "p"); LocalParameter_setId(lp1, "p1"); i = KineticLaw_addLocalParameter(kl, lp); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( KineticLaw_getNumParameters(kl) == 1); fail_unless( KineticLaw_getNumLocalParameters(kl) == 1); i = KineticLaw_addParameter(kl, (Parameter_t *)lp1); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( KineticLaw_getNumParameters(kl) == 2); fail_unless( KineticLaw_getNumLocalParameters(kl) == 2); LocalParameter_free(lp); LocalParameter_free(lp1); KineticLaw_free(kl); }
END_TEST START_TEST (test_L3_KineticLaw_addParameter1) { KineticLaw_t *kl = KineticLaw_create(3, 1); Parameter_t *p = Parameter_create(3, 1); int i = KineticLaw_addParameter(KL, p); fail_unless( i == LIBSBML_INVALID_OBJECT); Parameter_setId(p, "p"); i = KineticLaw_addParameter(KL, p); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( KineticLaw_getNumParameters(KL) == 1); fail_unless( KineticLaw_getNumLocalParameters(KL) == 1); fail_unless( KineticLaw_getNumParameters(kl) == 0); fail_unless( KineticLaw_getNumLocalParameters(kl) == 0); i = KineticLaw_addParameter(kl, p); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( KineticLaw_getNumParameters(KL) == 1); fail_unless( KineticLaw_getNumLocalParameters(KL) == 1); fail_unless( KineticLaw_getNumParameters(kl) == 1); fail_unless( KineticLaw_getNumLocalParameters(kl) == 1); Parameter_free(p); KineticLaw_free(kl); }
END_TEST START_TEST (test_SBMLConvert_convertToL3_localParameters) { SBMLDocument_t *d = SBMLDocument_createWithLevelAndVersion(1, 2); Model_t *m = SBMLDocument_createModel(d); Compartment_t *c = Model_createCompartment(m); Compartment_setId ( c, "c" ); Species_t *s = Model_createSpecies(m); Species_setId(s, "s"); Species_setCompartment(s, "c"); Reaction_t * r = Model_createReaction(m); SpeciesReference_t *sr = Reaction_createReactant(r); SpeciesReference_setSpecies(sr, "s"); KineticLaw_t *kl = Reaction_createKineticLaw(r); KineticLaw_setFormula(kl, "s*k"); Parameter_t *p = KineticLaw_createParameter(kl); Parameter_setId(p, "k"); fail_unless(KineticLaw_getNumLocalParameters(kl) == 0); fail_unless( SBMLDocument_setLevelAndVersionNonStrict(d, 3, 1) == 1 ); m = SBMLDocument_getModel(d); r = Model_getReaction(m,0); kl = Reaction_getKineticLaw(r); fail_unless(KineticLaw_getNumLocalParameters(kl) == 1); LocalParameter_t *lp = KineticLaw_getLocalParameter(kl, 0); SBMLDocument_free(d); }