"""Golden tests for VOLATILITY_EXPANSION_BREAKOUT_V1 (governance/todo/technical_signals_p4_adoption_plan.yaml P4-3).""" from __future__ import annotations import importlib.util from pathlib import Path ROOT = Path(__file__).resolve().parents[3] MODULE_PATH = ROOT / "tools" / "build_volatility_expansion_breakout_v1.py" def _load_module(): spec = importlib.util.spec_from_file_location("build_volatility_expansion_breakout_v1", MODULE_PATH) module = importlib.util.module_from_spec(spec) assert spec.loader is not None spec.loader.exec_module(module) return module def test_squeeze_then_strong_move_triggers_signal() -> None: mod = _load_module() prev_squeeze = mod.squeeze_detected(10) assert prev_squeeze is True assert mod.evaluate(prev_squeeze, 4.5) is True def test_no_squeeze_does_not_trigger_even_with_strong_move() -> None: mod = _load_module() prev_squeeze = mod.squeeze_detected(80) assert prev_squeeze is False assert mod.evaluate(prev_squeeze, 4.5) is False def test_missing_percentile_returns_null() -> None: mod = _load_module() assert mod.squeeze_detected(None) is None