import math from deltaforge.dsl import Asset, MarketSignal, PlanDelta, StrategyDelta def test_asset_and_signals_creation(): a = Asset(id="eq-ABC", type="equity", symbol="ABC") ms = MarketSignal(asset=a, timestamp=1.0, price=100.0) assert a.symbol == "ABC" assert ms.asset.symbol == "ABC" assert ms.price == 100.0 def test_plan_delta_creation(): a = Asset(id="eq-ABC", type="equity", symbol="ABC") ms = MarketSignal(asset=a, timestamp=1.0, price=100.0) plan = PlanDelta(delta=[{"action": "hedge", "symbol": "ABC", "size": -0.5, "price": 100.0}], timestamp=1.0, author="tester") assert isinstance(plan.delta, list) assert plan.author == "tester" assert plan.timestamp == 1.0 def test_strategy_delta_creation(): a = Asset(id="eq-ABC", type="equity", symbol="ABC") sd = StrategyDelta(id="s1", assets=[a], objectives={"maximize": "return"}) assert sd.assets[0].symbol == "ABC"