完善建模交互、组件图标与系统协议
This commit is contained in:
1 parent
456c29b3b6
commit
6572defaa4
66 files changed
+10067
-4163
No files matched your search
@@ -116,6 +116,32 @@ class AmesimSignalComponentTests(unittest.TestCase):
|
||||
self.assertAlmostEqual(valve.opening, 0.75)
|
||||
self.assertEqual(resolver.event_times(0.0, 0.2), (0.1,))
|
||||
|
||||
def test_signal_output_can_fan_out_but_input_has_one_driver(self) -> None:
|
||||
network = SimulationNetwork("signal-cardinality")
|
||||
step_1 = AmesimStep0(
|
||||
"step_1", self.medium, initial=0.0, final=0.75, time=0.1
|
||||
)
|
||||
step_2 = AmesimStep0(
|
||||
"step_2", self.medium, initial=1.0, final=0.25, time=0.1
|
||||
)
|
||||
valve_1 = AmesimPnvo001SignalOpening(
|
||||
"valve_1", self.medium, opening0=0.0
|
||||
)
|
||||
valve_2 = AmesimPnvo001SignalOpening(
|
||||
"valve_2", self.medium, opening0=0.0
|
||||
)
|
||||
for component in (step_1, step_2, valve_1, valve_2):
|
||||
network.add_component(component)
|
||||
|
||||
network.connect("step_1", "out", "valve_1", "res")
|
||||
network.connect("step_1", "out", "valve_2", "res")
|
||||
with self.assertRaisesRegex(ValueError, "already has a driver"):
|
||||
network.connect("step_2", "out", "valve_1", "res")
|
||||
|
||||
SignalResolver(network).solve(0.2)
|
||||
self.assertAlmostEqual(valve_1.res.signal, 0.75)
|
||||
self.assertAlmostEqual(valve_2.res.signal, 0.75)
|
||||
|
||||
def test_signal_resolver_event_times_are_sorted_and_deduplicated(self) -> None:
|
||||
network = SimulationNetwork("signal-events")
|
||||
network.add_component(
|
||||
|
||||
Reference in new issue
Block a user