END_TEST START_TEST (test_L3_Model_volumeUnits) { const char *units = "mole"; fail_unless( !Model_isSetVolumeUnits(M) ); Model_setVolumeUnits(M, units); fail_unless( !strcmp(Model_getVolumeUnits(M), units) ); fail_unless( Model_isSetVolumeUnits(M) ); if (Model_getVolumeUnits(M) == units) { fail("Model_setVolumeUnits(...) did not make a copy of string."); } Model_unsetVolumeUnits(M); fail_unless( !Model_isSetVolumeUnits(M) ); if (Model_getVolumeUnits(M) != NULL) { fail("Model_unsetVolumeUnits(M) did not clear string."); } }
END_TEST START_TEST (test_SBMLConvert_convertFromL3_modelUnits) { UnitDefinition_t *ud; SBMLDocument_t *d = SBMLDocument_createWithLevelAndVersion(3, 1); Model_t *m = SBMLDocument_createModel(d); Model_setVolumeUnits(m, "litre"); fail_unless(Model_getNumUnitDefinitions(m) == 0); fail_unless(SBMLDocument_setLevelAndVersionNonStrict(d, 1, 2) == 1); m = SBMLDocument_getModel(d); fail_unless(Model_getNumUnitDefinitions(m) == 1); ud = Model_getUnitDefinition(m, 0); fail_unless(!strcmp(UnitDefinition_getId(ud), "volume")); fail_unless(UnitDefinition_getNumUnits(ud) == 1); fail_unless(Unit_getKind(UnitDefinition_getUnit(ud, 0)) == UNIT_KIND_LITRE ); }