28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
# tests/test_regime_detector.py
|
|
from hydra.regime.detector import RegimeDetector
|
|
|
|
def test_volatile_regime():
|
|
det = RegimeDetector()
|
|
indicators = {"BBB_5_2.0_2.0": 0.10, "ADX_14": 30.0, "EMA_50": 45000.0}
|
|
assert det.detect(indicators, close=50000.0) == "volatile"
|
|
|
|
def test_trending_up():
|
|
det = RegimeDetector()
|
|
indicators = {"BBB_5_2.0_2.0": 0.02, "ADX_14": 30.0, "EMA_50": 45000.0}
|
|
assert det.detect(indicators, close=50000.0) == "trending_up"
|
|
|
|
def test_trending_down():
|
|
det = RegimeDetector()
|
|
indicators = {"BBB_5_2.0_2.0": 0.02, "ADX_14": 30.0, "EMA_50": 55000.0}
|
|
assert det.detect(indicators, close=50000.0) == "trending_down"
|
|
|
|
def test_ranging():
|
|
det = RegimeDetector()
|
|
indicators = {"BBB_5_2.0_2.0": 0.02, "ADX_14": 15.0, "EMA_50": 45000.0}
|
|
assert det.detect(indicators, close=50000.0) == "ranging"
|
|
|
|
def test_none_indicators_return_ranging():
|
|
det = RegimeDetector()
|
|
indicators = {"BBB_5_2.0_2.0": None, "ADX_14": None, "EMA_50": None}
|
|
assert det.detect(indicators, close=50000.0) == "ranging"
|