END_TEST START_TEST (test_Reaction_getModifierById) { SpeciesReference_t *msr1 = SpeciesReference_createModifier(2, 4); SpeciesReference_t *msr2 = SpeciesReference_createModifier(2, 4); SpeciesReference_setSpecies(msr1, "M1"); SpeciesReference_setSpecies(msr2, "M2"); Reaction_addModifier(R, msr1); Reaction_addModifier(R, msr2); fail_unless( Reaction_getNumReactants(R) == 0 ); fail_unless( Reaction_getNumProducts (R) == 0 ); fail_unless( Reaction_getNumModifiers(R) == 2 ); fail_unless( Reaction_getModifierBySpecies(R, "M1") != msr1 ); fail_unless( Reaction_getModifierBySpecies(R, "M2") != msr2 ); fail_unless( Reaction_getModifierBySpecies(R, "M3") == NULL ); SpeciesReference_free(msr1); SpeciesReference_free(msr2); }
END_TEST START_TEST (test_Reaction_getModifier) { SpeciesReference_t *msr1 = SpeciesReference_createModifier(2, 4); SpeciesReference_t *msr2 = SpeciesReference_createModifier(2, 4); SpeciesReference_setSpecies(msr1, "M1"); SpeciesReference_setSpecies(msr2, "M2"); Reaction_addModifier(R, msr1); Reaction_addModifier(R, msr2); SpeciesReference_free(msr1); SpeciesReference_free(msr2); fail_unless( Reaction_getNumReactants(R) == 0 ); fail_unless( Reaction_getNumProducts (R) == 0 ); fail_unless( Reaction_getNumModifiers(R) == 2 ); msr1 = Reaction_getModifier(R, 0); msr2 = Reaction_getModifier(R, 1); fail_unless(!strcmp(SpeciesReference_getSpecies(msr1), "M1")); fail_unless(!strcmp(SpeciesReference_getSpecies(msr2), "M2")); }
END_TEST START_TEST (test_Reaction_addModifier1) { Reaction_t *m = Reaction_create(2, 2); SpeciesReference_t *p = SpeciesReference_createModifier(2, 2); SpeciesReference_t *p1 = SpeciesReference_createModifier(2, 2); SpeciesReference_setSpecies(p1, "k"); SpeciesReference_setId(p1, "k1"); int i = Reaction_addModifier(m, p); fail_unless( i == LIBSBML_INVALID_OBJECT); SpeciesReference_setSpecies(p, "k"); SpeciesReference_setId(p, "k1"); i = Reaction_addModifier(m, p); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( Reaction_getNumModifiers(m) == 1); i = Reaction_addModifier(m, p1); fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID); fail_unless( Reaction_getNumModifiers(m) == 1); SpeciesReference_free(p); SpeciesReference_free(p1); Reaction_free(m); }
END_TEST START_TEST (test_Reaction_addModifier) { SpeciesReference_t * msr = SpeciesReference_createModifier(2, 4); SpeciesReference_setSpecies(msr, "s"); Reaction_addModifier(R, msr); fail_unless( Reaction_getNumReactants(R) == 0 ); fail_unless( Reaction_getNumProducts (R) == 0 ); fail_unless( Reaction_getNumModifiers(R) == 1 ); SpeciesReference_free(msr); }
END_TEST START_TEST (test_Reaction_addModifier3) { Reaction_t *m = Reaction_create(2, 2); SpeciesReference_t *p = NULL; int i = Reaction_addModifier(m, p); fail_unless( i == LIBSBML_OPERATION_FAILED); fail_unless( Reaction_getNumModifiers(m) == 0); Reaction_free(m); }
END_TEST START_TEST (test_Reaction_addModifier2) { Reaction_t *m = Reaction_create(2, 2); SpeciesReference_t *p = SpeciesReference_createModifier(2, 1); SpeciesReference_setSpecies(p, "k"); int i = Reaction_addModifier(m, p); fail_unless( i == LIBSBML_VERSION_MISMATCH); fail_unless( Reaction_getNumModifiers(m) == 0); SpeciesReference_free(p); Reaction_free(m); }