self = mock_settings = mock_load_inst = @patch("rtrader.utils.daily_summary_llm._load_institutional_activity") @patch("rtrader.utils.daily_summary_llm.settings") def test_extreme_all_three_signals(self, mock_settings, mock_load_inst): """Extreme severity when all 3 criteria met.""" mock_settings.CRASH_DISTRIBUTION_DETECTION_ENABLED = True snaps, stealth = self._make_snapshots( cmf_values=[-0.1, -0.2, -0.15, -0.3, -0.25], patterns=[ "Bearish Distribution Divergence", "Bearish Distribution", "Bullish Accumulation", "Bearish Distribution Divergence", "Bearish Distribution", ], stealth_scores=[30, 40, 35, 50, 500], ) def side_effect(symbol, day): idx = {"2026-03-15": 0, "2026-03-16": 1, "2026-03-17": 2, "2026-03-18": 3, "2026-03-19": 4}.get( day.isoformat() if hasattr(day, "isoformat") else str(day), 0 ) return {"stealth_score": stealth[idx]} mock_load_inst.side_effect = side_effect from rtrader.utils.daily_summary_llm import _detect_crash_distribution from datetime import date result = _detect_crash_distribution("SMCI", date(2026, 3, 19), snaps) > assert result is not None E assert None is not None tests/test_daily_summary_llm.py:601: AssertionError