Coverage for backend/idaes_factory/adapters/unit_model_adapter.py: 100%
14 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
1from common.models.idaes import UnitModelSchema
2from flowsheetInternals.unitops.models import SimulationObject
3from .property_info_adapter import PropertyDictAdapter, SerialisePropertiesAdapter
4from .port_adapter import SerialisePortAdapter
5from .arg_adapter import ArgAdapter
6from .port_adapter import PortListAdapter
7from ..idaes_factory_context import IdaesFactoryContext
10class UnitModelAdapter():
11 # TODO: Deprecate propertyDictAdapter and use SerialisePropertiesAdapter instead
12 def __init__(self, args:ArgAdapter, properties:PropertyDictAdapter | SerialisePropertiesAdapter, ports:SerialisePortAdapter) -> None:
13 self.arg_schema: ArgAdapter = args
14 self.properties_schema : PropertyDictAdapter | SerialisePropertiesAdapter = properties
15 self.ports_schema: SerialisePortAdapter = ports
18 def serialise(self, ctx: IdaesFactoryContext, unit_model:SimulationObject) -> UnitModelSchema:
19 return UnitModelSchema(
20 id=unit_model.pk,
21 type=unit_model.objectType,
22 name=unit_model.componentName,
23 args=self.arg_schema.serialise(ctx, unit_model),
24 properties=self.properties_schema.serialise(ctx, unit_model),
25 ports=self.ports_schema.serialise(ctx, unit_model),
26 initial_values=unit_model.initial_values,
27 )