"""Summer PDRC / BTES is an added benefit — never winter firm capacity.""" from __future__ import annotations import sys from pathlib import Path import pytest ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(ROOT)) from system_b_ledger import SystemBLedger, build_ledger # noqa: E402 @pytest.fixture def ledger() -> SystemBLedger: return build_ledger() def test_summer_pdrc_registered_as_engineering_addon(ledger: SystemBLedger) -> None: assert ledger.pdrc_summer_shave_mw == 50 assert ledger.btes_summer_chiller_shave_mw == 70 assert ledger.summer_peak_shave_total_mw == 120 def test_summer_shave_never_enters_winter_accreditation(ledger: SystemBLedger) -> None: winter_full = ( ledger.bess_mw + ledger.dsm_mw + ledger.intertie_mw + ledger.hub_net_electric_mw ) assert ledger.accreditation_mw["full"] == winter_full assert ledger.summer_peak_shave_total_mw not in ledger.accreditation_mw.values() assert ledger.pdrc_summer_shave_mw not in ledger.accreditation_mw.values() # Forbidden: pad winter firm with summer cooling padded = ledger.accreditation_mw["reference"] + ledger.summer_peak_shave_total_mw assert padded != ledger.accreditation_mw["reference"] assert padded not in ledger.accreditation_mw.values() from regulator_paper_assumptions import v assert v("btes_winter_eligible_mw") == 0 assert v("btes_winter_planning_mw") == 120 assert v("btes_winter_planning_mw") not in ledger.accreditation_mw.values() winter_padded = ledger.accreditation_mw["reference"] + v("btes_winter_planning_mw") assert winter_padded not in ledger.accreditation_mw.values() # Same magnitude as summer 50+70=120; different season — do not add. assert v("btes_winter_planning_mw") == ledger.summer_peak_shave_total_mw def test_pass_report_flags_summer_as_addon(ledger: SystemBLedger) -> None: report = ledger.pass_report() assert report["gates"]["summer_addon_not_winter_firm"] is True assert report["summer_peak_shave_total_mw"] == 120 assert "250" not in report["headline"] or "413" in report["headline"]