from mercuriusmesh.adapters import ToyVenueAdapter from mercuriusmesh.contracts import OrderEvent from mercuriusmesh.simulator import DeterministicSimulator def test_partitioned_orders_flush_after_reconnect(): sim = DeterministicSimulator(seed=7) sim.add_adapter(ToyVenueAdapter("V1", initial_bid=100.0, initial_ask=100.5)) sim.set_link("V1", connected=False) order = OrderEvent(order_id="queued-1", venue_id="V1", asset="TEST/USD", side="buy", price=None, size=3) queued = sim.submit_order(order) assert queued.status == "queued" before = sim.compute_shared_signals() sim.set_link("V1", connected=True, latency_ms=2) assert queued.status == "accepted" sim.advance(1) mid = sim.compute_shared_signals() assert mid.mid_price == before.mid_price sim.advance(1) after = sim.compute_shared_signals() assert after.mid_price != before.mid_price assert after.liquidity == before.liquidity