END_TEST START_TEST (test_L3_Model_timeUnits) { const char *units = "mole"; fail_unless( !Model_isSetTimeUnits(M) ); Model_setTimeUnits(M, units); fail_unless( !strcmp(Model_getTimeUnits(M), units) ); fail_unless( Model_isSetTimeUnits(M) ); if (Model_getTimeUnits(M) == units) { fail("Model_setTimeUnits(...) did not make a copy of string."); } Model_unsetTimeUnits(M); fail_unless( !Model_isSetTimeUnits(M) ); if (Model_getTimeUnits(M) != NULL) { fail("Model_unsetTimeUnits(M) did not clear string."); } }
END_TEST START_TEST (test_SBMLConvert_convertToL3_defaultUnits) { SBMLDocument_t *d = SBMLDocument_createWithLevelAndVersion(1, 2); Model_t *m = SBMLDocument_createModel(d); const char *sid = "C"; Compartment_t *c = Model_createCompartment(m); Compartment_setId ( c, sid ); Compartment_setSize ( c, 1.2 ); Compartment_setUnits( c, "volume"); fail_unless(Model_getNumUnitDefinitions(m) == 0); fail_unless( SBMLDocument_setLevelAndVersion(d, 3, 1) == 1, NULL); fail_unless(Model_getNumUnitDefinitions(m) == 2); UnitDefinition_t *ud = Model_getUnitDefinition(m, 0); fail_unless (ud != NULL); fail_unless (!strcmp(UnitDefinition_getId( ud), "volume")); fail_unless(UnitDefinition_getNumUnits(ud) == 1); Unit_t * u = UnitDefinition_getUnit(ud, 0); fail_unless(Unit_getKind(u) == UNIT_KIND_LITRE); fail_unless(Unit_getExponent(u) == 1); fail_unless(Unit_getMultiplier(u) == 1); fail_unless(Unit_getScale(u) == 0); ud = Model_getUnitDefinition(m, 1); fail_unless (ud != NULL); fail_unless (!strcmp(UnitDefinition_getId( ud), "time")); fail_unless(UnitDefinition_getNumUnits(ud) == 1); u = UnitDefinition_getUnit(ud, 0); fail_unless(Unit_getKind(u) == UNIT_KIND_SECOND); fail_unless(Unit_getExponent(u) == 1); fail_unless(Unit_getMultiplier(u) == 1); fail_unless(Unit_getScale(u) == 0); fail_unless(!strcmp(Model_getTimeUnits(m), "time")); SBMLDocument_free(d); }
END_TEST START_TEST (test_L3_Model_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); Model_t *m = Model_createWithNS (sbmlns); fail_unless( SBase_getTypeCode ((SBase_t *) m) == SBML_MODEL ); fail_unless( SBase_getMetaId ((SBase_t *) m) == NULL ); fail_unless( SBase_getNotes ((SBase_t *) m) == NULL ); fail_unless( SBase_getAnnotation((SBase_t *) m) == NULL ); fail_unless( SBase_getLevel ((SBase_t *) m) == 3 ); fail_unless( SBase_getVersion ((SBase_t *) m) == 1 ); fail_unless( Model_getNamespaces (m) != NULL ); fail_unless( XMLNamespaces_getLength(Model_getNamespaces(m)) == 2 ); fail_unless( Model_getId (m) == NULL ); fail_unless( Model_getName (m) == NULL ); fail_unless( Model_getSubstanceUnits(m) == NULL ); fail_unless( Model_getTimeUnits(m) == NULL ); fail_unless( Model_getVolumeUnits(m) == NULL ); fail_unless( Model_getAreaUnits(m) == NULL ); fail_unless( Model_getLengthUnits(m) == NULL ); fail_unless( Model_getConversionFactor(m) == NULL ); fail_unless( !Model_isSetId (m) ); fail_unless( !Model_isSetName (m) ); fail_unless( !Model_isSetSubstanceUnits(m) ); fail_unless( !Model_isSetTimeUnits(m) ); fail_unless( !Model_isSetVolumeUnits(m) ); fail_unless( !Model_isSetAreaUnits(m) ); fail_unless( !Model_isSetLengthUnits(m) ); fail_unless( !Model_isSetConversionFactor(m) ); Model_free(m); XMLNamespaces_free(xmlns); SBMLNamespaces_free(sbmlns); }