idea83-mercuriusmesh-cross-.../tests/test_contracts.py

15 lines
795 B
Python

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"