From c4ccb784bb3a83c1c614c9bab7fc007ee17f6615 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Sun, 5 May 2024 02:45:26 +0200
Subject: [PATCH] Extend tests.

---
 tests/__pycache__/__init__.cpython-311.pyc      | Bin 0 -> 159 bytes
 tests/__pycache__/conditions.cpython-311.pyc    | Bin 0 -> 9478 bytes
 tests/__pycache__/days.cpython-311.pyc          | Bin 0 -> 9381 bytes
 tests/__pycache__/misc.cpython-311.pyc          | Bin 0 -> 12040 bytes
 tests/__pycache__/processes.cpython-311.pyc     | Bin 0 -> 20920 bytes
 tests/__pycache__/test_days.cpython-311.pyc     | Bin 0 -> 10170 bytes
 tests/__pycache__/todos.cpython-311.pyc         | Bin 0 -> 31688 bytes
 tests/__pycache__/utils.cpython-311.pyc         | Bin 0 -> 17892 bytes
 .../versioned_attributes.cpython-311.pyc        | Bin 0 -> 9550 bytes
 tests/processes.py                              |   9 +++++++++
 tests/utils.py                                  |   6 +++---
 11 files changed, 12 insertions(+), 3 deletions(-)
 create mode 100644 tests/__pycache__/__init__.cpython-311.pyc
 create mode 100644 tests/__pycache__/conditions.cpython-311.pyc
 create mode 100644 tests/__pycache__/days.cpython-311.pyc
 create mode 100644 tests/__pycache__/misc.cpython-311.pyc
 create mode 100644 tests/__pycache__/processes.cpython-311.pyc
 create mode 100644 tests/__pycache__/test_days.cpython-311.pyc
 create mode 100644 tests/__pycache__/todos.cpython-311.pyc
 create mode 100644 tests/__pycache__/utils.cpython-311.pyc
 create mode 100644 tests/__pycache__/versioned_attributes.cpython-311.pyc

