23 lines
831 B
Python
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"]
|