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

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 

8 

9 

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 

16 

17 

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 )