补充test_mql气动拓扑候选发现

This commit is contained in:
huojiarong committed 2026-07-16 09:42:25 +00:00
1 parent 95ebca89f6
commit c0f28520b4
3 files changed
+89

No files matched your search

+27
View File
@@ -86,6 +86,33 @@ class TestMqlPneumaticBranchSimulationTests(unittest.TestCase):
self.assertGreater(series["pn_general_chamber.p"][0], series["pn_general_chamber.p"][-1])
self.assertLess(series["pn_c1_8.p"][0], series["pn_c1_8.p"][-1])
def test_discover_pneumatic_branch_topology_reports_blocked_candidates(self) -> None:
system = TestMqlSystem()
discovery = system.discover_pneumatic_branch_topology()
self.assertEqual(discovery.branch_specs, ())
self.assertEqual(len(discovery.blocked_candidates), 48)
candidates = {
candidate.connection_alias: candidate
for candidate in discovery.blocked_candidates
}
chamber_candidate = candidates["pneumatic_69"]
self.assertEqual(chamber_candidate.line_submodel, "PNL0001")
self.assertEqual(chamber_candidate.source_component, "pnnode4_16")
self.assertEqual(chamber_candidate.target_component, "pn_c1_8")
self.assertFalse(chamber_candidate.source_is_typed_pneumatic)
self.assertTrue(chamber_candidate.target_is_typed_pneumatic)
self.assertIn("node/line", chamber_candidate.reason)
orifice_candidate = candidates["pneumatic_96"]
self.assertEqual(orifice_candidate.line_submodel, "PNL0001")
self.assertEqual(orifice_candidate.source_component, "pn_node3_8")
self.assertEqual(orifice_candidate.target_component, "pn_orifice_18")
self.assertFalse(orifice_candidate.source_is_typed_pneumatic)
self.assertTrue(orifice_candidate.target_is_typed_pneumatic)
self.assertIn("node/line", orifice_candidate.reason)
def test_simulate_pneumatic_branch_rejects_invalid_component_aliases(self) -> None:
system = TestMqlSystem()