Coverage for backend/django/idaes_factory/adapters/unit_model_adapter.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-05-13 02:47 +0000

1from __future__ import annotations 

2 

3from ahuora_builder_types import UnitModelSchema 

4from typing import TYPE_CHECKING 

5from .property_info_adapter import SerialisePropertiesAdapter 

6from .port_adapter import SerialisePortAdapter 

7from .arg_adapter import ArgAdapter 

8from .port_adapter import PortListAdapter 

9 

10if TYPE_CHECKING: 

11 from ..idaes_factory_context import IdaesFactoryContext 

12 

13 

14class UnitModelAdapter(): 

15 def __init__(self, args:ArgAdapter, properties:SerialisePropertiesAdapter, ports:SerialisePortAdapter) -> None: 

16 self.arg_schema: ArgAdapter = args 

17 self.properties_schema : SerialisePropertiesAdapter = properties 

18 self.ports_schema: SerialisePortAdapter = ports 

19 

20 

21 def serialise(self, ctx: "IdaesFactoryContext", unit_model) -> UnitModelSchema: 

22 return UnitModelSchema( 

23 id=unit_model.pk, 

24 type=unit_model.objectType, 

25 name=unit_model.componentName, 

26 args=self.arg_schema.serialise(ctx, unit_model), 

27 properties=self.properties_schema.serialise(ctx, unit_model), 

28 ports=self.ports_schema.serialise(ctx, unit_model), 

29 initial_values=unit_model.initial_values, 

30 )