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"]