34 lines
849 B
Python
34 lines
849 B
Python
import pytest
|
|
from hydra.config.validation import StrategyConfig, RiskConfig
|
|
|
|
|
|
def test_stop_loss_too_high():
|
|
with pytest.raises(ValueError, match="너무 큽니다"):
|
|
StrategyConfig(stop_loss_pct=0.99)
|
|
|
|
|
|
def test_stop_loss_zero():
|
|
with pytest.raises(ValueError):
|
|
StrategyConfig(stop_loss_pct=0.0)
|
|
|
|
|
|
def test_stop_loss_valid():
|
|
cfg = StrategyConfig(stop_loss_pct=0.05)
|
|
assert cfg.stop_loss_pct == 0.05
|
|
|
|
|
|
def test_position_size_too_high():
|
|
with pytest.raises(ValueError, match="너무 큽니다"):
|
|
StrategyConfig(position_size_pct=0.99)
|
|
|
|
|
|
def test_position_size_valid():
|
|
cfg = StrategyConfig(position_size_pct=0.10)
|
|
assert cfg.position_size_pct == 0.10
|
|
|
|
|
|
def test_risk_config_defaults():
|
|
cfg = RiskConfig()
|
|
assert cfg.daily_loss_limit_pct == 0.03
|
|
assert cfg.daily_loss_kill_pct == 0.05
|