diff --git a/tests/__pycache__/__init__.cpython-311.pyc b/tests/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..61bbc59d28896b1aae02ae323b761c1ce9c15bbf
GIT binary patch
literal 159
zcmZ3^%ge<81k55#X(0MBh=2h`DC095kTIPhg&~+hlhJP_LlF~@{~09t%Sb;XKQ~ps
zASXXpzo0ZJCo?&|D77HJ7%WnfSe&h2l3H9+tREkrnU`4-AFo$X`HRCQH$SB`C)KWq
a6=(#=l45=!@qw9<k?{iqj3{CTiU9!nRU_U2

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/conditions.cpython-311.pyc b/tests/__pycache__/conditions.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..252bf75240a44a184ae2e5476e2b5b779fdb807c
GIT binary patch
literal 9478
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
AW&i*H

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/days.cpython-311.pyc b/tests/__pycache__/days.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fcbd24a8309518e462ded2f8f38b8981e01aaaad
GIT binary patch
literal 9381
zcmc&aTWs9cl_ZCpx$}@ETZ-+`%k(SO#M0<#TYgEgtR$`zD?#mT5N&n`)R2<Lo`-Tt
z+0k^g>yLh@LC~l`ifFf4tXdSQf;51>+I$sB`%~-}$6yg*fC2@I0L`Badx5}Td(Pzy
zhvbZcympu3oO^lCx$kq%J?C8gx}_z;!85lrGXG{f$NddIYL8USJp3hO-r-bkmQ#6E
z$nrU1R^Txo$OdwO*#OInSurQgO1a={kbO(pP>#%!TzEFjzJu9FE;<|KIe~kQQ$s)E
zRH6y*1vu^l_}R~FjN!t7i)fM$*TQg7z{Rwn54T5cxy~i_6!+fHbVHt2mUTH-P?xe=
z@^frC!B+@kE-Si*c~vnqBa_n-LS;{_{N;>sb9$<>&;5N}qjxk4Q~_wR5;Y1cw4B1)
z(8|6kMSZqFbBgiI>uGJ#$Q1JF>O5E?R6ib$K;|7z<7RnSK|$qb11eF)ABnRfq!OeO
zq(Ml7kcJ=)sR5WxxDv&&=+~9JK0Q@TxMn3Ah>-IIL#EnmOBtHUFUZqVvaT6Ri^)om
zLQ3;9Y2G!S5ae;8A3lcCceoO_;X>B4Ms3(o^d3-t;Iwgy<2j?o5`a~CFCI2oz`ysP
zg%6xocrG73$_;b6cvpBm@CtXA=ebv)CH}h@LE!&=1md?Ify4auJ>WPaT>nxfHK_U+
z-m?!O?-*{0wYvVDPz7KsQcNOSp^%)=W#nafo^i2!N6BX38~9jO@~XV3P#yRxSqaP+
z3NyvX$k52xz|hFR=uok}mLD3HM@G*L4Z)lFJ8;<N$Ssenq{9P4!wIPpQ*>RU#`l$s
zuIUsfMv)gQQM>$^*Ortl#WBCnS43UQ&g<BS{5UyyvyjsU7qf-j;NsF;Hj_?KZLy%U
z5<}5%4>BnjM43!3E?3&|GX>L1v57D-Egr(TRz)b;gdhf8=|6`K?{R-^+52fr@BNnE
zKOY({w~SaVBRd=)KES|VVy$b^kFUOYb@l2_pjOB*50K`OLs+lk%YE_17rqkq*}T(U
z#PwpQv2v`(iuIVW9_-gHXGrX~7yEUUF@z6P`}I>b@Am{&J^}rjZO6;8C#~3%X6#Aq
z*hVlcc6<Umc9k)N4^%t$Q~j01J|ze5lY{?paO2n}zd2lv4_NVm5B04J<-w;de7{#F
zS1oeYtiAdWY|_u$&IEoZo)7(=KOg#}yY13=;FEFj(uL3`lRUsb^t4T#4gBG(ICU}f
zM~(;R(S1Q^fa$*9LgpRLaCBOu7F*#xSivh>D}o2>(?2VLQlP|_goVJ02>R943v^q3
z+>%@JX%DPh3M>Q~<W>Z^m5L{jmu0;`4OI7Y%W^W6${MK@lUCq+_|#rYrING_`f>^3
zh$}xjlL#>Jqx*oU62#UtH6hUs{1ic!h8Y}TaFjt^N3Ad8L!UshHb;=EgDG}56|*XK
zKh)9x8Nfa6v(|lU7s{=&)he%wf7$h8yRBnQU7t2v53h>b4#Vu<5dW?F-R@0sQ{9?2
zPn<22a~3&g*4~HE1LxUx95&nbA3)|yjy#tN_8)4uoP(_KU}LAWShqQncQx%ctYEUH
zD@O;0&s2ifm-0}E>yArq>%LHxl!D2{+4|1Ev{i~-mbQxR#p($FpuU`SYF~e~9DmBf
zcVz2InOwBUMYHx&8K|4D(tCjU?pJA7L&Lr5K0&(W;8d|e7$gveVDUH;2ITrhs@-AA
z-jRd6_PW7JY*Ap_0eb;Q*Kjot$JoetEk6q9)J#HjZBN)~vl4b1YuKv;ju_;%%)-sN
z0%e`*#iLE7!Ao=m7F)jxV3(a6+sc;7Ws6)k$>q8TxVF|!05tHjt$kmhc&5!HNQI<Q
zc_pW%Qk6(5Wt+p0kEK$0;#M)CR7x$RQz?o<N)I78hM*6?`y6YLF(!>-DFQsebpyaX
z=WkmaHO0{#kx0+;J6r?o2ukO7I4@`uq=_BQ3rIkkhWcLy?E&F1((rShnvg!k1@)TR
z8k*MvnATBdYKI_2Q=34Frgj)o0%-)&Fr-mPBap^a)VZ;$32yra#RS_|kICIH&n+3u
z5C<Cve1)nB4#JK~m>xtBN5D3vx!gSsc$B+aklK&RW1VVVPy_D@E4+Xd&XJ-@8Lq_t
zivI}@W;YHsSlrJfBB?8Pv_S?_=>pY~6c>l?0RVmsD0oAwgwlmvPRkoJG-(${Rc&5b
zg0m!}>Xn1(n_BvI3fh5VCIyyYDy^h%LOvnbr$q4fU4<^_IyPK861p5&Xsl-+T)Mr8
zbt9~iZ~z+APXhp%=<KyRpV}O@ItM;FZti^=-qqkXIld}d<hV%&;oS_{sRJ8T8;%fF
z$wQpy?y3zH-v{usA9Pk>L51RJdqL-EA(t|gxvZ9=g}Z$Td65<tHJV)pMo?5;&gA8E
z7HnA=3Be1S0pGC0UPEuyFHs;~!m0xCFPN7Iy-K|kKvjVpzE2L9$x(|OHEZv8y&%k2
zmXmYKz$bl)Bu+GHPm~ok%x{mw6bxVN#072O1BSz0ch3eb#4_o$NT*qQ8)rkH65HOl
zMZW~S3gs*OiU20rE{2$Q(;2<EBCQ00zNSu~`TAp^(^7rvE*8k7;}V1I05$8bZ%Hgk
zrC_5u_sx3%12Hh~bFlvxdI2M}p%<KquV?1Mf5WvZ1yrG-kKlrD1;0%Xs!(d|0e0lO
zokfZF&tie|asdQQT%4o&ES;5*2kUbPR)_~H`J9n(DZGKMO~d2nN^hNSv!W$I4bBT{
z=r_b0eM2rUg-WCpUXc8A2VQs0zCKW!YoUg3#@^L3_SS27<<&c@l}IV_f4LHB*gMZs
zq>*#g2pl5O;siTH&`wpd*}g=-tm%tdIs+fecydr}L7{Mn7zH~NLzVmj1Y|N<L&Kn6
z63%RnPQofMP;)FGvNGn%pK|3-yYgplfQAl3W7*V#vZzB_5({C{OVHp<B2331t%PkA
z4kL0|zybKIgw#2(A@X?$%Yac)X{j0pMu92|8b$4!h}tHBgm%Sng(V|)GD^E}*xd+v
zupe|T#~3`t;Au7t9gR8gENhSL2F09{1IAH2*!0{0%sHs5e;-s3oPoVZtlngqbgfFO
zOKaM8*P;KM`1gr&*Ga4EWSJaX6<5`@X_q1W?tzVtUv+Q3UXG7j@$v1>-VJd>HRC5A
zK(u23!y5w_&luPVa^aS0z@pu*vn6dUZT?F+K4HZtzE!>TZtTnzOL4hyPFHmEhvoQr
zD}EljTHlWq4&&$!<LC}I8=bKAjH}9q*w9O}O71DeyRerY?4<{L>G^NMwY7gGx1Ge^
z3cnFvJN9;enH;jnA(I?xSaMjtk~uiNeR2>2OP#|IPU;+nzB-4&<ikDKoZdQS#?L&E
zgz(u%8~|_=0NDG`d7pHyPeb4cVgP2>Xqk*zWXvREpS89B?D?Nwd;40s?TFQOWL4TG
zEpJ8Mh^&pheW6Tbi^wLC8-`*IUMk0@toYQ&|M2m1W%7bWUNCEKqqTu2-8VNT?chz4
zYPrH44U9-_eqKvM3?G865V*&9D_YqaGpb^?pxLwyR#mGb8#Y0)tEqU{$bUi!aaoD+
z`y>uRVv#Ph_BPHGtSNh@_RR(8a42Ye@Gi)!2f=j4n+vgc7KbD+7BYFzV{jLvs4U7X
zV?a5p$%VOFFnRg5rY+h;P>d=tV<hP)bW{n<LC6`D*WRki0sK-{p&4VjVL3XS<-o?P
zR7JVznz$$w=tjrzN!5Jry-#}Amp6}>$&f{c%-YKqhhl^!(L$esgq}puj{w~jJDg){
zMh!eAbOe}MrDqU}3W{Dta1Fsr2yP%ihs16hBWe^QoD87ft^WeRJ?GE%uD3f5+`G2D
z@4~(3cf^1+gl@7ML<H#=`qOSe1gQ(l+<+XGu7Qu;0H5UrsT+yi02&y^vZlZuJq|n#
zKj*30gAb2Dk=GT6YYh9=D_FhtLS6|~TAi)3uiJ{JSb?l8D49HPQDKS7S8m*R30!OR
zum^8~uw=p0?n9x0b4QuOTfJlx58L76dGMQecmJC4@vb}%cB`M~ccm58X7-S?RPGF{
z%~x+X^fhS7*Pso54cbWK+|(%SXRLSzw@=1v8K%|-(@Iu@2q*<xM_(-DbxlqeR88-<
zu~4dJC}@M^V-f3o{wG+LVh3g?(WtmMIy5u{0Xle#E%nl8UwrZNHQ3c+*lEA`gp-}r
z4TTyPpM-ud77zK0nGM8nELTkU3GCY~?2=Kz=c(!l+Wn+>HHJo(t)~_=qd`AK4Ok8c
zvZbDT=7vjE+q`Z^Lu_OQCa!-7fN7++_PnuY?asRHxb$#(VVQYgU=s>QEi!77(Q4t^
zzitM~q~9X_Ch4!0{cz)Qne<tt&m?_L<>VF+Ru4_5aQvgAWinxr36o4Xg;O6x^(z*+
zVv;LPVgF{jOhzm+V%A=!2AapU{tM;;|1|)oM227CcaxG5{1*X4dEsQO{~y5am%~6U
zeJ$#s8v3ej!|gka6t$GUh8hOWjue@ul3#l9`VGe3_E}|H=dZwA=|2K+Gbu2Ko0IEo
zl}Q5YvX~q)PsC;(xY{&oA+|7H$zn8F@kH6|ix*%Q90Q=2UFV#Sp=uNusnrVrfUBP9
z-4NDZTn*!Pw!YE29^N>;2{zQA#o}r8(#b8@`f-bln`GQ6HIJVC2#6;wGHH^@TJaMb
z!g|y^e*UBDWpc?Pm(1GhIyi$(4^Fg9sDi+E7QT#S2<G9ZUjg7g3nxu+az_kHqdS}z
z><>y)aI$?Fw8w-^&m>ye@m(QH`HX=QO3}1q*U<2P9`LOvmyAqSrx@L#=ww$~@Fp7X
zos+Qex_ya;K2W9IL1?vq1gYM0qi<uM?QBxsi9RM5?4bMv#hC&}aC!?sFpGJ9n>%1~
z2e!E$)B83nIcIWB-fiwFv)Q}NjhNndC)mwn;JrCq>wCa3kKFi)^E?;@jbJVL081a$
YQ6;{E$9-uI&Hd0iq8{x+z_#pv04pE)&j0`b

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/misc.cpython-311.pyc b/tests/__pycache__/misc.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..edb0671070f8533567c22209a9bc8388e42685d0
GIT binary patch
literal 12040
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

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/processes.cpython-311.pyc b/tests/__pycache__/processes.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..92b1fcdeb833fcab2d01c5aee9cac2ce7d97928b
GIT binary patch
literal 20920
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
aX+CI}ZDV1?*nzTf`$P2pv`82oNdF6$8zXH1

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/test_days.cpython-311.pyc b/tests/__pycache__/test_days.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..61f606c8ea11be55fda957102ade132d9fd3a76d
GIT binary patch
literal 10170
zcmc&4ZA=`;b@y)XZVv9u*<kS5d>oErxWpVBU;{ST4iFp@gR7Xf3W|C<->&gF_d#}-
z#J--T{75AdMGciwg{rp1kH{r*TKQL-N>!DwO8L2KZDn+lrASq!`d6{+N|9AneQ)+|
z+1)!VAa+>x9<%e_%$u2=_c{AJzrTusE56%tVW5^_{(%pr%T+8q_yZI^Vt8hn;aT31
zV$+Uk2a9EA%9-Y-Ia=mYuC!~~Ma!;~JMEeFq{%d)&+e2rT{T^muAZ)@&z_Vo?Vt9u
zjDtDF@Z=qa_X>_1PKLP&KmD5CL2*@ps}?*qTn)wf0OuEo4Hw{doMXZ@xt&vjB!~F;
z6)BX?@^dL6au0hBvju{fk+>v4dB;mrQ$HHXW->xTPG&QR<>Rs-C(}aMQP@$U{Ap6Y
zI67R|Wqv*<h;IraP&r5AR|?f~7J0?6HS`jADW2g|0{`OWgfNReCyMi;|JdTgg9A|b
zh!L1+7FO56v(rxA@eVW1@lJp)o&)IST`(Vap&EHh=i(V@bofyiSeE7$k`WQgWaW@3
zyfK#)lbM;&=x|69<hj{MqQnbXdf<mE{NR5M<eO)f;Gz7I0b9CmK>M3UABP#1kxTmm
zNO;zYhqvp%zZ=lQO`{i<$y7hXL>Y;D%W>KHD)Sc0GOt2U?2{OQW7|jI-1ZT0+dcx<
z_a1>E`K6tQ|7Gvm6Yu6dyiF5W_9C&4;SyJBYu}B$10>3uYe0z#fh4s_peJM@bRjFI
z<8q|nypYXK-opXqs=B+ndpo+iJ9@fuwWV@bG}PU5w5tp5<i9|s?xB1<Dw0M!x}srM
z!55b#L6l#KCnZ4=QOSw~K%rW%fANjEcuGV``h+cTl90L}VJD$SJ)IY`X`ypAl}&ff
z&Ye#s6ERVk%}TUJj!Un1QgNpcl+6_>GJB=41M6Zi6RLis++LhnQCCE)I6rWaegUHS
zHuJ52=N*6ZZGZFMTRK&Lm*($UWms<m1$TWl3$Ay^-yfeJUv-u$Dds-XJTwT`n%GL;
zefOQMhCWtiT93GTWXipJ`u)@Mr;({%NioQ@9+{fzD8dGcOzl*anbu<CT4c(;JNEwA
z{1`ITD=7w<)*@3=9Yxqck*S@kGSg;k+>A_ps;^1&H7UL(<g3?HB=T)WzNR{guz@09
zJ5^=AZP>UC_$q;CRo_9)cTn*iM8-OTVv%thGB(vwgbfrK+o`@KzB^>kZL;V3o}~lJ
z>~d5Mc4)zl-%Ga!)y|U|-ltVEu90!2bW2mP9e*3>bN-1t=J_jo%=1NK;DvtY7yaA|
zgPt!=umHbo3Jec8zZ~F(hdf^~EW+l%$WiB4N4b&Xp08OJVM}22nDgsn+~^6<-yAGJ
zi`jDn6KeMU2!)Rr*)V722J9+p!P<<=Rfh#@Q~Xz*d1s!@J7%0$IWVmzF2J^UnH5&v
zrna$d-Z|qeQ&$|QD_1UnLXGMw5{sqeSS%v$f=*3pr`uHSnG8Fr!V&9$sNj~eqAc)X
zmspRF94L+`h20ePP$)^Lk3x8f4M-L+R0lQ(w<6bAQLz-U`=E{VGXQTh|E$@yFsRmq
zw3^U7cX!=~l|bDBzc{MYw9a!Y#_p+K;(pV3t#O%K=5LKEZ38Mfs*$5g>3#ql7|Z*`
zVbk~f6DT~!tudJxyW?`na8}Bl7v2f$&lMd?T>rNO;dNNSNXa_%bVU0K?sIb)sKj;0
zCD*mRr${R9hALgd+n2UTvCh&KvCm-hFaXfn#yZt5zNQAB)9~)T^^!`4G%}==ZgD?Q
zPli1O5{qTxX(1LXRK;StCk$m@EQS`Si1EZ?d^Qn_iF=@t*oxpFfKM3O3mviO!&(Gr
z%cOAtZySFrT#v%_ta3ir%j_y+f{kw1u~o(Z0f+1ODpL-0HrROre#TXjpv}9<y1y=>
zv9s(HG{JPI{1^IOf2Z)QY}zYpdn3<WGV1O7#4few9)K43t+~-loH0jJ!Q8u*{xOcS
zF&@xmHZJB7Y;6wf1qd5jADbStug`jYn@7#tG^`o7&WxNq_o>So652WQECy7$T0@_n
z*ZrpUaAcC|RB<o7l_`kg+zC;@c+O=O=^}N(!=H~OAaVrvEe?U;`VwAjP?T_eYp!`^
zMeOsyQu;RllY}qUU6-!?e7X12!Ot4imNBhmOeLo@a!Mhm?vm>HGb#ycBzT83-zLqA
z^0mB54r%0&LJqCzQbR}F4K`lew>0(fYha9nC$-?o`(XQrS+w@UAhQS!&9Ydx8S3km
zcznYt!3i}up#>+9(OJsqEM;VcRP-y$=wCpuKUHhZR<_X~hlVvMlS9WA+Bmn+hFLO6
z_L`C~`yXoo&iW%>&!+(C+hYGbXO*X?z`^y@Ik;^c(C;csT6~W+^4R)!&al=Rs?oRl
z28gw<r|<^6<s6>q`czr_pJA-ekYp;^e%ShawN(nQau%%5hILu6ejC=EcmI&m$nW55
zJ`Gsy5qkM~F7L{_XKXv&I&ZmpP3~_%@uu-;o0BK+`9bHj)B3jZp7Pzz?*bcJn>%jU
z*mx?{9zGNjq*)=6goi7kWCrq;GjWlZLULA5z=-k845VR_DOtcQrXJx?Yb;`L0l8L2
zJWLC^oz^SO1eDG~Q>4d#lrZejX)t&yIq;CP={1!Po61Lk9^C;`RUf(rUKnL6HWQzf
zU{o%e{1y9vZZhoF<F0OG7)3xMFel7e#B5fW&=^c?LR2$?763E=>!t88g-2*_5<09j
zA~S+ApAnQnkGVZGAhY`vfH?vUr9aa=&qjkW;`_k+o_FEEhlf<sqLCJbw16YA(Yj*j
zUwf@#sqW)OH5k!?k(Is8OWYE#1fNGIpaY$a4)irT3|HfNk$(BI8tm7C{TpwgbiS+x
z&uGCjTWzw~h=VfaJIV&7biSYlhqd4^uvn}|>Q<aWD^8*HvD6!!wVA;Zw~+yr<{aFI
z!)e0dG~sZXzTZo>zC2jkmFGJlIkYzlDWSbl;IcRRt^O{TM{gZaf_?X04)4H21^~o!
z-huzPnVogNe)(4uA5N%&{aRrEylaK{Kd5@IYN7YTL6w9w5>iOW<d^E(#8`mOfBg9=
zm7LMY8KrcWdxl1wkJ@nk=*=7@Y$nd%N<?Cc2W@^49EH$>o7}U84xAN*H))181cyU3
zlamoH%d|#UbyUefHUZMj(P9}=&)xl{au4K|C&Qd68u1!^7Q9AhWwA(up))c<a^~Xs
ztXNDGKT}bCSczUmO`^y9raixwd+5EDQpt!$Mieq)dcl<mfCg^*Y9Toxwn5)wI|58@
zh|eMDK`@BmBmxYK^!xzkq{NOAz*f>Z0Oe^2uM1-g6RdA_O+bwaj<HVHC{$I3IzMEU
zfS+-de3A#4CaHXEhnb>6jj^iw8DZ`)tq8?u;>ir;@UnAa2+tkihz^esJ1^3+LNU~i
z+X7A^;^*;j(t31<83XheAG`)7Yg7c@e`#c<$mN&JRW{F7_VV!<*J{J5KZ-ocF6aa0
zuI#dUB$wPJ0*Kkc>X;Az9y5wEnE@I6;YU&Cg*~xR*y0RW<@Mi)EoRuJH)4w|wrLc$
z_+y(!VT)3>X%y9E^7N!+q-=NcKG0wOTpOyZP$y)wsiEpj#8U#~wngyQrP*vo5<-bA
zFGz4udg{fg9EXJWz5)5q)nV}jo}~`;bai!swSqh6U#lHEdp5ZM$|~nII?e4iiYFvF
zF3Lj(f!R>5#a>N)Y>K0$T-Z*aAI~C7N(GOHizBGDli~p{m>*O%1=mGcp5+TWbY&ci
z^E^ybDtPc?3Rnl-eXpJo<kIZnG)0cfbKv;vrzu|SfTjW^%o~+XPpV~T4SDq#F48`m
zNzn6uI`TX;k{-gUz`04?{-x26$F&1PO5O2!?+V#@hXikv;Nr7O^(txCNV`JX4I{f4
zyc3Mv4o1{qmxg!WXSK#DfT^j{+NY9!jr1#|f3t0uT2vC%NK_%wO*h@Ak`9e@D5PVv
zO_kPul?-TPKp_L0Z#!J>j%;|PAg4N^kqL!NY@Y8CmGo((Pa%C9YO5dB6kQ=#MOWwy
z><qgDG>ml!Vz_PeGog|Tw8EWGxD%_~E<9!_2fAB>Z70J!sk2oebD5-!8&yQ-qEL-n
zIg&^vg^Wz4gMOj_A2$Jo6q%EgDM>_2FXER(1wVeJfZrrUK<p(w?8Ok*gh(f)g#Psd
zJwKw}8=ZmGt$RcU^`oid;w#Vrx--&lfDnVQ><ZJMFbykAlVZJBn1hP-u0(TGVJh4!
z%yUYmyS#qYy^n>}EC&ni_p$cj8fvhYMW3=VT!`GKn1^P3hTV;wmjk69dWY(V6>#)5
F{vWShvq}H}

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/todos.cpython-311.pyc b/tests/__pycache__/todos.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0369c07cb56c3d56c293f4d8e70348cbc33c60d8
GIT binary patch
literal 31688
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

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/utils.cpython-311.pyc b/tests/__pycache__/utils.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..722fd5830e2c3aa3ab7c2903a319ed97db0bfa4b
GIT binary patch
literal 17892
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

literal 0
HcmV?d00001

diff --git a/tests/__pycache__/versioned_attributes.cpython-311.pyc b/tests/__pycache__/versioned_attributes.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2e15b713e875b1326456eac2f8e06abecf708c73
GIT binary patch
literal 9550
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

literal 0
HcmV?d00001

diff --git a/tests/processes.py b/tests/processes.py
index c3b1144..8616008 100644
--- a/tests/processes.py
+++ b/tests/processes.py
@@ -22,6 +22,15 @@ class TestsSansDB(TestCaseSansDB):
             'effort': 1.0})
 
 
+class TestsSansDBProcessStep(TestCaseSansDB):
+    """Module tests not requiring DB setup."""
+    checked_class = ProcessStep
+
+    def test_ProcessStep_id_setting(self) -> None:
+        """Test .id_ being set and its legal range being enforced."""
+        self.check_id_setting(2, 3, 4)
+
+
 class TestsWithDB(TestCaseWithDB):
     """Module tests requiring DB setup."""
     checked_class = Process
diff --git a/tests/utils.py b/tests/utils.py
index ccb485a..fbe739d 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -19,11 +19,11 @@ class TestCaseSansDB(TestCase):
     """Tests requiring no DB setup."""
     checked_class: Any
 
-    def check_id_setting(self) -> None:
+    def check_id_setting(self, *args: Any) -> None:
         """Test .id_ being set and its legal range being enforced."""
         with self.assertRaises(HandledException):
-            self.checked_class(0)
-        obj = self.checked_class(5)
+            self.checked_class(0, *args)
+        obj = self.checked_class(5, *args)
         self.assertEqual(obj.id_, 5)
 
     def check_versioned_defaults(self, attrs: dict[str, Any]) -> None:
-- 
2.30.2