
    /hh$                        S SK r S SKrS SKrS SKrS SKrS SKJr   " S S5      r " S S5      r " S S5      r	 " S	 S
5      r
 " S S5      r " S S5      r " S S5      r " S S\ R                  \5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\ R                  \5      r " S S\5      r " S S \5      r " S! S"\5      r\S#:X  a  \ R4                  " 5         gg)$    N)supportc                        \ rS rSrS rS rSrg)G	   c                     Xl         g Nseqnselfr
   s     </opt/python-3.13.8/usr/lib/python3.13/test/test_enumerate.py__init__
G.__init__   s    	    c                      U R                   U   $ r   r	   r   is     r   __getitem__G.__getitem__   s    yy|r   r	   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r   	   s    r   r   c                   &    \ rS rSrS rS rS rSrg)I   c                     Xl         SU l        g Nr   r
   r   r   s     r   r   
I.__init__       	r   c                     U $ r   r   r   s    r   __iter__
I.__iter__       r   c                     U R                   [        U R                  5      :  a  [        eU R                  U R                      nU =R                   S-  sl         U$ N   r   lenr
   StopIterationr   vs     r   __next__
I.__next__   ?    66S^#=%8IIdff!r   r   r
   Nr   r   r   r   r   r&   r1   r   r   r   r   r   r      s    r   r   c                        \ rS rSrS rS rSrg)Ig   c                     Xl         SU l        g r    r!   r   s     r   r   Ig.__init__   r#   r   c              #   :   #    U R                    H  nUv   M	     g 7fr   r	   )r   vals     r   r&   Ig.__iter__"   s     99CI s   r4   Nr   r   r   r   r   r&   r   r   r   r   r7   r7      s    r   r7   c                        \ rS rSrS rS rSrg)X&   c                     Xl         SU l        g r    r!   r   s     r   r   
X.__init__(   r#   r   c                     U R                   [        U R                  5      :  a  [        eU R                  U R                      nU =R                   S-  sl         U$ r*   r,   r/   s     r   r1   
X.__next__+   r3   r   r4   N)r   r   r   r   r   r1   r   r   r   r   r@   r@   &   s    r   r@   c                   &    \ rS rSrS rS rS rSrg)E1   c                     Xl         SU l        g r    r!   r   s     r   r   
E.__init__3   r#   r   c                     U $ r   r   r%   s    r   r&   
E.__iter__6   r(   r   c                     SS-    g )N   r   r   r%   s    r   r1   
E.__next__8   s	    	Qr   r4   Nr5   r   r   r   rG   rG   1   s    r   rG   c                        \ rS rSrS rS rSrg)N;   c                     Xl         SU l        g r    r!   r   s     r   r   
N.__init__=   r#   r   c                     U $ r   r   r%   s    r   r&   
N.__iter__@   r(   r   r4   Nr>   r   r   r   rQ   rQ   ;   s    r   rQ   c                       \ rS rSrS rSrg)
PickleTestC   c                 D   [        [        R                  S-   5       H  n[        R                  " X5      n[        R                  " U5      nU R                  [        U5      [        U5      5        U R                  [        U5      U5        [        R                  " U5      n [        U5        [        R                  " XS5      n[        R                  " U5      nU R                  [        U5      USS  5        M     g ! [         a    U R                  USS  5         GM  f = fr*   )rangepickleHIGHEST_PROTOCOLdumpsloadsassertEqualtypelistnextr.   assertFalse)r   itorgseqprotodits         r   check_picklePickleTest.check_pickleE   s    622Q67EU*AaBT%[$r(3T"Xs+aBR R'AaBT"Xs12w/ 8 !   QR)s   "C<<DDr   N)r   r   r   r   rj   r   r   r   r   rX   rX   C   s    0r   rX   c                       \ rS rSr\rS/ SQsrrS rS r	S r
S rS rS	 rS
 rS rS rS r\R&                  S 5       r\R&                  S 5       rSrg)EnumerateTestCaseV   abc))r   a)r+   b)   cc                    U R                  [        U R                  U R                  5      5      U R                  5        U R                  U R                  5      nU R                  [	        U5      U5        U R                  [        U R                  U R                  5      5      U R                  5        U R                  R                    g r   )r`   ra   enumrf   iterrb   res__doc__r   es     r   test_basicfunction$EnumerateTestCase.test_basicfunction[   s    dii12DII>IIdhha!$dii12DHH=		r   c                 n    U R                  U R                  U R                  5      U R                  5        g r   )rj   ru   rf   rw   r%   s    r   test_pickleEnumerateTestCase.test_pickleb   s#    $))DHH-txx8r   c           	          U R                  [        U R                  [        U R                  5      5      5      U R
                  5        U R                  [        S5      5      nU R                  [        [        U5        g N )	r`   rb   ru   r   rf   rw   assertRaisesr.   rc   ry   s     r   test_getitemseqn"EnumerateTestCase.test_getitemseqne   P    dii$((45txx@IIae-q1r   c           	          U R                  [        U R                  [        U R                  5      5      5      U R
                  5        U R                  [        S5      5      nU R                  [        [        U5        g r   )	r`   rb   ru   r   rf   rw   r   r.   rc   ry   s     r   test_iteratorseqn#EnumerateTestCase.test_iteratorseqnj   r   r   c           	          U R                  [        U R                  [        U R                  5      5      5      U R
                  5        U R                  [        S5      5      nU R                  [        [        U5        g r   )	r`   rb   ru   r7   rf   rw   r   r.   rc   ry   s     r   test_iteratorgenerator(EnumerateTestCase.test_iteratorgeneratoro   sP    dii48856AIIbf-q1r   c                 l    U R                  [        U R                  [        U R                  5      5        g r   )r   	TypeErrorru   r@   rf   r%   s    r   test_noniterable"EnumerateTestCase.test_noniterablet        )TYY$((<r   c                 l    U R                  [        U R                  [        U R                  5      5        g r   )r   r   ru   rQ   rf   r%   s    r   test_illformediterable(EnumerateTestCase.test_illformediterablew   r   r   c           	      ~    U R                  [        [        U R                  [	        U R
                  5      5      5        g r   )r   ZeroDivisionErrorrb   ru   rG   rf   r%   s    r   test_exception_propagation,EnumerateTestCase.test_exception_propagationz   s&    +T499Qtxx[3IJr   c                    U R                  [        U R                  5        U R                  [        U R                  S5        U R                  [        U R                  SS5        U R                  [        U R                  SSS5        g )Nr+   ro   rp   rr   rN   )r   r   ru   r%   s    r   test_argumentcheck$EnumerateTestCase.test_argumentcheck}   s^    )TYY/)TYY2)TYYs;)TYYq!<r   c           
         U R                  [        U R                  [        U R                  5      S95      U R
                  5        [        U R                  [        U R                  5      S5      5      nU R                  [        U R                  [        U R                  5      SS95      U5        U R                  [        U R                  S[        U R                  5      S95      U5        U R                  [        U R                  / SS9  U R                  [        U R                  SSS9  U R                  [        U R                  SSS9  U R                  [        U R                  SS	9  g )
N)iterabler   )r   start)r   r   rN   )r   x)r   r   )r   y)r   )r`   rb   ru   r7   rf   rw   r   r   )r   expecteds     r   test_kwargsEnumerateTestCase.test_kwargs   s   diiDHHi>?J		"TXX,23diiDHHQiGH!	#diia"TXX,iGH!	#)TYYqA)TYYa1=)TYY!q9)TYY!4r   c                    U R                  [        [        [        [        [        [        U R                  5      5      5      5      5      [        U R                  5      5        U R                  [        [        [        [        [        U R                  5      5      5      5      [        S[        U R                  5      5      5        g r*   )	r`   r-   setmapidrb   	enumeraterf   minr%   s    r   test_tuple_reuse"EnumerateTestCase.test_tuple_reuse   st     	SRi.A)B!CDEs488}USR488)<!=>?Qs488}AUVr   c                     U R                  / /5      n[        R                  " 5         U R                  [        R                  " [        U5      5      5        g r   )ru   gccollect
assertTrue
is_trackedrc   )r   ri   s     r   test_enumerate_result_gc*EnumerateTestCase.test_enumerate_result_gc   s7    
 YYt_


 	d2h/0r   r   N)r   r   r   r   r   ru   rf   rw   r{   r~   r   r   r   r   r   r   r   r   r   cpython_onlyr   r   r   r   r   r   rm   rm   V   s|    D1HC92
2
2
==K=
5 W W 	1 	1r   rm   c                       \ rS rSrSrg)MyEnum   r   N)r   r   r   r   r   r   r   r   r   r      s    r   r   c                       \ rS rSr\rSrg)SubclassTestCase   r   N)r   r   r   r   r   ru   r   r   r   r   r   r      s    Dr   r   c                       \ rS rSrS/ srrSrg)	TestEmpty   r   r   N)r   r   r   r   rf   rw   r   r   r   r   r   r      s    2HCr   r   c                   R    \ rS rSr\" SSS5      r\" \" \" S5      \5      5      rSr	g)TestBig   
   i N  rr   r   N)
r   r   r   r   r[   rf   rb   ziprw   r   r   r   r   r   r      s%    
5
C
s5<%
&Cr   r   c                   ~    \ rS rSrS rS rS rS rS r\	R                  " \" \S5      S5      S	 5       rS
 rS rSrg)TestReversed   c           	      L    " S S5      nS[        S5      [        [        S5      5      U" 5       [        SSS5      [        R	                  S5      4 H6  nU R                  [        U5      S S S2   [        [        U5      5      5        M8     U R                  [        [        / SS	9  g )
Nc                        \ rS rSrS rS rSrg)#TestReversed.test_simple.<locals>.A   c                 0    US:  a  [        U5      $ [        eN   )strr.   r   s     r   r   /TestReversed.test_simple.<locals>.A.__getitem__   s    q5q6M##r   c                     gr   r   r%   s    r   __len__+TestReversed.test_simple.<locals>.A.__len__   s    r   r   N)r   r   r   r   r   r   r   r   r   r   Ar      s    $r   r   ro   r   r+      abcde)rp   )
r[   tupler   dictfromkeysr`   rb   reversedr   r   )r   r   datas      r   test_simpleTestReversed.test_simple   s    	 	 E!HeIe,<&=qs!BqM4==#9;DT$Z"-tHTN/CD; 	)XrQ7r   c                     [        S5      nU R                  [        [        U5      5      [        [	        U5      5      5        g r*   )r[   r`   ra   r   rv   )r   r   s     r   test_range_optimization$TestReversed.test_range_optimization   s,    !Hhqk*DaM:r   c                    S[        S5      [        S5      [        S5      4 Hw  nU R                  [        R
                  " [        U5      5      [        U5      5        [        U5      n[        U5        U R                  [        R
                  " U5      S5        My      " S S5      n[        U" 5       5      nU R                  [        [        R
                  U5        g )Nhellor   r   c                   $    \ rS rSrSrS rS rSrg).TestReversed.test_len.<locals>.SeqWithWeirdLen   Fc                 @    U R                   (       d  SU l         g[        e)NTr   )calledr   r%   s    r   r   6TestReversed.test_len.<locals>.SeqWithWeirdLen.__len__   s    {{"&DK''r   c                     U$ r   r   r   indexs     r   r   :TestReversed.test_len.<locals>.SeqWithWeirdLen.__getitem__       r   )r   N)r   r   r   r   r   r   r   r   r   r   r   SeqWithWeirdLenr      s    F(
r   r   )
r   rb   r[   r`   operatorlength_hintr   r-   r   r   )r   srr   s       r   test_lenTestReversed.test_len   s    5>4=%(CAX11(1+>AGAGX11!4a8	 D
	 	 _&'+X-A-A1Er   c                 H     " S S5      nU" 5       n[        U5      nX2l        g )Nc                        \ rS rSrS rS rSrg)!TestReversed.test_gc.<locals>.Seq   c                     g)Nr   r   r%   s    r   r   )TestReversed.test_gc.<locals>.Seq.__len__   s    r   c                     U$ r   r   r   s     r   r   -TestReversed.test_gc.<locals>.Seq.__getitem__   r   r   r   N)r   r   r   r   r   r   r   r   r   r   Seqr      s    r   r   )r   r   )r   r   r   r   s       r   test_gcTestReversed.test_gc   s#    	 	
 EQKr   c                 p    U R                  [        [        5        U R                  [        [        / S5        g )Nextra)r   r   r   r%   s    r   	test_argsTestReversed.test_args   s&    )X.)Xr7;r   getrefcountztest needs sys.getrefcount()c                 "   S n[        5       =o!l        [        R                  " U5      n[	        S5       H   n [        U5        U R                  S5        M"     U R                  U[        R                  " U5      5        g ! [         a     MX  f = f)Nc                      g r   r   r   r   r   f'TestReversed.test_bug1229429.<locals>.f   s    r   r   z'non-callable __reversed__ didn't raise!)	object__reversed__sysr  r[   r   failr   r`   )r   r  r   rcr   s        r   test_bug1229429TestReversed.test_bug1229429   sz    	#X%N__QrAE 		CD  	S__Q/0	  s   B  
BBc                 *    " S S[         5      nU" 5       nU R                  [        [        U5         " S S[         5      nU" 5       nU R                  [        [        U5         " S S[         5      nU" 5       nU R                  [        [        U5        g )Nc                       \ rS rSrS rSrg)+TestReversed.test_objmethods.<locals>.NoLen   c                     gr*   r   r   s     r   r   7TestReversed.test_objmethods.<locals>.NoLen.__getitem__       Qr   r   N)r   r   r   r   r   r   r   r   r   NoLenr     s    .r   r  c                       \ rS rSrS rSrg)/TestReversed.test_objmethods.<locals>.NoGetItem   c                     gNrr   r   r%   s    r   r   7TestReversed.test_objmethods.<locals>.NoGetItem.__len__       ar   r   N)r   r   r   r   r   r   r   r   r   	NoGetItemr     s    'r   r  c                   $    \ rS rSrS rS rSrSrg)-TestReversed.test_objmethods.<locals>.Blockedi  c                     gr*   r   r   s     r   r   9TestReversed.test_objmethods.<locals>.Blocked.__getitem__  r  r   c                     gr  r   r%   s    r   r   5TestReversed.test_objmethods.<locals>.Blocked.__len__  r  r   Nr   )r   r   r   r   r   r   r  r   r   r   r   Blockedr    s    .'Lr   r$  )r  r   r   r   )r   r  nlr  ngir$  rq   s          r   test_objmethodsTestReversed.test_objmethods   ss    	/F 	/W)Xr2	( 	(k)Xs3	 f 	  I)Xq1r   c                     S[        S5      [        [        S5      5      [        SSS5      4 H-  nU R                  [	        U5      [        U5      S S S2   5        M/     g )Nro   r   r+   r   r   )r[   r   r   rj   r   rb   )r   r   s     r   r~   TestReversed.test_pickle  sM    58U9U+;%<eAbmKDhtnd4j2.>? Lr   r   N)r   r   r   r   r   r   r   r   r   unittest
skipUnlesshasattrr	  r  r'  r~   r   r   r   r   r   r      sQ    8;F&< m46TU1 V1 2&@r   r   c                       \ rS rSrS rSrg)EnumerateStartTestCasei  c                     U R                  U R                  5      nU R                  [        U5      U5        U R                  [	        U R                  U R                  5      5      U R
                  5        g r   )ru   rf   r`   rv   rb   rw   ry   s     r   r{   )EnumerateStartTestCase.test_basicfunction  sN    IIdhha!$dii12DHH=r   r   N)r   r   r   r   r{   r   r   r   r   r/  r/    s    >r   r/  c                   ,    \ rS rSrSS jrS/ SQsrrSrg)	TestStarti  c                     [        XS9$ N)r   r   r   r   r   s      r   ru   TestStart.enum      //r   ro   ))   rp   )   rq   )   rs   r   N)r:  )r   r   r   r   ru   rf   rw   r   r   r   r   r3  r3    s    0 7HCr   r3  c                       \ rS rSr\R
                  S-   4S jrS\R
                  S-   S4\R
                  S-   S4\R
                  S-   S	4/srrS
r	g)TestLongStarti  r+   c                     [        XS9$ r5  r6  r7  s      r   ru   TestLongStart.enum   r9  r   ro   rp   rr   rq   rN   rs   r   N)
r   r   r   r   r	  maxsizeru   rf   rw   r   r   r   r   r>  r>    sP    #&;;? 0 Ac*S[[]3,?Ac*,HCr   r>  __main__)r+  r   r	  r\   r   testr   r   r   r7   r@   rG   rQ   rX   TestCaserm   r   r   r   r   r   r   r/  r3  r>  r   mainr   r   r   <module>rF     s      
  	    	 	  0 0&J1)): J1X	Y 	( ! ' '
[@8$$j [@|>. >8& 8,* , zMMO r   