接入test_mql高密度事件窗口诊断
This commit is contained in:
1 parent
01b606df30
commit
f8af99ace1
4 files changed
+246
-33
No files matched your search
@@ -2,8 +2,12 @@ from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
from unittest.mock import Mock
|
||||
|
||||
from PythonModels.reporting.amesim_results import load_test_mql_amesim_results
|
||||
from PythonModels.reporting.amesim_results import (
|
||||
_resolve_result_members,
|
||||
load_test_mql_amesim_results,
|
||||
)
|
||||
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
@@ -41,6 +45,37 @@ class AmesimResultsTests(unittest.TestCase):
|
||||
self.assertAlmostEqual(temp3[-1], self.results.final_value("temp3@pn_c1_8"))
|
||||
self.assertAlmostEqual(press3[-1], self.results.final_value("press3@pn_c1_8"))
|
||||
|
||||
def test_window_loader_keeps_one_sample_after_stop(self) -> None:
|
||||
results = load_test_mql_amesim_results(TEST_MQL_AME, time_stop_s=0.04)
|
||||
|
||||
self.assertEqual(results.point_count, 6)
|
||||
self.assertAlmostEqual(results.times[-2], 0.04)
|
||||
self.assertAlmostEqual(results.times[-1], 0.05)
|
||||
self.assertEqual(
|
||||
len(results.series("temp@pn_c1_8")),
|
||||
results.point_count,
|
||||
)
|
||||
self.assertEqual(results.final_values_by_data_path, {})
|
||||
|
||||
def test_auto_detects_renamed_result_members(self) -> None:
|
||||
archive = Mock()
|
||||
archive.getnames.return_value = (
|
||||
"renamed_model_.var",
|
||||
"renamed_model_.results",
|
||||
"renamed_model_.sim",
|
||||
)
|
||||
|
||||
pair = _resolve_result_members(
|
||||
archive,
|
||||
var_member=None,
|
||||
results_member=None,
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
pair,
|
||||
("renamed_model_.var", "renamed_model_.results"),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -26,6 +26,7 @@ from PythonModels.scripts.run_test_mql_full_state_comparison import (
|
||||
format_test_mql_pnvo_event_boundary_summary,
|
||||
format_test_mql_pnvo_event_window_summary,
|
||||
run_test_mql_full_state_comparison,
|
||||
_ideal_pn2vol_reference_dtemp,
|
||||
_series_sample_bracket,
|
||||
)
|
||||
|
||||
@@ -35,6 +36,28 @@ TEST_MQL_AME = REPO_ROOT / "AmesimModels" / "test_mql.ame"
|
||||
|
||||
|
||||
class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase):
|
||||
def test_ideal_pn2vol_reference_dtemp_uses_internal_energy_mass_offset(
|
||||
self,
|
||||
) -> None:
|
||||
from PythonModels.components.amesim_pneumatic import HELIUM_PNEUMATIC_GAS
|
||||
|
||||
gas = HELIUM_PNEUMATIC_GAS
|
||||
result = _ideal_pn2vol_reference_dtemp(
|
||||
gas=gas,
|
||||
mass_kg=0.002,
|
||||
temperature_k=320.0,
|
||||
mass_derivative_kg_s=0.1,
|
||||
enthalpy_flow_w=-100.0,
|
||||
heat_flow_w=5.0,
|
||||
)
|
||||
|
||||
expected = (
|
||||
-100.0
|
||||
+ (gas.cp * 298.15 - gas.cv * 320.0) * 0.1
|
||||
+ 5.0
|
||||
) / (0.002 * gas.cv)
|
||||
self.assertAlmostEqual(result, expected)
|
||||
|
||||
def test_series_sample_bracket_distinguishes_exact_and_interpolated_times(self) -> None:
|
||||
times = (0.04000000000000009, 0.050000000000000114)
|
||||
|
||||
|
||||
Reference in new issue
Block a user