25 lines
661 B
Python
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()
|