コード例 #1
0
    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)
コード例 #2
0
    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'))