END_TEST START_TEST (test_SBMLConvert_addModifiersToReaction) { SBMLDocument_t *d = SBMLDocument_createWithLevelAndVersion(1, 2); Model_t *m = SBMLDocument_createModel(d); Reaction_t *r = Model_createReaction(m); KineticLaw_t *kl = Reaction_createKineticLaw(r); KineticLaw_setFormula(kl, "k1*S1*S2*S3*S4*S5"); SpeciesReference_t *ssr1; SpeciesReference_t *ssr2; Species_t *s1 = Model_createSpecies( m ); Species_setId( s1, "S1" ); Species_t *s2 = Model_createSpecies( m ); Species_setId( s2, "S2"); Species_t *s3 = Model_createSpecies( m ); Species_setId( s3, "S3"); Species_t *s4 = Model_createSpecies( m ); Species_setId( s4, "S4"); Species_t *s5 = Model_createSpecies( m ); Species_setId( s5, "S5"); SpeciesReference_t *sr1 = Reaction_createReactant( r ); SpeciesReference_t *sr2 = Reaction_createReactant( r ); SpeciesReference_t *sr3 = Reaction_createProduct ( r ); SpeciesReference_setSpecies(sr1, "S1"); SpeciesReference_setSpecies(sr2, "S2"); SpeciesReference_setSpecies(sr3, "S5"); fail_unless( Reaction_getNumModifiers(r) == 0, NULL ); fail_unless( SBMLDocument_setLevelAndVersionNonStrict(d, 2, 1) == 1, NULL ); fail_unless( SBMLDocument_getLevel (d) == 2, NULL ); fail_unless( SBMLDocument_getVersion(d) == 1, NULL ); fail_unless( Reaction_getNumModifiers(Model_getReaction(m, 0)) == 2, NULL ); ssr1 = (SpeciesReference_t *) Reaction_getModifier(Model_getReaction(m, 0), 0); ssr2 = (SpeciesReference_t *) Reaction_getModifier(Model_getReaction(m, 0), 1); fail_unless( !strcmp(SpeciesReference_getSpecies(ssr1), "S3"), NULL ); fail_unless( !strcmp(SpeciesReference_getSpecies(ssr2), "S4"), NULL ); SBMLDocument_free(d); }
END_TEST START_TEST (test_Reaction_createKineticLaw) { Reaction_t *r = Reaction_create(2, 2); KineticLaw_t *kl = Reaction_createKineticLaw(r); fail_unless( Reaction_isSetKineticLaw(r) == 1); fail_unless( SBase_getLevel((SBase_t *) (kl)) == 2 ); fail_unless( SBase_getVersion((SBase_t *) (kl)) == 2 ); Reaction_free(r); }
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); }