idea81-audioledger-studio-v.../tests/test_dsl.py

22 lines
519 B
Python

import math
from idea81_audioledger_studio_verifiable.core import parse_dsl, LocalProblemIR
def test_parse_dsl_basic_assets_and_risk():
text = """
assets:
AAPL: 100
BTC: 2
objectives:
maximize_return: true
risk_budgets:
CVaR: 0.05
"""
ir = parse_dsl(text)
assert "objects" in ir
obj: LocalProblemIR = ir["objects"] # type: ignore
assert isinstance(obj, LocalProblemIR)
assert obj.assets["AAPL"] == 100
assert obj.assets["BTC"] == 2
assert obj.risk_budgets.get("CVaR") == 0.05