END_TEST START_TEST (test_L3_SpeciesReference_species) { const char *species = "cell"; fail_unless( !SpeciesReference_isSetSpecies(SR) ); SpeciesReference_setSpecies(SR, species); fail_unless( !strcmp(SpeciesReference_getSpecies(SR), species) ); fail_unless( SpeciesReference_isSetSpecies(SR) ); if (SpeciesReference_getSpecies(SR) == species) { fail("SpeciesReference_setSpecies(...) did not make a copy of string."); } SpeciesReference_unsetSpecies(SR); fail_unless( !SpeciesReference_isSetSpecies(SR) ); }
END_TEST START_TEST (test_SpeciesReference_setSpecies) { const char *species = "X0"; SpeciesReference_setSpecies(SR, species); fail_unless( !strcmp(SpeciesReference_getSpecies(SR), species) ); fail_unless( SpeciesReference_isSetSpecies(SR) ); if (SpeciesReference_getSpecies(SR) == species) { fail("SpeciesReference_setSpecies(...) did not make a copy of string."); } /* Reflexive case (pathological) */ SpeciesReference_setSpecies(SR, SpeciesReference_getSpecies(SR)); fail_unless( !strcmp(SpeciesReference_getSpecies(SR), species) ); SpeciesReference_setSpecies(SR, NULL); fail_unless( !SpeciesReference_isSetSpecies(SR) ); if (SpeciesReference_getSpecies(SR) != NULL) { fail("SpeciesReference_setSpecies(SR, NULL) did not clear string."); } }
END_TEST START_TEST (test_SpeciesReference_setSpecies4) { int i = SpeciesReference_setSpecies(sr, "mm"); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( SpeciesReference_isSetSpecies(sr) ); i = SpeciesReference_setSpecies(sr, NULL); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !SpeciesReference_isSetSpecies(sr) ); }
END_TEST START_TEST (test_ModifierSpeciesReference_setSpecies) { const char *s; const char *species = "s1"; SpeciesReference_setSpecies(MSR, species); s = SpeciesReference_getSpecies(MSR); fail_unless( !strcmp(s, species) ); fail_unless(SpeciesReference_isSetSpecies(MSR)); if (SpeciesReference_getSpecies(MSR) == species) { fail( "ModifierSpeciesReference_setSpecies(...) " "did not make a copy of string." ); } /* Reflexive case (pathological) */ s = SpeciesReference_getSpecies(MSR); SpeciesReference_setSpecies(MSR, s); s = SpeciesReference_getSpecies(MSR); fail_unless( !strcmp(s, species) ); SpeciesReference_setSpecies(MSR, NULL); fail_unless(!SpeciesReference_isSetSpecies(MSR)); if (SpeciesReference_getSpecies(MSR) != NULL) { fail( "ModifierSpeciesReference_setSpecies(MSR, NULL) " "did not clear string." ); } }
END_TEST START_TEST (test_SpeciesReference_setSpecies2) { SpeciesReference_t *c = SpeciesReference_create(2, 2); int i = SpeciesReference_setSpecies(c, "1cell"); fail_unless( i == LIBSBML_INVALID_ATTRIBUTE_VALUE ); fail_unless( !SpeciesReference_isSetSpecies(c) ); SpeciesReference_free(c); }
END_TEST START_TEST (test_SpeciesReference_setSpecies3) { SpeciesReference_t *c = SpeciesReference_create(2, 2); int i = SpeciesReference_setSpecies(c, "mole"); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( !strcmp(SpeciesReference_getSpecies(c), "mole") ); fail_unless( SpeciesReference_isSetSpecies(c) ); SpeciesReference_free(c); }
END_TEST START_TEST (test_L3_SpeciesReference_createWithNS ) { XMLNamespaces_t *xmlns = XMLNamespaces_create(); XMLNamespaces_add(xmlns, "http://www.sbml.org", "testsbml"); SBMLNamespaces_t *sbmlns = SBMLNamespaces_create(3,1); SBMLNamespaces_addNamespaces(sbmlns,xmlns); SpeciesReference_t *sr = SpeciesReference_createWithNS (sbmlns); fail_unless( SBase_getTypeCode ((SBase_t *) sr) == SBML_SPECIES_REFERENCE ); fail_unless( SBase_getMetaId ((SBase_t *) sr) == NULL ); fail_unless( SBase_getNotes ((SBase_t *) sr) == NULL ); fail_unless( SBase_getAnnotation((SBase_t *) sr) == NULL ); fail_unless( SBase_getLevel ((SBase_t *) sr) == 3 ); fail_unless( SBase_getVersion ((SBase_t *) sr) == 1 ); fail_unless( SpeciesReference_getNamespaces (sr) != NULL ); fail_unless( XMLNamespaces_getLength(SpeciesReference_getNamespaces(sr)) == 2 ); fail_unless( SpeciesReference_getId (sr) == NULL ); fail_unless( SpeciesReference_getName (sr) == NULL ); fail_unless( SpeciesReference_getSpecies (sr) == NULL ); fail_unless( util_isNaN(SpeciesReference_getStoichiometry (sr)) ); fail_unless( SpeciesReference_getConstant(sr) == 0 ); fail_unless( !SpeciesReference_isSetId (sr) ); fail_unless( !SpeciesReference_isSetName (sr) ); fail_unless( !SpeciesReference_isSetSpecies (sr) ); fail_unless( !SpeciesReference_isSetStoichiometry (sr) ); fail_unless( !SpeciesReference_isSetConstant(sr) ); SpeciesReference_free(sr); XMLNamespaces_free(xmlns); SBMLNamespaces_free(sbmlns); }