edgeoptionx-edge-first-late.../tests/test_hedge_dsl.py

25 lines
661 B
Python

import unittest
from edgeoptionx.dsl.hedging_dsl import parse_hedge_dsl
class TestHedgeDSL(unittest.TestCase):
def test_parse_basic(self):
dsl = """
assets: AAPL, SPY
budgets: risk=0.2, margin=0.1
constraint: max_loss <= 1.0
objective: minimize_risk
"""
lp = parse_hedge_dsl(dsl)
self.assertIsNotNone(lp)
self.assertIn("AAPL", lp.assets)
self.assertIn("SPY", lp.assets)
self.assertIn("risk", lp.budgets)
self.assertIn("margin", lp.budgets)
self.assertEqual(lp.objective, "minimize_risk" or "default")
if __name__ == '__main__':
unittest.main()