from mercuriusmesh.contracts import LocalBook, OrderEvent, QuoteSnapshot, SharedSignals, PlanDelta def test_contract_models(): lb = LocalBook(venue_id="V1", asset="TEST/USD", best_bid=100.0, best_bid_size=10, best_ask=100.5, best_ask_size=12) assert lb.venue_id == "V1" oe = OrderEvent(order_id="o1", venue_id="V1", asset="TEST/USD", side="buy", price=None, size=1) assert oe.status == "submitted" qs = QuoteSnapshot(venue_id="V1", asset="TEST/USD", bids=[[100.0, 10]], asks=[[100.5, 12]]) assert qs.bids[0][0] == 100.0 ss = SharedSignals(asset="TEST/USD", mid_price=100.25, liquidity=22) assert ss.asset == "TEST/USD" pd = PlanDelta(plan_id="p1", author="a1", asset="TEST/USD", venue_id="V1", side="buy", price=100.1, size=2) assert pd.plan_id == "p1"