From ca397e1e3f132dc7751504556b7f87f6357a2b6e Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 5 Jun 2026 12:27:36 +0000 Subject: [PATCH] test(modelling): lighting before/after cascade pins (001431) at 1e-4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Slice 3 of the lighting generator (ADR-0023): two real Elmhurst before/after cascade pins, sourced from the low_energy_lighting recommendation folder. Both close cleanly at 1e-4 with NO xfail — lighting changes only bulb counts → Appendix L (232), no fabric coupling (contrast glazing's draught-proofing). - zero existing LEDs: 20 incandescent → 20 LED - some existing LEDs: 5 LED + 15 incandescent → 20 LED (partial-upgrade path) The overlay-emits-correct-counts assertion lives in the Slice 2 unit tests. Co-Authored-By: Claude Opus 4.8 --- ...energy_lighting_some_leds_001431_after.pdf | Bin 0 -> 65173 bytes ...nergy_lighting_some_leds_001431_before.pdf | Bin 0 -> 65177 bytes ...energy_lighting_zero_leds_001431_after.pdf | Bin 0 -> 65173 bytes ...nergy_lighting_zero_leds_001431_before.pdf | Bin 0 -> 65176 bytes .../modelling/test_elmhurst_cascade_pins.py | 39 ++++++++++++++++++ 5 files changed, 39 insertions(+) create mode 100644 tests/domain/modelling/fixtures/low_energy_lighting_some_leds_001431_after.pdf create mode 100644 tests/domain/modelling/fixtures/low_energy_lighting_some_leds_001431_before.pdf create mode 100644 tests/domain/modelling/fixtures/low_energy_lighting_zero_leds_001431_after.pdf create mode 100644 tests/domain/modelling/fixtures/low_energy_lighting_zero_leds_001431_before.pdf diff --git a/tests/domain/modelling/fixtures/low_energy_lighting_some_leds_001431_after.pdf b/tests/domain/modelling/fixtures/low_energy_lighting_some_leds_001431_after.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3bdeda528b6966718d81563f77867b9db34a880d GIT binary patch literal 65173 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 Il(dxp0o|@Ld;kCd literal 0 HcmV?d00001 diff --git a/tests/domain/modelling/fixtures/low_energy_lighting_some_leds_001431_before.pdf b/tests/domain/modelling/fixtures/low_energy_lighting_some_leds_001431_before.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c472af0cadfeec76afcc6c0df25d6699426f3688 GIT binary patch literal 65177 zcmeFa1yo#Jw(pw+cZWdm1b2tv?u1|!tZ;XC2p-&B6Ff*E0fM_b1b27Wpttx=cb`7p z@Af<0cf1~N+*6gYvsdlC4C=qvnrkk8H7OLuBp6s2*%4VtnMrN*&H4D4RNQQhm_+p) z^(<{nm=yI)j2uW=!8erz1dOZ=!C4TW-~CnAKe8~1+BjJ|lCm?&ni)E1vT#2aAZ2C# zkJBH;Nm<#S-)aA)8n*vh&8H9g=0*mNOv+CBj?X=iwgNZJ1TZsnGzC}0%p_%GW@73{ z%EHDDZp+ffUfEX9z=%oA$l1)mNJ&zJNyN<2LD9%w)W*uz#@Yzn7j7m6Ju7fM%uEty zmX1dDOcIuQjz(fe1~!I9OmarnCg6%WI9a&`1RNagjr6P#KLs9YBRHr?#y;ktTn(0U zRvowoIiXvkuiG7j6AgBE9=P^=(iIXBsYEp-BGh+$A%YwH4v8omifE@<+_3YvY(p=L{h{fp)y1B@t*z66E>=x< zs(i0ANrU-uVsdI#G5gf4WiVP$?N_JsYnHqmBV8%)Qx$27o5cOO_lx9JIUb)>EG=dFZllimH9sfJi6R5j@-td)wm`p76xs-0?(`GPP$`IO{9=&lHw}Rd z2pU&?6^Fv}_J`&++Q}Z*^7lqR_%pY><^rY&O7?5Ga}1)zB~BbC!E9cdlRd!hS?Kuk zK7sR^FO^GM@p$lIvOD>kG`eOpmdbhu+ZWb7>tQh*JZSy+^JwGoJRs^#5nGr|Rp5Hl zkNu~LN-7#}PdvTncRoE` z&>x7!)KgLN_E3K3t$#e!|GHZ+F9Do!F5|Fvx>QJg%Jl!_-p7rbCz&Xu2 z6E%EF4mmArjRiOi&{-N?`FRk?1Zm+cQb>HGcyv4z5-N@Z473!g0oaU7R9__mlEvhF}=3#N6WA=_h#q&&KFQ=GT;5fHDN(>HqGSD$B`_3Z&EiJE*rg<^QGhX zI?jozcHHAy&et)^AI4~jjrv2azj5f?dt6+gy0|BXs0-m-%K)uPlX7W*R<4Ml+hetA zmpQH;SVWLQf>zZ+l~fv_q)vNc%t&XuG=s?0Zaqv^v9TjY)d>63+1|N-3@**4KJSZ5 z9(9$ndvu0?JzVlr2B#GK6LaU^)l0U8Ln+ltfrE5~J6DzbR=^?K!}{BfoOmV?>F$lZ zPTy}AV8u3whH0F~`;3dz=5HuGm+(Y3s4`0TEpWB?wDXW~;3Kx?PkO{GVmF)Hno@(QnmGZ^xg=)PVfx?2*I%ovPgRu4aA8)fG9&?q4m5hzs z=~iwwi*JvOU8;jMGNxw;FS>rXb(Ik;dX5|PM+w|lb~|sQ?%vf5KhZt_-3rh9#Z+W* z1~AL3BF);dFz*WTDdM7k^y}Q^n<(Sn9i1ck;ZfQWFy#-?IWx6lPoWb9&dz44klEl% zhUg8Q(dsWLn^pr4@oc$)dTo5Ma+4rNeG~P9mf3@cqDRvHDj#Z zQyG#>G8;PIA-=kc{$N_gOApF?SmW*Y5v)a?4_9$XVG9p z1)5cIH>B%cWFmkbkDcRybcLe3)hzq)^-GZooPBT;Z8d^wDpkKvCvIU8*`2ikr`xLI zyrxO98d5rw9Kz+$hu_8m%YpGg2knZUU&lK3bB%jhnMQBEkP-fH;(0Yt++Rb&;-&lZ zqd5t_KeHMB>$BNh&O;9oALH}8gAx5$epP!0bWrS)c`_Q=rekHHR^b9C_0K0EnwJyx znGB8XmKS$f7qU@+Yvem_Q}09sAk|eS_`E5gijO!&(*pMw%`q)>ywjpbdeHA>3X4yZMrCylv$J8L8b z<$j?j=~s3CZKgmLr*R;_7d5OI->|(HN&fl)i6m8Xbh%Ox8AOr-p1nV`XmHNHBD2wq z$e7#F%8LcdgzMsJ+R<^h=+x}V=3Eu^F8#to^O|z$#V6p`WnC6uoOoT+w;43W;|{mS zofRg;2Ue>}RvfIN4DH+f9dQ*1{4MsOOoub*^uMVa`-Pbm!)MoRI zWO;N=Hc5ciZnc9idMk81daK5PDr6n?V&kpFXlG}7;?Chmi%tp3`zt3MUt_@YAb1iy ze(X9F+CMx<_)yrB-wtQIeQ`fxvOQ6zsaBF{YnbqG+aI9cVi?2fOMAem8FV*%%=+py zbkQ3nFEK-~FL0Xr7i>VC2z^fyo6Ioy+K;So0s^;uq34g*F zBcE@RS~>%;qM*jGICN1`;G^Q1y7=YpxXiu3{LMtl8Es;8NyNGQe1JOdT7pdK+9Jww^g6m4eWy&4YaEU2F7NtKGZT}BHX{3sxLBhyId!z1rYb1zB-Aj zmuN!oVz+HnYCSp&Ms^97zs?a|s2&$6Ff-EI0bfT( zaGaj%H~clKOY^m0*nq#cMa^XYUh#SY>Xj$&1)-NFSNz4Dk`Gi0(=Qwv$14oD9|khH_0c$Q3aX}U@Ystr5(Us0Z3}i^5NK8 zzu*;Nl4;gEbnW_PwE=UN_icXOeXE+Q6(@S?6~j89*>49Ba^W^MZhy=_sT$lmuX z;|_dV?9-q=;%#yN!!oID%D*{cFkS&SA&IC_I}ZvLCS2gkzDWu%HB}xC*_^lGLz3DS z2j|nT#Gr=J8HPMAq~yfH@EyW%{S$RZn|95QJerzRtezjeipw|k<^;E2sMo$$hjGy5 z(qnyBgg(wMF<0&rEDDnrG-_P9PV%!PgtfE5Ev63Yx3a?dUZ(;w zK_S@~+eDTtu0|vXbHbzq^VTHzbk<&;O;sM&DW~81&JfKTZ3*EX3|zfe_t2uiLkikR zFpiVq<0WDyUJYL-Xr~|&2Y5({xxSj0U+^&W;Liq1bQ*%KzC4XYr4!;YXsN)#!j)_< z4qu~jRidF-j!j zBP$7y3&K#+c~<)3kw9I?%;y|hRXrXGgjU8ric8UP~GWN}MWxYwRW$J8siO1&ZXn8?y+#zJni z^H+pO$#PD&w)ISSb~MBtGOmN@80nj!zOy|!w@JyQQ191-h;G6q*~{NLK04U*`r8FR z<$c3dBS$!9LlE??{Pk^5SYk|PfVetGaQ&1!)bAeItWBs7FB%Or8gUk==AX?F1E}4)5mFe-v!Py@;oeWjB2<5j0Eh+t&Pw_)!mb3{ z5NV}F<%Mh4Tw1Q|O~VFaCtd8DTT}9ICdR&wU{?xCBA5-*k0og_OZxq&0 zp|tuWtQ|;)W<?5IFY>rvcVrv>j`&UP*_Ul*9b!p((2hOJomZdL zVz2N+x{%U0k#(FB!J52x_eL&=!fxW{9CxKGiG3wPOu`BJlcz$B-zvJVXuXK)03m>B zWR;le+YN6)#eF%79Go>LM4a3xck@W;Z?Q5Zj->d?XR3CEbp5$+g*b{14}ylH^7|0T zFPyKHcLv)74BedS9Y^HpH2E=OOZGovf#mMEu`$InK@VN;ug2`?{Nf)(UBg>U-P zi@YcU$PY@{E4oK_+xPns;}k2j|E*JRptrY^Fit%CB=lDJv~&Zi63(f>kUc9^|N6k4 z=qAk{imeW06NmFbXB7K)5@Dm5X9p7^I>@+W6X!HkwMnj#wX}A>@wT9Lty3bHY~)91 zjD8>8tD%)jaBW?36F**!4|=r^_mgfVzx&!wx8~nx5QT~bk|IwLp^6)GzduvmrAkXDpqt;#B&H@rlkPe0#amyNg8@r9;Uit5;PN9J9 z?*Le2Mm0DguKu}rG*GAe&q`>rDgIBun4A?)8}&gSJYpho#xSz0ui}ayzENUxAeaa3 zXx@r@f+mOLPnjt|?aqyea2p9Tkz^m!Pn>DZSYD=#Wl5q=^>-HI+xYItsZTDPAxcwS zuu1cEjgwL4Gs@tlTkw;q=K$-~{z7`Z|iKW3|qyu&>=nD=|@wdT?<_z-MKQCF> z{YCqNPs#nPMRP~+MZV~-Lyf z(!0=M{-UHi4Hd80E$-knU0g?A8t4cvi(I98(n@oN_T5*6*leCG`Nf|{G2-H|*NW6) zvv{3osZC}#x7P$ZiQ<-dySKFo!w$Yo)-C@K$Z}&e#IT5n#al4CF}n!-8v`eJVfE>y z6l%i@M6hrBPj28pdAXmx)qmyX{_nb{!Jg`W&OOcY58TsS>>SMh#XSw@_+~m`GSg}{ zUcSzJt6W9Hmz{xGAVtN0b78@}*IC#5T422&CPg9VV*wOe(efw&5 zjje1w?c2-gE}ZX3e(jXyKYzkganr+Uti- z03^0&wq0EOm_aDhGj%m}66rKOhqrjJn9YW3qkCsdpC`*-s<}Po*`qL>)V|a@Gn3p2 zTyzKw+~&6VqWv|3y?VUfG4}lk>JaC#V*<^Aa|!sBQuLJ!0VE;WO(}`j&Le4X(-R6i z^^vZ2IdZHtt5=XAxoB}WRC#7HIV&rPQ!RiFdl5IUrv8SrS%YUIZNh{>wv@O-?6F8V zR0F%$4iv0MWZWY*59exKuZMK3`K?b?Foc$ zGy^zy`m}5+;foWdN|VO(SZYS=CR~K{ruCehR3)@Z9RjuRsICk)MVRoFqze<~@)E`j zxU1M3C$5F{T!iblWnkHAk51qS4%9#7I$Gc%>>w7w;H4}S1qmhswq0)3s1L{ohlcvz z6gPbQI)igN-Mqeh`#&XYsNb;8eM?J2{}3v~c|)B5i{$~?gdnz?D##OjCI7l7vSa@*};FRrA~Z|CRd zva+(*4cSeRo12@7TU#2O4b5edBiqaMPDmB2w}rNjc3Rk6I&tlDhh*Z(G+5^n4U39G7%SjLXM<&5~f<2#MHKMZg5EK&KJB34xBZBOq|^vPY^3 z8$GuT^lC>vuas=p6!`3(bkVeZq0#0?;bN`{;M;3;@2mvTt_a#%WqFKhQj5mSlMc;M#;XG=hthr7w6|wo*)K= zO)sIAa!}%)2hbr~a2u;$W(7hi1h~UBgu*zw3MHi`WjE`VzyrrDfUINZ0T z>tI3w{T~O)_&xRnMetaBTsc+AnUJ<)(-Mf)^ewkI6|2Yz6HQ#5mU zi&uv(MQ@;~Xrt5PvGIv9?8$C!CoKYD0sWsAfzY3|#N^xl1i$MuK=b^|Qvky}f>2L#>F=W^6Z>t=kAKO6A9r zqobqn3uI5)y4kCmtHE%&)oexkT>oibIy6Ms5FaWkDp^?>^w6_8w^%;-Vta?=>2IKK z!-YJ(6LaIVznwiTk;edf!oGQR;tNAFV=*z!OG^p@I^5iaxs=ODbMtepgsebmPx9c2 za%Ot{%VkBnC6}BBvB_wX@K~oVA5ri;7K4hDhNZjdTmW41PAEH~_YqwBg*Mqm`NA%a_RhAyCdbDnrXs?> zBxkkoUIln`b_jahhC>YvCn!i76ERqE)zdBcU2x>NRW~*wlkb|Ef5lF%Mo|b*Z%xqN zWxS7cIyak`7#Do+$gN$}B~<+TA}4BKpr1lg=<$QVePLsXW$8j9t_d7fM3p%S@q7B+ zO(EkqvUJsKCRU{-{920#X3iRW1cj}Et)#uihEiWX+#KY5AUY%*jXz<(aJmRb32%P5 z%>^ZmYyrC|E9&d#=Eh%{6r=;tHBc@utx&Z2yo;5G&WW8s=@#6&s;7mRN*I)~#kM+H zNw>JPuvnokhWdtsgMGrEWC+tUGK#;K`<{oaY-?01CnbQi{1QHhP-8E91 zBdxWqGB)4`@p_}KU_y#ZznWQ@1tz0T6%{*JUBNd5S!EXoH^83i_A8orexoc;??omi zN2AviwkE#W-B@wm9N!GBJX>r3b}&d^^J}7k8rhWpu+r+pOe$k-9OhhOza)OEz(Vg4%M?d zJSw${WLO4;`uSV-%ixZeJ}Y8|ta9=SurQfDb-EcFq^?GK=BTJzb)K`mt>v<1LCVU? zc*Ah3#g*f%eQgZq{ezv@l8n$WUwwPwKaZ}U8$fjs@C3EiU0+>^h)6}MRDIX$e7%cI zk>}IW`sSrx_P)xhs`A@{7Pr)oB&OZBF%FmK{nFLOAoHwiGq)|S#F5`rz-5)vR=68d zHB}t-puuqDh^jpv9-i0+#a=pi;u#b=2c&lDJ}CJ&nZv_DL3jnsP;9{n0=aqlGLfGF zrgzNxHB+3d!wPAKZkwjZ=&#XtcDDprnyulXx<^NP&?1ml8)Gdn3ymvk zQUJ30z#>yn^o_iqxk8NSrSjF}2TRiu&v_CqiUuSX5uR|t)*(*b(bX$eiLAvq{c8p~R0G@_KYxkc0A@A#FYFG=Rdh)psYuHd z04cLdmM1(t=Dd=&6%ikFr36{q(KgN*D*Fhie` zG*pv8m$E&31%0lYYELB|9c&~X-e-xMr~VgjTiAGPIi)^y(RTH8`7%d;a#e%Z+rTP8 z2hLXSm_px8=)*~N({U^RaQX77veJG!AevL;T_rL+XfWK!EztF(+sP=@&Z1F9UV3tR zEN&IYG%hO%v_XHl`c?_2oTGRST-^x#!I224Q%u{AMI$F+QcQnJs(C{xmDt_$k zAHL$fmIqvh&J~+L*S`;H4BMA zS|^Jg9oo#ooTbV^r6r8NwfO!Oc5VRR%dy|95zSO}>NOlQEqedcQ@e7c$Tv=jSC3yx z^hQ~0VgN!84h~JOx%qWP(&FZq>=8H|o$3|DcHh0#Vk+I`-fq1JpA^2`h6aHp;HI{X z_H{N%rRal~c1Fe5kFKV##Tr6u%i&yA6<-9Az9ZueoM`pEt}U4L!UJOTjtsGJG9#j( z#t;@26^%`dEpGirre=?8D=aF51+_Asc!~n;-nf-U913v2m8d^abkIe07YLVLXGGo) zUCH{Xh`Gl)Y%Gr zF*exWSh-nrqrgVgPTwUiJHlFb$?2U+RC~=LrN*k~BlzMy1qJ1np-GN>8-_n8ZMj9M z|Al#Jv!zO}dt21?Ov+AeZUjz@x5*ja5V`?Qae(>jz1@k7^aLquAg|3m5U@%Bx`!e( zb@uYwr~cvL8mK$eK1g`Dd388{_8a4r3_7v_-@;0-=sgH*jJ6j$IXU@$^ImF>{rbW1 z?bd`n0YSXV-5pFz&RYr|d^>11Dk@$&Bp)Ga^8ObM8k!otu9NeQytR*^F#9GxS?@aB z+p2cW?#_~ytDn}0=2*;>$eN5#uecrwie1!HOK>_rCk9b!L21;7i>4wq7yN<8RpLM;jy-{4Or# zEsNV7=Rs^ukn!HFWK3pienIK}=4!~aq$Bt8F$X1c+OC<|Z#Orwek0blvc`pl&@=nd zv~cai2m;e&lQ;;vKiwZJtWOD%V;UEtBzpM^8y3nC9C zscB&r2SaH*vpo3W$R|DHgZBqT6EB;+O_O5>3%{pSAXvUy%INfkg@sgkgJ^B8!Vm+@5(U~{6G_u|vCgN2)!hwvmLYwxx zZYrU#W`#wf8SO!`+dA6X;`^-=Li_%QXV;f+^W7E%Nilu%L}C?X+ZjC*6B0$F95gj! zrj&~j_V_EWa%uLL(Q)2a08gylV%5$N4RH<l5_?4Sg9G8+&Hr zAT4k0XM4LyYQ#YNAA^QVEirx(9l^dG$r08ROv^*@=Nagk*<@=3G4Qy{Kt;~W^_gy zQFAg3Jp(=Am&M=hv)v-cHZ11v(Ij?3O=hQ;cM6g?vE~fK>^^rJJVU(X=9M zMQcm2s)ZDK099{gppl>CJdin{0t~cGUC9+ z1RxJg;H=U1{xUn=6Hf1WS(9aL!n>y2C&|0lwHeK_h`gWA&g_F!Bojl6XbTuBMTTm2 zb)qtP?-Mue0&~gpb+!9jYV0Ve`D}NNj{%rCv1g%u5e#Q`s}G8Yx4uxuRM=;G`~}b3 zni4!N4(nQ&gM)(?jxH`I?}Gx`CskEF4w8}*p`oBMJiUE%mi-XNYNZxtzuZf$+atZ` z`>ac(*WfuQz`-#&u{bd~%fZLzDLF>naduW28uR%5HSLs%%eRsr*uG!)XpxHEC3OuN z+|=+HBtNX_l(r~QFJ6O15$)}0={}K$=j7rN929`LkA3g;u%j?6l}Aw-*Cf8ymzaW& z-?{8iRTY8|qHq<-s4xs926A^z%~ATte9a|wmX83{Mpflt3B(W{9GucL-N&_#udQ|U z_D)STAPLg-_wz6EUpP62Pa|??GTLIHlL+?l6OBFQ@85zbn@HmZlhB%O1jc2~h26EpZedy(NMtnC# zCjr_IO0lkCrRk%opL;(I0`Bh}1oVlFzIWbNv(t`?x# ztjyZc5t~XO{DX?B+V1WSu(?q81SSauncGC)G(IDNpZayWPO{Ej1z(%4mSss|JuGpc zn^z@*h+|JIS! zBJF_|Vx;#s`FWNq@Uk#=PI$vXw1zHYc8t5_(lFn>_xo4@0yEaHoZqG5ns0BBPSz3Szg=w zFkFg{X?mbzVx)(Qom-_+iI@-03VXTbb#`%Gh?$3GLoA;MjO`}rWPYO_OchPu$v58P z?L8LIfNV+2tj~RF*Sr-}rGPlXp2hxXVqS29(dhWNey+{T{Q0#yyIqCdbQw^5qAXe? zn9=`y`&EqOZEwUr*9v*Upo|EXLwQx)JrWS?4*ER)6MKgt4*&7!mScPdS_J86axz7s zgGF0f6tUz;! zhI6XEO*FBfUv?SDYX&CktDszmD$?J(}nN7=}!CqEsbn9)#o zAUM+Cd0qIW+|~h$?f33AcnQm0<|&%Ck!uKE#vp)RkT4zJ{NxTyS&cTEs_7EXwRnF; zKKc{=&6-h>MCrYZv4hx9l5t5EvHgRV``IMfE#3!<76L%ofzv>CRTb8ud&k%nGAxt~ z@XW^CJ~S|;?#zoc3^DB0{XNCgmf?15k<}*>@J#2J)H-^2VwC-m{%Z*ddd<3fjczkZ zf4aPsfj-Zsw6TOR6bUy`1nlCTX%f58)?tVr1T$uiuJff1ut1dA5*qFpl}SfmK1^e1U#JWZ%=6JOIB$>^fp zDKzPi6)dh?T#@#0Kknlz$&rPdb?=D=%>D8KybtCNoY5HdMIuONNC#GCnbt?vj(9G3 zfItM=uC6|Oy(B{!WJizqg>E9&7oc1NIU zuAg;Y$Q7O;3RQGW^$o&dg;6u5q<1b+j(h0w>;B|tX&dbGUDeoEA~gZ%0qyLpjcg~p z`M1`6s@3u(q4RcN3= zGnO^?06j9YH{AsM{QL^2k!NZ<_jTvvajR`cVnrx#oUHg?e_rrgC09G5HU!{QaeSQ_ zsrXIRP{~@HrXnIa#mU>}V1fiz2IN+zNX@Pvgw*bIth20y@ zVDKPlAxrl=Iv4Et+tX(CVo&M|s9jX)x?(3ap8L6QP*SqdDYoNQ_cDXln7AYBZZIXS z16>iZOY$j@6c$oJ;B~GL?lF|xHx5HCEeyDl%0(vHlCRD4tKYx z=IqNv>*TJ)urEGcIC;fxULkKHbS&bjIN^8s|ivIhxxXJUs``{VC(l)i_eC- zCM3ilybtNzXI+8r>8ZU8)^$cZTB!4{QP%+^C8Z%b=e?scVICh~(*&sz;H%v0wj4H8 z6Ip3C-|X#u&xo-4oRt;J2lenUK936iK+*ZY?yZy!(Qy|w0N7oGJGJl33iQP!FyAvw zfC zX!$JuY}xSatomqc`!B7^lGlxXLweKHTR4iU>Ul-^b}X#+VlrZvmzQn0ZOrZ4x4&;< zOL@a0>JZjoZf>h<1>vFmmfx!3ichQ~;mzsr+aAH;Z!TZD?BQ+Up;M&br>$teqoUm0 zEMr*s(u}!jYGU)DDvlTxb{Gy87EW8yTi6&CODsV!67TSE7iQBRFd}8LvAt=+%&H44 zVW9u`<6`Fe{=Ts&CgdXM$Jx&AE-b%gX^Gts*a5yooOxm)R>eEwJ6q8j0?O(V0^C?@m{A;G8 z|0^Ib(~&WKAx!8Rmd}8VY(r&bdzo?ZSurj;!luzCe0s5ZNuS3SDvn}%akTu1Hcgj2ewgJ5bUH4Gvmq7@u*YCOgDf~h* zGs?PZ^uaqjeKxTo-EYlF(?*Yu_Hc>w_Y%j@*b>!nlK{kJB-6yi1kRN%jRZK0ZR_$1 z3d6&LU>6foU_02aWf}8k(MZWWCu%%a3D?4krHkU10NQ!zTm0x*QlEBs4a+vf&#HKHhB=ch4Qq zN7+rqO{fqxPC}9U|Fi-5cUzJ{PjKWZSpk2)dCT#yZQlOVY!T}}*t~_XMG&^=|5Mxu z!WKc;A_!XqVT&Ma5ri#*utgBI2*MUY*dhp91YwIHY!QSlg0Mvpwg|!&LD(V)TlD`& zwutjzb5H-%Y!TZ(a8EtEZv{ioR?_J6Q> z3t@{OY!QSlg2XL?#4U1w#4UovErP@?g2XL?#4UovErP@?g2XNQn{W7kehZ0P1c_S& ziCYATTLg()1c_S&iCYATTl9Z*+#>FO%{~23vqc>Lz&#CNiy&+fge`)wMG&?K!WKc; zA_!XqVT&Ma5ri#*utgBI2*MUY*dhp91YwIHY!QSlg0Mvpwg|!&LD(V)TLfW?AZ!tY zErPH`|Kr&ro_}rg_Mc{pIRC-sErczCutgBI2*MUY*dhp9^bNumLD(V)TLfW?AZ!tY zErPH`5Vi>6xc{lN4Cr{X9)nl1ufZ4Zu?t~~AZ!tYErPH`5Vi=y7D3pe|Et*|7UqA= zKmAX`MO^>DKMjG4AaD@`E`q>C5V!~e7eU}62wVh#iy&|j1TKQWMG&|M0vAExA_!ar zfr}t;5d?MTYaq@ZVI#3arA5B6?3 zIC%sF931V9^sEp+1&YUxe83XM?s=lPwP>)q)Fovx=a0_3EIc*jle!p(a!1!R^ZgND z^CM7=A%KKK;w^>hFZ5reG7$;T96)qTsBhyLDO~5qUi01DDF@b-S=U><%f}NM^NWE> z$6SXWV4B>CvVc>?A3cgKNi5Cc7oX~@cC4zPJl>XVwUe)JzqQW12xTELgyJR{8~VZE z{S-Xg3=9+L?pb3@v^|g448J4YPT~>FMNZ*5thLj;w^M|?`}S+!9NDBsv@Bq@FbSp3@F9QBZDat$@2ewb3%?6} z^ykv|YIo2@8g*nAcsI#Ocq3-}(OOC*7JSRa8ex%f-%5e-AOTLc`?m~8DDe~q0eSeQyZBhBU zQwAL&6CuWUR!gygMC_Cue?Xs+)1FYR^5+C*Rgx|_sjM(PToIevEB$&BAJ4DrE3?e_ zbmIbayZX|i8|@0zSVUQLWZEbQx4?loHU-8hGCqQUa0D2C6Hjc!m}oAQloitOw91%r zx4UJ_nYmk-h<77dd2Wh=~b7~6+{CQg7`1=-^l%4b)-E57RRP3FMRGt%mG$O&wB%Y&NW z#ZCHruyJsZa&U0|ad30wlE{ zQ@+2H1DAPD^RTo3rS9kY{@jV@Gdm~v2Ljji`~&`_^WZlAoc^QDKm9^jpZfqlp8N28 zes2HI`Tl(Vqn_vc&wYI^2Tnit@%j9xL;DXs{HJ!nS^$6WO8=I z`STM2Zsl3!&-b|4xc*+*&r<#?W&h2${VVF37%?g8**~wxo^4_!CV3-6Gri}L^0~hp zJRFRyT;S@t*;yFDqY<|@cx`9x2+r*Q9+dvbuVmz4<797O>y_ zX-kyaE$Z%@+FTT}FLC9rQVM>ZvQyJ9rVZiA3BI(EjD>Vqxz4`Ga%r_~Yn*@us3tbw zFeRm$V5RL1*{a*JMdw6Tx3B^`_*My7%Wx;*^nHD)=MFpoZFHS13t+}rA zB}N;RUEv1E5Ly^jGfRifwI?<26{2UW&TGhT1K+2S z3Rb`9(@hFu$WL;;9ad~SeGfV4Mkb5wVHI!023?PL+R^d1%O9Z|fkvt@2)X1wo`oaR z8YzO__TSNu;yR&zGUYOci2wwW5+rOqZM_^~k;7bYtTk>`*%1f_=9r=B`7u4d&7)`Ae?~-gCL27g0NR<10aLe3y+|bAGTM z#?)?Feg$x*6JJD8vbk?bMv8gTcyWvS$u$*zwq8Bd3TR@)t)n#-2q)Yuy_2;s4i(SA z&Ft>d%^v)oheq*+{BZxF15c0^`fN3uOh!_bpTQ(kQl!-eLz+pztvs-()B61Kb&!1G z=#c7$OTxDMp=b(n$cDqL3VL+&A!*QAfR>ReN{W)``5lUes0$T5rv77U<3)~yQ05J@ zc;UnMh^cB4G{2^8PcreZf`KI;K@YANqrsBMzx9-wU6%-a&y`rt-3tRerBIWMly5TO z+B`qml1!=AhAl0CFrINr&NSy-^rj%sy&BlD@H6nH@ zHOW<~yCO~6jpnot-IK0e0DQk%?{+25oY+ZMKC=AGU`JljS5W`GcQ6gdmu9*0Jul+` z0UFJQeNjOaG;j!-I9}`tVYS8#T_#H^ZY&yIML7G_Z<@%PCd6Xok0R7$V>O1Q^gGq@TDFdgf5Ho2v8luR=-*;*#50ZW?lsrs&I^n4&_FDej z%g={t8z$BsJd4pNEP`m`>kpNy_5dHf3Onnv%GIT;Oyc1A^a@>XL3j)*J2my7NMMee zbiJ<-tL>GHJ4>}qzUV70$D-wZQ%wseJL9{c%>Gkw`fE zJvd7(BRuhTNxP&G8P{p{YyAf-wJGrA6G{3K{JY^j3o5^%y(ZzuxC$+2&o!ZssK=Zo z51M@uH9sSf<7?f=gTL~TgmXNT*}tS7pZvEWH1XBxC=}7IE|T#n>TP~uHI2$q2hFCL z8qsSqA4!%~5m;n`$e~tBCfRj~$`|hs0&KrTeK{RkdCVE>M+iS4MHv?~(Q7RXr$1Sy zL-Hpl=rL59Z7S!pfr_*S(BF3Wq>D0BZ;2?@IFP?VwAQVhL?YU$8pf5~{@ku4jUNh- zwBJuHC#|MH-#1@RUPw%+a#&SlS^v~a6xh<1mat#}g@?u%r7U(U&=qJXMAT2zb(~P@ zq4tuC4|S~<_TBis8eZ5Oe|;p#*WX#nNv>q zvL~O}QVvL0j~aaYh-F+Oi15*`bX=~;%t+I7#4Si%KRYJRpNY40h)K1FP>S?U$OU|+ zN`-$Lm0EZg-C>wU$5MHGrISPgt8Io!NmeHKkXrSkLaK(>_Z6}<LSWe+47^ zy6w2hxbiqBgG@$fZPqI^6}6%X%I&i0F7zB<=A)A<*$UFk6gcJMczj z5W!o~EQvYS8baM&I^RS%w|}_H$+D_%z`(k4u6~k-j=v+R8wLz?3oX`J7cg6WQQhFw zG`g}f==oi)zXEC*+MZSEi0C($N)(K2l3(a)KLLVtO~R%d1YqA@-n*p5cP ztR_@FNJ_E< zg#WNh*hv3mHvN@d@<+Y@(Z&D0UBb%3@z)OPy#KUIjB1R(W5T{b0B#L&@$|X#X$(l4 z7jMBNl7?Bto}6Iz+)3Ug&5s6JYUICop8&_p{(;0X=R?lRlVfSAkl%QUQCL~A)EGcQ zDi-w(5&=8=GODN4d;XAXrWjI0e&Uewr*AD@c6VxSf~Q`Xfn!(4?aO4`_tNre4Yk&c zRN;K`g?JKnLWOu8yeIxt@iz3WisZN711I`+8D7^hXf~rM%X|{D24EerMV-S3{jXB3 zGpfmE-O{T>q?iaOp-HbPGy$bILFphZRFNJ^C<=lgO{9YX1VIr(6Oqs%bfSV$O6VX} znt&o*;No}Iy5A?Bdw-lWzh>?CSu^v_J8Qpto@WEqatMM~ERWh>r72P0(tsV2%mQY}Kunk(ZOjq(2O5!_BYz zhx<%-c$tab1$OQ7zld*r(0Be*Ue%bh$z!C1){SbNC(iWX z&?(qvw`oUdbTW#H5*KP9nsxe_V{I|f~-a9qT=v5+dR(ENIQ#nmgo3cAa$)} z#@^J^k8okPA1p_|MBW^8h3_0Fex03;Siy_UKW9C+h1Sc0-jchircjI)DHF{gV#H$q6Gb&jL`N+nN^)T1?xzQQpQiSa z`+YVh35ib)BKdi18Ms&*^1Uad=6@#|LD!c3r!E(_{ zsb&2gL5Xpk5;c^i2l`U)OU(><>u+1HR9fGfts%`L2{9b>VznR3?72 zT`>pA;m@dW_`%aD9hi7;+->`KOk039k5&`u5@JXo-n;{vDTY1rW@YbsWWo**6e)R( zY`@u<=z&~m*rsaQVs?u7Y^@v7FeBmhXinmTu@7P{hWAnTZNN24m~?U{&E=UK@!LNj zne>PR<_(9cg^#zbU{T-?nJOUXUap>i-n_)eA30+4-z)@`H>vqFMO=7Zccl90BL~^z zK907FgO(^=#wS+$V)+Nez<#QB;@f#&lG)zrK5=q>ifdPE*7KOdx6xY>B-YDjwg9~8 z?W+C>#IO<`O&odsjT>b?&Q?#%k!AXHLIj<1z4Tjd46uX)_`?)Z@4iLj53Fw9<1|U6 zKxHM`1i8Ju=lqrB^9yYGM2Dm$x{zB11z3wL1cI#)(K$0;0qDNbs@ulMmX;*{)X5+1 zp&l+GAJ0qo(D{Wlht(@%EuuE@G0(O1r|L}m;u^?|rB3pS1T8JMt{9Vzj4BsWv4sUo zw(5#y4J&0dudsRTH=baN9Fq6`n0~Z{K3yaiRFDwMkYLibwrn zcC@)^H6tqi2FFFAVDs$z=>CiCtY$w*tc!iHS z`+Jf@TNOp7O$B)i#)^9nJ*29E0&2m}y@wo7dOM(D8q_DzFGZTwcTIs`I-ncQ{lYsd zf^N%ZDpB|g>|lcK`1lodcmzFv!7DE|4Gph8@6M#ox1R^Bm-vx4i@r}0FH=!;A5E9Nv3oC?dPr&N08Cbb{;{&u(?Qx`4rwToh@714>2 zCYUD!Q<^a0$gP*VCCi!hGYKCoO*r?&aDmw>dG)qUbaY^0EN02wO3AvVrT=m;*z}DK zP%+j5;FGl06Lr5(DkYIsELV`%YFpp&n%=Xtk{-Uzfp0#f5h&pV?*aY!r)QoO3N0Hr z>t(9Jiw=`xlZ(dIY?rXvb2D~pZE>sFPec5`fXK*zkhvh1P@29GbZ!q`S)8@>oKYi0 z{^-D9LDq=;O?8-*6ki^?C>JV-{SY%kHD6y`(EkO&y-4_g{(uNJerpfxY7z%@T|Xli z{shxE;Fee=ID7eqUKHrDGw2lu;+fNW1=m_l8#!N2k{1NW^k7w&;c3?u)WeDH8s5~Ay_VL5?X}w znYyRgh1{Nark@(5U7#Xj#by|>jbrKFm5KeMP$CKBTlrq+T&Zy2=7}b8M7QPgAHmHO5D?^%N#8 z;EfgzGkc`uQnVXqLOu%SX;45r`GM!0h;ET!;gRoF6O0uXO5x}IR%r_qGrt@#M=`OK zhn{&a5;sS>_B}q)`~_3ean*iz<|{GsB)Xy*luK^{BRp$(Lr@!O=0$<8`N0tJjI70M zug8NleTdWZvpKI|#s*&6^81yA2O$4=1ob^evdg6a7gpamgyPw0i_%^*7$dV@a1a{u z)6eAtCXA8UfXR1yUTUE(wwj}30q@aK#KpKf{i3ggPz=Ch`XKMOGM7CaFs#j1YLls3 zC5sjg=4k%qj}%MA`w`UT){%E5H^%6*&%ch@T&|FgeO-P4Mk;=;1SUcntfEKy6ttgEh4wRtj*o1G0XIUOCUigrf*aGj>Bx41FD_i&rgw) z{|;|BnDv8hX~9f?C_re5Ca$o6w2)nwTBiNBr*_E$-57V}6>9P-X+HgU{s;g>xF1++ zGYOa@ZV{;Mh1q+{RwNZ_;M*9v`JMg5%X^s#{_gYG5{7mN$t)7EulZnpwf@V4*J<$$ ztGa#}m=GYeI%`)K8@JvR90^c<*jNB$(v4?!bEVy`2vkW@XR=PXFnXb;LZ`lQfW}GX z^PF(Oz3AzIWO@wWON^rhZuH38fHl_jrJcXsx3pO{wo4mYPM>A_ExwiCFD&e|r#Yz4 zClwdK&h8qo))__F=*~PNSEQ*8C+z8nS#O3#SI{5!K03%+Iy_|Hk%}8Azb{~;Qp@~` zivAiaS(%`zvYOzP)Dg%-mYPPMoTM?f=(l!n&1!Z-HKHzNeF?DN#GZRi1s$+2Mbic) zvX2BLVw#t26FvKqRs1lxnuS%5EXj*G9yab3?Pd^0UsLvx+7b)q*(|cKc|Cz|#xI1l z?ab6=^%;KpytL9jqP`E8@uP5$3`v155})kVG_|-3Ki>Z2^KPY=7;VzNNbFfxS%qFK zkE~6Le>nWDUc|tFL9$T|Vf^k(M~{BZn5wDeyE}3433=ZM!gtxA71pMC`w6NbsPW)S zxC+u&;8F~_m2IVB6IPuT-#xg5jA{^{j0nEOFVo{up{298prb;q+@O{^%Bp$3V2Oa> zKwJ<7xXRY=o1WvDfED0^+yX!FO&YuIuFSij{5~iB91{p&yL7(iW1>$q>Qb}1N#wd^ zUZ^j)3m%}MQ*0wVzE8~!owIpTI8vS(87^Cob?>qv-O)-n(o_8I9?leVeAGO`E7_eT zanm-K6Ku4RH9Sw*^NvghBj6>4&p7L4BV^QK>Wgg`=kOD{Z3=YDndy7~F*xJIrm&MsZi>KNrS$Z&fi-XDA%m=VxCCvC<~3!i ztB_^REpd6Unxh&>>YsLC( zyeC-VRIUoe1hXKPb%8XMiSWrnf>;2Th{D28MjFz)}&jt7*k~v zRmja;@n-oqo!=JuCEDF6F*yDO$`t(dzKoHAhnDxNlySFWO4nS(iergt8k%20hmFH4 zK>IajC64n`v1wE$B@a<0h(P~VKE6)knLBN=qUm1>uX1l*oO6yK6YN-)T?6KYxxusN z=fe8?uTC^+aup|(9_`{jccG;}TPO3stofMVx6}S|jYJ-p&8l&un@{@jn|sK}M1rL8 zb9n7R)%~=K0+ zg<;(!nKR8~yM<3S-J(V{lxn*EMJ1D_4o>9frx^aOiQT1;XLa_kQ0OIBm#Lv6NTu`j z!0TEXN|b*&41n#bWq8=m1%L)0yIromKJEi?6M;%NGfhfYen zsi}-@G;*0&Yv8+TfuK6`L9pQ$s}cJuraPl+=8s}BIs9q4QE>JFal!%+1(MN_7l?h! z_)G}e;WB*F-%KT#t3g@P&*(KLNG~nFz#u-Aaa7TpkIjaY9Jq>TB1HCOXn6> zyVSrCetvjhU?ou2U@eJr47oEtv~ur>XN{8~ooEilP{e!%7i|8HE+)9T@NPRrn8zG> z$r66Nq5AsxAuVP5*Fk$7$)0fXQtEsxCe8Z>2D@3~yyX@=%x*iO;O2%9muVx??5j?H zHO-Nzw9Y+TyuYj8?c==Oh+}Nrsi0R``7X%Jdh^Z{6mR`@tzuHRq@tcZ(C*As{h@Ta z4r#^^$}@s9(38Qc@eO~T^vn!fy%w&jp>7+1<6$xk=`{KfnYWYa@4)y19l6IX;g(P( zskz>NzGIkTMh2888r>g)5gf{w*b0nIrLl@8m0M4(l1H+%$7!HI=`0_!8sMYAxs4DI zY!mQPr=pWl#tksBHT^M7V?ZLi2s+juaD^oil*6b6M#|AE1zPTurX9PH1vz~B;6r}qU0 zhe7|u;Ly`+hDl4E*kDf0Ar1XAPWG2w=2V>QpX0$LWlpN>zsJF)Bp|2fg`aHT={c9H}Ld4F&6*&gV8A}()suzkiLJN960pk1Jm*G Isp+f#51kP1@Bjb+ literal 0 HcmV?d00001 diff --git a/tests/domain/modelling/fixtures/low_energy_lighting_zero_leds_001431_after.pdf b/tests/domain/modelling/fixtures/low_energy_lighting_zero_leds_001431_after.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3bdeda528b6966718d81563f77867b9db34a880d GIT binary patch literal 65173 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 Il(dxp0o|@Ld;kCd literal 0 HcmV?d00001 diff --git a/tests/domain/modelling/fixtures/low_energy_lighting_zero_leds_001431_before.pdf b/tests/domain/modelling/fixtures/low_energy_lighting_zero_leds_001431_before.pdf new file mode 100644 index 0000000000000000000000000000000000000000..248b52efbca5a3e0ba75d29fce318116ed27f879 GIT binary patch literal 65176 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 F{{izJ+Y0~y literal 0 HcmV?d00001 diff --git a/tests/domain/modelling/test_elmhurst_cascade_pins.py b/tests/domain/modelling/test_elmhurst_cascade_pins.py index fdf78eda..6bba36ef 100644 --- a/tests/domain/modelling/test_elmhurst_cascade_pins.py +++ b/tests/domain/modelling/test_elmhurst_cascade_pins.py @@ -37,6 +37,7 @@ from domain.modelling.generators.solid_wall_recommendation import ( recommend_solid_wall, ) from domain.modelling.generators.glazing_recommendation import recommend_glazing +from domain.modelling.generators.lighting_recommendation import recommend_lighting from domain.modelling.scoring.overlay_applicator import apply_simulations from domain.modelling.recommendation import MeasureOption from domain.sap10_calculator.calculator import Sap10Calculator, SapResult @@ -537,3 +538,41 @@ def test_secondary_glazing_overlay_reproduces_the_relodged_after() -> None: _assert_overlay_reproduces_after( before, after, recommendation.options[0].overlay ) + + +def test_lighting_overlay_reproduces_the_relodged_after_zero_existing_leds() -> None: + # Arrange — a dwelling with no LEDs (20 incandescent); the after re-lodges + # all 20 as LED. Lighting only changes bulb counts → Appendix L (232), with + # no fabric coupling, so the full-SAP pin closes cleanly. + before: EpcPropertyData = parse_recommendation_summary( + "low_energy_lighting_zero_leds_001431_before.pdf" + ) + after: EpcPropertyData = parse_recommendation_summary( + "low_energy_lighting_zero_leds_001431_after.pdf" + ) + recommendation: Recommendation | None = recommend_lighting(before, _AnyProduct()) + assert recommendation is not None + + # Act / Assert + _assert_overlay_reproduces_after( + before, after, recommendation.options[0].overlay + ) + + +def test_lighting_overlay_reproduces_the_relodged_after_some_existing_leds() -> None: + # Arrange — a dwelling with some LEDs already (5 LED + 15 incandescent); the + # after re-lodges all 20 as LED. Exercises the partial-upgrade path: the + # overlay tops led up to the total rather than starting from zero. + before: EpcPropertyData = parse_recommendation_summary( + "low_energy_lighting_some_leds_001431_before.pdf" + ) + after: EpcPropertyData = parse_recommendation_summary( + "low_energy_lighting_some_leds_001431_after.pdf" + ) + recommendation: Recommendation | None = recommend_lighting(before, _AnyProduct()) + assert recommendation is not None + + # Act / Assert + _assert_overlay_reproduces_after( + before, after, recommendation.options[0].overlay + )