deltaforge-real-time-cross-.../tests/test_execution_router.py

23 lines
831 B
Python

import pytest
from deltaforge_mvp.execution import ExecutionRouter
from deltaforge_mvp.core import Asset, StrategyDelta, PlanDelta
def test_execution_router_routing_changes_venue():
# Prepare a minimal plan delta with a single hedge delta
a = Asset(type="equity", symbol="AAPL")
sd = StrategyDelta(asset=a, delta=0.1, timestamp=0.0)
plan = PlanDelta(deltas=[sd], venue=None, author="test", timestamp=0.0)
router = ExecutionRouter(venues=["Venue-1", "Venue-2"])
result = router.route(plan)
# Expect a routed plan with a venue assigned
assert isinstance(result, dict)
assert result.get("routed") is True
assert result.get("venue") in ["Venue-1", "Venue-2"]
routed_plan = result.get("plan")
assert isinstance(routed_plan, PlanDelta)
assert routed_plan.venue == result["venue"]