Add test_mql structural Python model

This commit is contained in:
huojiarong committed 2026-07-15 08:59:59 +00:00
1 parent 2c38da16b5
commit c745fd2a5c
5 files changed
+4053

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
from __future__ import annotations
import unittest
from PythonModels.systems.test_mql import GLOBAL_PARAMETERS, SUBMODEL_COUNTS, TestMqlSystem
class TestMqlStructuralTest(unittest.TestCase):
def test_snapshot_matches_amesim_archive_metadata(self) -> None:
snapshot = TestMqlSystem().snapshot()
self.assertEqual(snapshot.model_name, "test_mql")
self.assertEqual(snapshot.component_count, 117)
self.assertEqual(snapshot.connection_count, 84)
self.assertEqual(snapshot.continuous_state_count, 132)
self.assertEqual(snapshot.discrete_state_count, 24)
self.assertEqual(snapshot.global_parameters["P0"], "153")
self.assertEqual(snapshot.global_parameters["cf"], "0.45")
def test_network_preserves_component_and_connection_counts(self) -> None:
system = TestMqlSystem()
self.assertEqual(len(system.network.components), 117)
self.assertEqual(len(system.network.connections), 84)
self.assertIn("pn_brp2_8", system.network.components)
self.assertIn("pn_gas_data", system.network.components)
def test_submodel_counts_keep_key_amesim_families(self) -> None:
self.assertEqual(SUBMODEL_COUNTS["PNRP17"], 8)
self.assertEqual(SUBMODEL_COUNTS["PNCH012"], 8)
self.assertEqual(SUBMODEL_COUNTS["PNOR001"], 8)
self.assertEqual(SUBMODEL_COUNTS["PNVO001"], 8)
self.assertEqual(SUBMODEL_COUNTS["PNGD00"], 1)
self.assertEqual(GLOBAL_PARAMETERS["V"], "15")
def test_structural_simulation_shape(self) -> None:
result = TestMqlSystem().simulate()
self.assertEqual(len(result.t), 101)
self.assertEqual(len(result.y), 132)
self.assertEqual(result.series["component_count"][0], 117.0)
self.assertEqual(result.series["connection_count"][0], 84.0)
if __name__ == "__main__":
unittest.main()