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
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
1from __future__ import annotations
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
10if TYPE_CHECKING:
11 from ..idaes_factory_context import IdaesFactoryContext
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
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 )