# #region Test.Maintenance.BannerRenderer.DeadCode [C:2] [TYPE Module] [SEMANTICS test, maintenance, banner, dead-code, coverage] # @BRIEF Covers dead code in build_banner_text lines 97-99. # Lines 97-99 in the multi-event path are unreachable because the guard at line 71 # ensures single-event returns early. This test injects a module-level `len` override # so that the first `len(events)` call (line 71) returns 2 (entering multi-event path) # and the second `len(events)` call (line 96) returns 1 (entering the dead-code block). # @RELATION BINDS_TO -> [MaintenanceBannerRenderer] import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent / "src")) import pytest class TestBannerTextDeadCodeCoverage: """Cover dead code lines 97-99 in build_banner_text. Strategy: temporarily inject a module-level `len` that returns controlled values: call 1 → 2 (enters multi-event path), call 2 → 1 (enters dead-code branch). Since `build_banner_text` uses LOAD_GLOBAL for `len`, the module-level override takes priority over builtins.len. """ def test_dead_code_lines_97_99(self): """Exercise unreachable lines 97-99 via module-level len override.""" import src.services.maintenance._banner_renderer as br events = [ {"start_time": "2026-06-15T10:00:00Z", "end_time": "2026-06-15T12:00:00Z", "message": "Event 1"}, {"start_time": "2026-06-16T10:00:00Z", "end_time": "2026-06-16T12:00:00Z", "message": "Event 2"}, ] call_count = [0] real_len = len def custom_len(obj): call_count[0] += 1 if call_count[0] == 1: return 2 # Enter multi-event path (line 82) if call_count[0] == 2: return 1 # Enter dead-code block (line 97) return real_len(obj) try: br.len = custom_len result = br.build_banner_text(events, "Start: {start_time} End: {end_time} Msg: {message}") # The dead-code path substitutes start_time/end_time from first event assert "2026-06-15 10:00" in result assert "2026-06-15 12:00" in result assert "Event 1" in result finally: del br.len # #endregion Test.Maintenance.BannerRenderer.DeadCode