import unittest from deltaforge_skeleton.dsl import Asset, PlanDelta, StrategyDelta from deltaforge_skeleton.curator import Curator from deltaforge_skeleton.adapters.equity_feed import generate_equity_signals from deltaforge_skeleton.adapters.options_feed import generate_options_signals from deltaforge_skeleton.execution import ExecutionEngine from deltaforge_skeleton.backtester import Backtester class TestDeltaForgeSkeleton(unittest.TestCase): def test_end_to_end_scenario(self): # Simple two-asset delta hedge: AAPL and MSFT across two venues (conceptual) aapl = Asset(symbol="AAPL", asset_type="equity") msft = Asset(symbol="MSFT", asset_type="equity") # Create two simple plan deltas to simulate actions on each venue plan = PlanDelta(actions=[StrategyDelta(asset=aapl, delta=1.0), StrategyDelta(asset=msft, delta=-1.0)], timestamp=123.0) curator = Curator() # Shared signals and dual vars are placeholders for this MVP class Dummy: pass shared = Dummy() duals = Dummy() curated = curator.enforce(plan, shared, duals) eng = ExecutionEngine() routed = eng.route(curated) bt = Backtester() pnl = bt.replay(curated) self.assertTrue(len(routed) >= 1) self.assertIsInstance(pnl, float) def main(): unittest.main() if __name__ == "__main__": main()