END_TEST START_TEST (test_L3_Unit_free_NULL) { Unit_free(NULL); }
END_TEST START_TEST (test_Unit_createWithNS ) { XMLNamespaces_t *xmlns = XMLNamespaces_create(); XMLNamespaces_add(xmlns, "http://www.sbml.org", "testsbml"); SBMLNamespaces_t *sbmlns = SBMLNamespaces_create(2,1); SBMLNamespaces_addNamespaces(sbmlns,xmlns); Unit_t *object = Unit_createWithNS (sbmlns); fail_unless( SBase_getTypeCode ((SBase_t *) object) == SBML_UNIT ); fail_unless( SBase_getMetaId ((SBase_t *) object) == NULL ); fail_unless( SBase_getNotes ((SBase_t *) object) == NULL ); fail_unless( SBase_getAnnotation((SBase_t *) object) == NULL ); fail_unless( SBase_getLevel ((SBase_t *) object) == 2 ); fail_unless( SBase_getVersion ((SBase_t *) object) == 1 ); fail_unless( Unit_getNamespaces (object) != NULL ); fail_unless( XMLNamespaces_getLength(Unit_getNamespaces(object)) == 2 ); Unit_free(object); XMLNamespaces_free(xmlns); SBMLNamespaces_free(sbmlns); }
END_TEST START_TEST (test_L3_Unit_hasRequiredAttributes ) { Unit_t *u = Unit_create (3, 1); fail_unless ( !Unit_hasRequiredAttributes(u)); Unit_setKind(u, UNIT_KIND_MOLE); fail_unless ( !Unit_hasRequiredAttributes(u)); Unit_setExponentAsDouble(u, 0); fail_unless ( !Unit_hasRequiredAttributes(u)); Unit_setMultiplier(u, 0.45); fail_unless ( !Unit_hasRequiredAttributes(u)); Unit_setScale(u, 2); fail_unless ( Unit_hasRequiredAttributes(u)); Unit_free(u); }
END_TEST //START_TEST (test_Unit_createWith) //{ // Unit_t *u = Unit_createWithKindExponentScale(UNIT_KIND_SECOND, -2, 1); // // // fail_unless( SBase_getTypeCode ((SBase_t *) u) == SBML_UNIT ); // fail_unless( SBase_getMetaId ((SBase_t *) u) == NULL ); // fail_unless( SBase_getNotes ((SBase_t *) u) == NULL ); // fail_unless( SBase_getAnnotation((SBase_t *) u) == NULL ); // // fail_unless( Unit_getKind (u) == UNIT_KIND_SECOND ); // fail_unless( Unit_getExponent (u) == -2 ); // fail_unless( Unit_getScale (u) == 1 ); // fail_unless( Unit_getMultiplier(u) == 1.0 ); // fail_unless( Unit_getOffset (u) == 0.0 ); // // fail_unless( Unit_isSetKind(u) ); // // Unit_free(u); //} //END_TEST START_TEST (test_Unit_free_NULL) { Unit_free(NULL); }
END_TEST START_TEST (test_SBMLDocument_setLevelAndVersion_Error) { SBMLDocument_t *d = SBMLDocument_create(); SBMLDocument_setLevelAndVersion(d, 2, 1); Model_t *m1 = Model_create(2, 1); /* add unitDefinition */ Unit_t * u = Unit_create(2, 1); Unit_setKind(u, UnitKind_forName("mole")); Unit_setOffset(u, 3.2); UnitDefinition_t *ud = UnitDefinition_create(2, 1); UnitDefinition_setId(ud, "ud"); UnitDefinition_addUnit(ud, u); Model_addUnitDefinition(m1, ud); SBMLDocument_setModel(d, m1); fail_unless(SBMLDocument_setLevelAndVersionStrict(d,2,2) == 0); fail_unless(SBMLDocument_setLevelAndVersionStrict(d,2,3) == 0); fail_unless(SBMLDocument_setLevelAndVersionStrict(d,1,2) == 0); fail_unless(SBMLDocument_setLevelAndVersionStrict(d,1,1) == 0); SBMLDocument_free(d); Model_free(m1); Unit_free(u); UnitDefinition_free(ud); }
END_TEST START_TEST (test_UnitDefinition_isVariantOfVolume_2) { Unit_t *dim = Unit_create(2, 4); Unit_setKind( dim , UnitKind_forName("dimensionless") ); Unit_t *u = UnitDefinition_createUnit(UD); fail_unless( !UnitDefinition_isVariantOfVolume(UD) ); Unit_setKind(u, UNIT_KIND_METRE); Unit_setExponent(u, 3); fail_unless( UnitDefinition_isVariantOfVolume(UD) ); Unit_setScale(u, 100); fail_unless( UnitDefinition_isVariantOfVolume(UD) ); Unit_setMultiplier(u, 5); fail_unless( UnitDefinition_isVariantOfVolume(UD) ); Unit_setOffset(u, -5); fail_unless( UnitDefinition_isVariantOfVolume(UD) ); Unit_setExponent(u, 2); fail_unless( !UnitDefinition_isVariantOfVolume(UD) ); Unit_setExponent(u, 3); UnitDefinition_addUnit( UD, dim ); fail_unless( UnitDefinition_isVariantOfVolume(UD) ); Unit_free(dim); }
END_TEST START_TEST (test_UnitDefinition_getUnit) { Unit_t *mole = Unit_create(2, 4); Unit_t *litre = Unit_create(2, 4); Unit_t *second = Unit_create(2, 4); Unit_setKind( mole , UnitKind_forName("mole") ); Unit_setKind( litre , UnitKind_forName("litre") ); Unit_setKind( second, UnitKind_forName("second") ); Unit_setScale (mole , -3); Unit_setExponent(litre , -1); Unit_setExponent(second, -1); UnitDefinition_addUnit( UD, mole ); UnitDefinition_addUnit( UD, litre ); UnitDefinition_addUnit( UD, second ); Unit_free(mole); Unit_free(litre); Unit_free(second); fail_unless( UnitDefinition_getNumUnits(UD) == 3 ); mole = UnitDefinition_getUnit(UD, 0); litre = UnitDefinition_getUnit(UD, 1); second = UnitDefinition_getUnit(UD, 2); fail_unless( Unit_getKind(mole) == UNIT_KIND_MOLE ); fail_unless( Unit_getKind(litre) == UNIT_KIND_LITRE ); fail_unless( Unit_getKind(second) == UNIT_KIND_SECOND ); fail_unless( Unit_getScale(mole) == -3 ); fail_unless( Unit_getExponent(litre) == -1 ); fail_unless( Unit_getExponent(second) == -1 ); }
END_TEST START_TEST (test_Unit_setOffset2) { Unit_t *U1 = Unit_create(2, 1); int i = Unit_setOffset(U1, 2.0); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( Unit_getOffset(U1) == 2 ); Unit_free(U1); }
END_TEST START_TEST (test_UnitDefinition_removeUnit) { Unit_t *o1, *o2, *o3; o1 = UnitDefinition_createUnit(UD); o2 = UnitDefinition_createUnit(UD); o3 = UnitDefinition_createUnit(UD); fail_unless( UnitDefinition_removeUnit(UD,0) == o1 ); fail_unless( UnitDefinition_getNumUnits(UD) == 2 ); fail_unless( UnitDefinition_removeUnit(UD,0) == o2 ); fail_unless( UnitDefinition_getNumUnits(UD) == 1 ); fail_unless( UnitDefinition_removeUnit(UD,0) == o3 ); fail_unless( UnitDefinition_getNumUnits(UD) == 0 ); Unit_free(o1); Unit_free(o2); Unit_free(o3); }
END_TEST START_TEST (test_UnitDefinition_addUnit) { Unit_t *u = Unit_create(2, 4); Unit_setKind(u, UNIT_KIND_MOLE); UnitDefinition_addUnit(UD, u); fail_unless( UnitDefinition_getNumUnits(UD) == 1 ); Unit_free(u); }
END_TEST START_TEST (test_Unit_setMultiplier2) { Unit_t *c = Unit_create(2, 2); int i = Unit_setMultiplier(c, 4); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( Unit_getMultiplier(c) == 4 ); Unit_free(c); }
END_TEST START_TEST (test_Unit_set_get_unset) { Unit_t *u = Unit_create(2, 4); // defaults fail_unless( Unit_getKind (u) == UNIT_KIND_INVALID ); fail_unless( Unit_getExponent (u) == 1 ); fail_unless( Unit_isSetExponent(u) ); fail_unless( Unit_getScale (u) == 0 ); fail_unless( Unit_isSetScale(u) ); fail_unless( Unit_getMultiplier(u) == 1.0 ); fail_unless( Unit_isSetMultiplier(u) ); fail_unless( !Unit_isSetKind(u) ); Unit_setKind(u, UNIT_KIND_WATT); fail_unless( Unit_getKind (u) == UNIT_KIND_WATT ); Unit_setExponent(u, 3); fail_unless( Unit_getExponent (u) == 3 ); Unit_setScale(u, 4); fail_unless( Unit_getScale (u) == 4 ); Unit_setMultiplier(u, 3.2); fail_unless( Unit_getMultiplier(u) == 3.2 ); fail_unless( Unit_unsetKind(u) == LIBSBML_OPERATION_SUCCESS); fail_unless( Unit_unsetExponent(u) == LIBSBML_UNEXPECTED_ATTRIBUTE); fail_unless( Unit_unsetScale(u) == LIBSBML_UNEXPECTED_ATTRIBUTE); fail_unless( Unit_unsetMultiplier(u) == LIBSBML_UNEXPECTED_ATTRIBUTE); fail_unless( Unit_getKind (u) == UNIT_KIND_INVALID ); fail_unless( Unit_getExponent (u) == 1 ); fail_unless( Unit_isSetExponent(u) ); fail_unless( Unit_getScale (u) == 0 ); fail_unless( Unit_isSetScale(u) ); fail_unless( Unit_getMultiplier(u) == 1.0 ); fail_unless( Unit_isSetMultiplier(u) ); fail_unless( !Unit_isSetKind(u) ); Unit_free(u); }
END_TEST START_TEST (test_UnitDefinition_isVariantOfSubstancePerTime_3) { UnitDefinition_t *ud = UnitDefinition_create(2, 2); Unit_t *dim = Unit_create(2, 2); Unit_setKind( dim , UnitKind_forName("dimensionless") ); Unit_t *perTime = UnitDefinition_createUnit(ud); Unit_setKind( perTime , UnitKind_forName("second") ); Unit_setExponent( perTime, -1); Unit_t *u = UnitDefinition_createUnit(ud); fail_unless( !UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setKind(u, UNIT_KIND_GRAM); Unit_setExponent(u, 1); fail_unless( UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setScale(u, -1); Unit_setScale(perTime, -1); fail_unless( UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setMultiplier(u, 2); fail_unless( UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setOffset(u, 3); fail_unless( UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setExponent(u, -3); fail_unless( !UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setExponent(u, 1); Unit_setExponent(perTime, -3); fail_unless( !UnitDefinition_isVariantOfSubstancePerTime(ud) ); Unit_setExponent(perTime, -1); UnitDefinition_addUnit( ud, dim ); fail_unless( UnitDefinition_isVariantOfSubstancePerTime(ud) ); UnitDefinition_free(ud); Unit_free(dim); }
END_TEST START_TEST (test_UnitDefinition_addUnit3) { UnitDefinition_t *m = UnitDefinition_create(2, 2); Unit_t *p = Unit_create(1, 2); Unit_setKind(p, UNIT_KIND_MOLE); int i = UnitDefinition_addUnit(m, p); fail_unless( i == LIBSBML_LEVEL_MISMATCH); fail_unless( UnitDefinition_getNumUnits(m) == 0); Unit_free(p); UnitDefinition_free(m); }
END_TEST START_TEST (test_Unit_unset) { Unit_t *u = Unit_create(2, 4); Unit_setKind(u, UNIT_KIND_WATT); Unit_setExponent(u, 3); Unit_setScale(u, 4); Unit_setMultiplier(u, 3.2); fail_unless( Unit_getKind (u) == UNIT_KIND_WATT ); fail_unless( Unit_getExponent (u) == 3 ); fail_unless( Unit_getScale (u) == 4 ); fail_unless( Unit_getMultiplier(u) == 3.2 ); fail_unless (Unit_isSetKind(u) == 1); fail_unless (Unit_isSetExponent(u) == 1); fail_unless (Unit_isSetScale(u) == 1); fail_unless (Unit_isSetMultiplier(u) == 1); fail_unless (Unit_isSetOffset(u) == 0); Unit_unsetKind(u); Unit_unsetExponent(u); Unit_unsetScale(u); Unit_unsetMultiplier(u); fail_unless (Unit_isSetKind(u) == 0); fail_unless (Unit_isSetExponent(u) == 1); fail_unless (Unit_isSetScale(u) == 1); fail_unless (Unit_isSetMultiplier(u) == 1); fail_unless (Unit_isSetOffset(u) == 0); fail_unless( Unit_getKind (u) == UNIT_KIND_INVALID ); fail_unless( Unit_getExponent (u) == 1 ); fail_unless( Unit_getScale (u) == 0 ); fail_unless( Unit_getMultiplier(u) == 1.0 ); Unit_free(u); }
END_TEST START_TEST (test_UnitDefinition_addUnit1) { UnitDefinition_t *m = UnitDefinition_create(2, 2); Unit_t *p = Unit_create(2, 2); int i = UnitDefinition_addUnit(m, p); fail_unless( i == LIBSBML_INVALID_OBJECT); Unit_setKind(p, UNIT_KIND_MOLE); i = UnitDefinition_addUnit(m, p); fail_unless( i == LIBSBML_OPERATION_SUCCESS); fail_unless( UnitDefinition_getNumUnits(m) == 1); Unit_free(p); UnitDefinition_free(m); }
END_TEST START_TEST (test_L3_Unit_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); Unit_t *u = Unit_createWithNS (sbmlns); fail_unless( SBase_getTypeCode ((SBase_t *) u) == SBML_UNIT ); fail_unless( SBase_getMetaId ((SBase_t *) u) == NULL ); fail_unless( SBase_getNotes ((SBase_t *) u) == NULL ); fail_unless( SBase_getAnnotation((SBase_t *) u) == NULL ); fail_unless( SBase_getLevel ((SBase_t *) u) == 3 ); fail_unless( SBase_getVersion ((SBase_t *) u) == 1 ); fail_unless( Unit_getNamespaces (u) != NULL ); fail_unless( XMLNamespaces_getLength(Unit_getNamespaces(u)) == 2 ); fail_unless( Unit_getKind (u) == UNIT_KIND_INVALID ); fail_unless( isnan(Unit_getExponentAsDouble (u)) ); fail_unless( isnan(Unit_getMultiplier (u)) ); // fail_unless( isnan((double)(Unit_getScale (u))) ); fail_unless( !Unit_isSetKind (u) ); fail_unless( !Unit_isSetExponent (u) ); fail_unless( !Unit_isSetMultiplier (u) ); fail_unless( !Unit_isSetScale (u) ); Unit_free(u); }
void UnitTest1_teardown (void) { Unit_free(U); }
void L3UnitTest_teardown (vokind) { Unit_free(U); }