Files
SystemSimulationApp/tests/test_amesim_pnch023_component.py

44 lines
1.3 KiB
Python

from __future__ import annotations
import unittest
from app.simulation.components.amesim.storage.chambers import AmesimPnch023
from app.simulation.core.medium import IdealGasMedium
from app.simulation.registry import COMPONENT_MODEL_REGISTRY
class AmesimPnch023ComponentTests(unittest.TestCase):
def setUp(self) -> None:
self.medium = IdealGasMedium()
def test_default_create_preserves_amesim_parameter_contract(self) -> None:
chamber = COMPONENT_MODEL_REGISTRY["amesim_pnch023"].create(
"chamber_1",
self.medium,
{},
)
self.assertIsInstance(chamber, AmesimPnch023)
self.assertEqual(set(chamber.ports), {"port_1", "port_2"})
self.assertEqual(
set(chamber.parameter_values),
{"cvol", "kth", "sth", "extemp", "gi", "p0", "T0"},
)
self.assertEqual(chamber.parameter_values["cvol"], 0.057)
self.assertEqual(chamber.gi, 0)
def test_rejects_fractional_gas_index(self) -> None:
with self.assertRaisesRegex(ValueError, "gi must be an integer"):
COMPONENT_MODEL_REGISTRY["amesim_pnch023"].create(
"chamber_1",
self.medium,
{"gi": 1.5},
)
if __name__ == "__main__":
unittest.main()