| self = <tests.test_daily_summary_llm.TestDetectCrashDistribution object at 0x120bff980>
|
| mock_settings = <MagicMock name='settings' id='4878921712'>
|
| mock_load_inst = <MagicMock name='_load_institutional_activity' id='4878923584'>
|
|
|
| @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
|