
    _j                         S r SSKrSSKrSSKrSSKJr  SSKJrJr  SSKJr  \R                  r
 " S S\R                  5      r " S S	\5      r\S
:X  a  \R                  " 5         gg)z3
All related DST croniter tests are isolated here.
    N)datetime)cron_mcroniter)basec                   >    \ rS rSrSrSrS rS rS rS r	SS jr
S	rg
)CroniterDST138Test   z4
See https://github.com/kiorky/croniter/issues/138.
UTCc           	      d   [         R                  R                  SS5      U l        [	        SSSSS5      U l        [        SU R
                  5      U l        [	        SSSSS	5      [	        SSSSS
5      [	        SSSSS5      /U l        [        R                  [        R                  sU l
        U l        g )NTZ i           .   z*/5 * * * *2   7      r   )osenviron
setdefault_timer   r   r   iterresultstimetznametimezoneselfs    `/home/rurouni/.local/lib/python3.13/site-packages/croniter/tests/test_croniter_dst_repetition.pysetUpCroniterDST138Test.setUp   s    ZZ**44
T1b!R0	]DII6	T1b!R(T1b!R(T1b!Q'

 &*[[$--"T]    c                     [         [        l        U R                  (       d  [        R
                  S	 OU R                  [        R
                  S'   [        R                  " 5         g )Nr   )ORIG_OVERFLOW32B_MODEr   OVERFLOW32B_MODEr   r   r   r   tzsetr   s    r    tearDownCroniterDST138Test.tearDown$   s8    "7zz

4 #zzBJJt

r#   c                 "    U R                  SS9  g)z"
test local tz, forcing 32b mode.
Tm32bN_testr   s    r    test_issue_138_dt_to_ts_32b.CroniterDST138Test.test_issue_138_dt_to_ts_32b,   s     	


r#   c                 "    U R                  SS9  g)z&
test local tz, forcing non 32b mode.
Fr+   Nr-   r   s    r    test_issue_138_dt_to_ts_n,CroniterDST138Test.test_issue_138_dt_to_ts_n2   s     	


r#   c                    U[         l        U[        R                  S'   [        R
                  " 5         [        S5       Vs/ s H!  o0R                  R                  [        5      PM#     nnU R                  X@R                  5        g s  snf )Nr      )r   r&   r   r   r   r'   ranger   get_nextr   assertEqualr   )r   tzr,   iress        r    r.   CroniterDST138Test._test8   s]    "&

4

5:1X>Xyy!!(+X>ll+ ?s   (B)r   r   r   r   r   r   N)r
   T)__name__
__module____qualname____firstlineno____doc___tzr!   r(   r/   r2   r.   __static_attributes__ r#   r    r   r      s(     C	@,r#   r   c                       \ rS rSrSrSrg)CroniterDST138TestLocal@   zUTC-8rD   N)r=   r>   r?   r@   rB   rC   rD   r#   r    rF   rF   @   s    
Cr#   rF   __main__)rA   r   r   unittestr   r   r   croniter.testsr   r&   r%   TestCaser   rF   r=   mainrD   r#   r    <module>rM      s`   
 
    % // +, +,\0  zMMO r#   