修正test_mql事件窗口插值诊断

This commit is contained in:
huojiarong committed 2026-07-26 14:48:38 +00:00
1 parent 331435e78a
commit 01b606df30
5 files changed
+103 -3

No files matched your search

@@ -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,
_series_sample_bracket,
)
@@ -34,6 +35,23 @@ TEST_MQL_AME = REPO_ROOT / "AmesimModels" / "test_mql.ame"
class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase):
def test_series_sample_bracket_distinguishes_exact_and_interpolated_times(self) -> None:
times = (0.04000000000000009, 0.050000000000000114)
exact_left, exact_right = _series_sample_bracket(
times=times,
time_s=0.04,
)
interpolated_left, interpolated_right = _series_sample_bracket(
times=times,
time_s=0.041,
)
self.assertEqual(exact_left, exact_right)
self.assertAlmostEqual(exact_left, 0.04)
self.assertAlmostEqual(interpolated_left, 0.04)
self.assertAlmostEqual(interpolated_right, 0.05)
def test_full_state_script_writes_summary_and_comparison_csv(self) -> None:
with tempfile.TemporaryDirectory() as tmpdir:
output_dir = Path(tmpdir)
@@ -231,6 +249,8 @@ class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase):
"xv@pn_morifice_1": 1.0,
"dm2@pn_morifice_1": 456.8,
},
amesim_sample_left_time_s=0.05,
amesim_sample_right_time_s=0.05,
pnl0001_rhs_diagnostics=(
TestMqlPnl0001LineRhsDiagnostic(
line_alias="pneumatic_69",
@@ -497,7 +517,8 @@ class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase):
self.assertAlmostEqual(sample.abs_error("press@pn_c1_8"), 32067.9)
self.assertIn("PNVO event window diagnostic (pn_morifice_1)", summary)
self.assertIn("Sample comparisons:", summary)
self.assertIn("t=0.05", summary)
self.assertFalse(sample.amesim_values_are_interpolated)
self.assertIn("t=0.05 (amesim=exact@0.05)", summary)
self.assertIn("rhs=8154", summary)
self.assertIn("rhs@pneumatic_69", summary)
self.assertIn("dm_dt=-0.0222", summary)