def test_create_parameter(self): self.per_second_id = 'unit_1_per_second' self.per_second = LibSbmlInterface.call_libsbml( self.sbml_model.createUnitDefinition) LibSbmlInterface.call_libsbml(self.per_second.setIdAttribute, self.per_second_id) LibSbmlInterface.create_base_unit('unit_1_per_second', self.per_second, 'second', exponent=-1) id = 'id1' name = 'name1' value = 13.0 constant = False parameter = LibSbmlInterface.create_parameter( self.sbml_model, id, value, unit_registry.parse_units('dimensionless'), name=name, constant=constant) self.assertTrue( LibSbmlInterface.call_libsbml(parameter.hasRequiredAttributes)) self.assertEqual( LibSbmlInterface.call_libsbml(parameter.getIdAttribute), id) self.assertEqual(LibSbmlInterface.call_libsbml(parameter.getName), name) self.assertTrue(LibSbmlInterface.call_libsbml(parameter.isSetValue)) self.assertTrue(LibSbmlInterface.call_libsbml(parameter.isSetUnits)) self.assertEqual(LibSbmlInterface.call_libsbml(parameter.getValue), value) self.assertEqual(LibSbmlInterface.call_libsbml(parameter.getConstant), constant) # test defaults id = 'id2' parameter = LibSbmlInterface.create_parameter( self.sbml_model, id, value, unit_registry.parse_units('dimensionless')) self.assertEqual( LibSbmlInterface.call_libsbml(parameter.getIdAttribute), id) self.assertEqual(LibSbmlInterface.call_libsbml(parameter.getName), '') self.assertEqual(LibSbmlInterface.call_libsbml(parameter.getConstant), True) # test units id = 'id3' parameter = LibSbmlInterface.create_parameter( self.sbml_model, id, value, unit_registry.parse_units('s^-1')) self.assertTrue( LibSbmlInterface.call_libsbml(parameter.hasRequiredAttributes)) self.assertTrue(LibSbmlInterface.call_libsbml(parameter.isSetUnits)) self.assertEqual(LibSbmlInterface.call_libsbml(parameter.getUnits), self.per_second_id)
def test_parse_parameter(self): units = unit_registry.parse_units('s^-1') LibSbmlInterface.create_unit(units, self.sbml_model) parameter = LibSbmlInterface.create_parameter(self.sbml_model, 'parameter_1', 1.5, units) id, name, value, units = LibSbmlInterface.parse_parameter(parameter) self.assertEqual(id, 'parameter_1') self.assertEqual(name, '') self.assertEqual(value, 1.5) self.assertEqual(units, unit_registry.parse_expression('s^-1'))