建立test_mql变量目录
This commit is contained in:
1 parent
33c8bfae3d
commit
3818b011d5
3 files changed
+192
-2
No files matched your search
@@ -0,0 +1,72 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from PythonModels.reporting.amesim_results import load_test_mql_amesim_results
|
||||
from PythonModels.reporting.test_mql_variables import (
|
||||
build_test_mql_variable_catalog,
|
||||
split_data_path,
|
||||
)
|
||||
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
TEST_MQL_AME = REPO_ROOT / "AmesimModels" / "test_mql.ame"
|
||||
|
||||
|
||||
class TestMqlVariableCatalogTests(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
cls.amesim_results = load_test_mql_amesim_results(TEST_MQL_AME)
|
||||
cls.catalog = build_test_mql_variable_catalog(cls.amesim_results)
|
||||
|
||||
def test_catalog_covers_all_amesim_data_paths(self) -> None:
|
||||
self.assertEqual(self.catalog.data_path_count, 1100)
|
||||
self.assertEqual(self.catalog.saved_data_path_count, 1100)
|
||||
self.assertEqual(self.catalog.counts_by_owner_kind(), {"component": 712, "connection": 388})
|
||||
|
||||
def test_component_variable_mapping_preserves_alias_and_submodel(self) -> None:
|
||||
variable = self.catalog.by_data_path("temp3@pn_c1_8")
|
||||
|
||||
self.assertEqual(variable.index, 0)
|
||||
self.assertEqual(variable.signal_name, "temp3")
|
||||
self.assertEqual(variable.owner_alias, "pn_c1_8")
|
||||
self.assertEqual(variable.owner_kind, "component")
|
||||
self.assertEqual(variable.submodel, "PNCH012")
|
||||
self.assertEqual(variable.units, "K")
|
||||
self.assertTrue(variable.saved)
|
||||
|
||||
def test_connection_variable_mapping_preserves_line_submodel(self) -> None:
|
||||
variable = self.catalog.by_data_path("dm1@pneumatic_69")
|
||||
|
||||
self.assertEqual(variable.signal_name, "dm1")
|
||||
self.assertEqual(variable.owner_alias, "pneumatic_69")
|
||||
self.assertEqual(variable.owner_kind, "connection")
|
||||
self.assertEqual(variable.submodel, "PNL0001")
|
||||
self.assertEqual(variable.units, "g/s")
|
||||
|
||||
def test_counts_by_submodel_include_components_and_connections(self) -> None:
|
||||
counts = self.catalog.counts_by_submodel()
|
||||
|
||||
self.assertEqual(counts["PNL0001"], 180)
|
||||
self.assertEqual(counts["PNCH012"], 80)
|
||||
self.assertEqual(counts["PNRP17"], 72)
|
||||
self.assertEqual(counts["PNVO001"], 56)
|
||||
self.assertEqual(counts["PNOR001"], 48)
|
||||
self.assertEqual(counts["PNCH023"], 20)
|
||||
|
||||
def test_owner_lookup_returns_data_paths_for_component(self) -> None:
|
||||
paths = self.catalog.data_paths_for_owner("pn_c1_8")
|
||||
|
||||
self.assertIn("temp3@pn_c1_8", paths)
|
||||
self.assertIn("press3@pn_c1_8", paths)
|
||||
self.assertEqual(len(paths), 10)
|
||||
|
||||
def test_split_data_path_rejects_invalid_values(self) -> None:
|
||||
self.assertEqual(split_data_path("press3@pn_c1_8"), ("press3", "pn_c1_8"))
|
||||
with self.assertRaises(ValueError):
|
||||
split_data_path("press3")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user