def test_support_break_fact_ignores_premarket_reports_rth_crossing(): # regression: the full-points scan reported a stale PREMARKET below-support crossing (04:24) instead # of the RTH breakdown (~11:19). RTH-only ("09:30"<=t) + latest crossing must report 11:19, not 04:24. support = -1.23 pts = [ {"et": "04:20:00", "mean_pct": -1.00}, {"et": "04:24:00", "mean_pct": -1.50}, # premarket dip below support — must be IGNORED {"et": "04:30:00", "mean_pct": -1.00}, {"et": "09:30:00", "mean_pct": -1.00}, {"et": "11:02:00", "mean_pct": -1.20}, {"et": "11:19:00", "mean_pct": -1.29}, # the RTH crossing below support {"et": "11:51:00", "mean_pct": -1.50}, {"et": "12:17:00", "mean_pct": -1.10}, # reclaims above support {"et": "12:25:00", "mean_pct": -0.90}, ] txt = TR._support_break_fact(pts, support, "12:30:00") > assert "11:19" in txt and "04:24" not in txt E AssertionError: assert ('11:19' in '') tests/services/test_tide_etf_reasoning.py:777: AssertionError