
    daf|!                     >   d dl Z d dlmZ d dlZej                  Z G d d      Z G d de      Z G d de j                        Z
 G d	 d
      Z G d dee j                        Z G d d      Z G d dee j                        Z G d dee j                        Z G d dee j                        Z G d dee j                        Z G d dee j                        Z G d de j                        Z G d de j                        Zedk(  r e j,                          yy)    N)supportc                       e Zd Zd Zy)newstylec                     | j                   S N)indselfs    */root/Python-3.12.4/Lib/test/test_index.py	__index__znewstyle.__index__   s    xx    N__name__
__module____qualname__r    r   r   r   r      s    r   r   c                       e Zd Zd Zy)TrapIntc                     t        |       S r   )intr	   s    r   r   zTrapInt.__index__   s    4yr   Nr   r   r   r   r   r   
   s    r   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
BaseTestCasec                 @    t               | _        t               | _        y r   )r   onr	   s    r   setUpzBaseTestCase.setUp   s    r   c                    d| j                   _        d| j                  _        | j                  t	        j
                  | j                         d       | j                  t	        j
                  | j                        d       y N   )r   r   r   assertEqualoperatorindexr	   s    r   
test_basiczBaseTestCase.test_basic   sR    

/4/3r   c                    d| j                   _        d| j                  _        t        | j                   | j                   | j                         }t        ddd      }| j	                  |j                  | j                         |j                  d             t        | j                  | j                  | j                        }t        ddd      }| j	                  |j                  | j                        |j                  d             y )N   r    )r   r   r   slicer!   indices)r
   slc	check_slcs      r   
test_slicezBaseTestCase.test_slice   s    

DFFDFFDFF+!QN	TVV,i.?.?.BCDFFDFFDFF+!QN	TVV,i.?.?.BCr   c                    d| j                   _        d| j                  _        | j                  dj	                         d       | j                  dj	                          d       | j                  | j                   j	                         d       | j                  | j                  j	                         d       | j                  dj	                         d       | j                  dj	                         d	       y )
N            iTr&   Fr   )r   r   r   r!   r   r	   s    r   test_wrapperszBaseTestCase.test_wrappers#   s    

+!,,."-))+Q/))+Q/)1-*A.r   c                     t        t        d            }| j                  |t        d      t        d       |dd        | j                  t	        t                     j                  d      d       y )N
   r.   r   )r   r   r&   )listranger!   r   r'   r(   )r
   rs     r   test_subclasseszBaseTestCase.test_subclasses-   sV    rO71:gbk2AaG<wy)11!4g>r   c                    d| j                   _        d| j                  _        | j                  t        t
        j                  | j                          | j                  t        t
        j                  | j                         | j                  t        t        | j                         j                  d       | j                  t        t        | j                        j                  d       y )Ndumbbadr   )	r   r   r   assertRaises	TypeErrorr"   r#   r'   r(   r	   s    r   
test_errorzBaseTestCase.test_error2   s    

)X^^TVV<)X^^TVV<)U466]%:%:A>)U466]%:%:A>r   c                     G d dt               } |d      }|j                         }t        j                  |      }| j	                  |d       | j	                  |d       | j                  t        |      t                y )Nc                       e Zd Zd Zy)8BaseTestCase.test_int_subclass_with_index.<locals>.MyIntc                 0    t        t        |             dz   S )Nr&   )r   strr	   s    r   r   zBBaseTestCase.test_int_subclass_with_index.<locals>.MyInt.__index__>   s    3t9~))r   Nr   r   r   r   MyIntr@   =   s    *r   rC   r0      )r   r   r"   r#   r!   assertIstype)r
   rC   my_intdirect_indexoperator_indexs        r   test_int_subclass_with_indexz)BaseTestCase.test_int_subclass_with_index:   sh    	*C 	* q'')!/q)+d<(#.r   c                 B    G d d      } G d dt               } |       }| j                  t              5  t        j                  |      }d d d        | j                  d        |       }t        j                  |      }| j                  |d       y # 1 sw Y   JxY w)Nc                       e Zd Zd Zy)<BaseTestCase.test_index_returns_int_subclass.<locals>.BadIntc                      yNTr   r	   s    r   r   zFBaseTestCase.test_index_returns_int_subclass.<locals>.BadInt.__index__L       r   Nr   r   r   r   BadIntrM   K       r   rQ   c                       e Zd Zd Zy)=BaseTestCase.test_index_returns_int_subclass.<locals>.BadInt2c                      yrO   r   r	   s    r   r   zGBaseTestCase.test_index_returns_int_subclass.<locals>.BadInt2.__index__P   rP   r   Nr   r   r   r   BadInt2rT   O   rR   r   rV   r&   r   )r   assertWarnsDeprecationWarningr"   r#   r!   )r
   rQ   rV   bad_intr   s        r   test_index_returns_int_subclassz,BaseTestCase.test_index_returns_int_subclassJ   s    	 		c 	 (01 	(w'A	(A)NN7#A	( 	(s   BBN)r   r   r   r   r$   r+   r1   r7   r=   rJ   rZ   r   r   r   r   r      s+    4D/?
?/ r   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
SeqTestCasec                 |    t               | _        t               | _        t               | _        t               | _        y r   )r   r   r   o2n2r	   s    r   r   zSeqTestCase.setUp`   s&    **r   c                     d| j                   _        d| j                  _        | j                  | j                  | j                     | j                  d          | j                  | j                  | j                      | j                  d          y r   r   r   r   r!   seqr	   s    r   
test_indexzSeqTestCase.test_indexf   sb    

$&&)488A;7$&&)488B<8r   c                    d| j                   _        d| j                  _        d| j                  _        d| j                  _        | j                  | j                  | j                   | j                   | j                  dd        | j                  | j                  | j                  | j                   | j                  dd        y )Nr&      r    r-   )r   r   r^   r   r_   r!   rb   r	   s    r   r+   zSeqTestCase.test_slicel   s    

$&&1488Aa=A$&&1488Aa=Ar   c                 >   t        | j                        }t        |dz        | j                  _        |dz   | j
                  _        | j                  | j                  | j                  d  | j                  dd        | j                  | j                  d | j                   | j                         | j                  | j                  | j
                  d  | j                  dd        | j                  | j                  d | j
                   | j                         | dz
  | j                  _        t        |dz         | j                  _        | j                  | j                  | j                  d  | j                         | j                  | j                  d | j                   | j                  dd        | j                  | j                  | j                  d  | j                         | j                  | j                  d | j                   | j                  dd        y )Ng      ?r    r   )	lenrb   r   r   r   r   r!   r^   r_   )r
   seqlens     r   test_slice_bug7532zSeqTestCase.test_slice_bug7532t   s   TXX#&
aZ
$&&'*DHHQqM:'466*DHH5$&&'*DHHQqM:'466*DHH5gk6C<(($''(+TXX6(477+TXXa];$''(+TXX6(477+TXXa];r   c                    d| j                   _        d| j                  _        | j                  | j                  | j                   z  | j                  dz         | j                  | j                  | j                  z  | j                  dz         | j                  | j                   | j                  z  | j                  dz         | j                  | j                  | j                  z  | j                  dz         y )Nre   r    ra   r	   s    r   test_repeatzSeqTestCase.test_repeat   s    

DFF*DHHqL9DFF*DHHqL9$((*DHHqL9$((*DHHqL9r   c                 `   d| j                   _        d| j                  _        | j                  | j                  j                  | j                         | j                  d          | j                  | j                  j                  | j                         | j                  dz         | j                  | j                  j                  | j                         | j                  dz         | j                  | j                  j                  | j                        | j                  d          | j                  | j                  j                  | j                        | j                  dz         | j                  | j                  j                  | j                        | j                  dz         y )Nr-   r.   )r   r   r   r!   rb   __getitem____mul____rmul__r	   s    r   r1   zSeqTestCase.test_wrappers   s   

--dff5txx{C))$&&1488a<@**4662DHHqLA--dff5txx{C))$&&1488a<@**4662DHHqLAr   c                 l    | j                  | j                  t                  | j                  d          y )Nr   )r!   rb   r   r	   s    r   r7   zSeqTestCase.test_subclasses   s%    '),dhhqk:r   c                 d   d| j                   _        d| j                  _        d }| j                  t        || j                   |        | j                  t        || j                  |        d }| j                  t        || j                   |        | j                  t        || j                  |        y )Nr9   r:   c                      |j                   |    S r   rb   xobjs     r   <lambda>z(SeqTestCase.test_error.<locals>.<lambda>   s    #''!* r   c                      |j                   | d  S r   rs   rt   s     r   rw   z(SeqTestCase.test_error.<locals>.<lambda>   s    #''!"+ r   )r   r   r   r;   r<   )r
   indexobjsliceobjs      r   r=   zSeqTestCase.test_error   s    

,)Xtvvt<)Xtvvt<-)Xtvvt<)Xtvvt<r   N)r   r   r   r   rc   r+   ri   rk   r1   r7   r=   r   r   r   r\   r\   ]   s,    9B<:B;=r   r\   c                        e Zd Zg dZd Zd Zy)ListTestCaser   r3         (   2   c                    d| j                   _        d| j                  _        t        d      }|| j                   = || j                  = d|| j                   <   d|| j                  <   | j	                  |t        d             g d}|j                  | j                  d       | j	                  |g d	       |j                  | j                         | j	                  |g d
       y )Nr   r    zab!cdefghi!jXY
abYdefghXj)r.   r/   r0   rD   	   r3      here)r.   r/   r   rD   r   r3   r   )r.   r/   rD   r   r3   r   )r   r   r   r4   r!   __setitem____delitem__)r
   lsts     r   test_setdelitemzListTestCase.test_setdelitem   s    

>"KKDFFDFFd<01%':;23r   c                 r   d| j                   _        d| j                  _        ddg}|| j                   z  }| j                  |g d       || j                  z  }| j                  |g ddz         g d}|j	                  | j                        }| j                  ||       | j                  |g ddz         y )Nr    re   r/   r-   )r/   r-   r/   r-   )r.   r/   r0   rD   r   r   )r   r   r   r!   __imul__rE   )r
   r   l2s      r   test_inplace_repeatz ListTestCase.test_inplace_repeat   s    

!ftvvl+tvvlQ./!\\$&&!b#1A56r   N)r   r   r   rb   r   r   r   r   r   r|   r|      s    
C4 7r   r|   c                   4    e Zd Zd Zd Zd Zd Zd ZeZd Z	y)NewSeqc                 $    t        |      | _        y r   )r4   _list)r
   iterables     r   __init__zNewSeq.__init__   s    (^
r   c                 ,    t        | j                        S r   )reprr   r	   s    r   __repr__zNewSeq.__repr__   s    DJJr   c                      | j                   |k(  S r   r   )r
   others     r   __eq__zNewSeq.__eq__   s    zzU""r   c                 ,    t        | j                        S r   )rg   r   r	   s    r   __len__zNewSeq.__len__   s    4::r   c                 >    | j                  | j                  |z        S r   )	__class__r   r
   r   s     r   rn   zNewSeq.__mul__   s    ~~djjl++r   c                      | j                   |   S r   r   )r
   r#   s     r   rm   zNewSeq.__getitem__   s    zz%  r   N)
r   r   r   r   r   r   r   rn   ro   rm   r   r   r   r   r      s%    $ #,H!r   r   c                       e Zd ZdZy)TupleTestCaser}   Nr   r   r   rb   r   r   r   r   r      s    
Cr   r   c                       e Zd Z ed      Zy)ByteArrayTestCase   this is a testN)r   r   r   	bytearrayrb   r   r   r   r   r      s    
%
&Cr   r   c                       e Zd ZdZy)BytesTestCaser   Nr   r   r   r   r   r      s    
Cr   r   c                       e Zd ZdZy)StringTestCasezthis is a testNr   r   r   r   r   r      s    
Cr   r   c                       e Zd Z ed      Zy)NewSeqTestCaser}   N)r   r   r   r   rb   r   r   r   r   r      s    
#
$Cr   r   c                       e Zd Zd Zy)RangeTestCasec                     t               }d|_        | j                  t        dd      |   d       | j                  t        dd      j	                  |      d       y )Nr.   r&   r~   r/   )r   r   r!   r5   rm   r   s     r   
test_rangezRangeTestCase.test_range   sK    Jq"a!,q"11!4a8r   N)r   r   r   r   r   r   r   r   r      s    9r   r   c                   $    e Zd Zd Zd Zd Zd Zy)OverflowTestCasec                 <    ddz  | _         | j                    | _        y )Nr    d   )posnegr	   s    r   r   zOverflowTestCase.setUp   s    c6HH9r   c                     | j                  | j                  j                         | j                         | j                  | j                  j                         | j                         y r   )r!   r   r   r   r	   s    r   test_large_longsz!OverflowTestCase.test_large_longs   sD    ++-txx8++-txx8r   c                     G d d      } |       }| j                  || j                     | j                         | j                  || j                     | j                         | j                  || j                  | j                   j                  t              dt        df       | j                  || j                  | j                  d   j                  t              dt        df       y )Nc                       e Zd Zd Zd Zy).OverflowTestCase.test_getitem.<locals>.GetItemc                     J d       )Nz__len__ should not be invokedr   r	   s    r   r   z6OverflowTestCase.test_getitem.<locals>.GetItem.__len__  s    ===ur   c                     |S r   r   )r
   keys     r   rm   z:OverflowTestCase.test_getitem.<locals>.GetItem.__getitem__  s    
r   N)r   r   r   r   rm   r   r   r   GetItemr      s    >r   r   r   r&   )r!   r   r   r(   maxsize)r
   r   ru   s      r   test_getitemzOverflowTestCase.test_getitem   s    	 	
 I488dhh/488dhh/488DHH-55g>Wa	*488DHHQ./77@Wa	*r   c                 j      j                  t         fd        j                  t         fd       y )Nc                  "    d j                   z  S Na)r   r	   s   r   rw   z7OverflowTestCase.test_sequence_repeat.<locals>.<lambda>      txx r   c                  "    d j                   z  S r   )r   r	   s   r   rw   z7OverflowTestCase.test_sequence_repeat.<locals>.<lambda>  r   r   )r;   OverflowErrorr	   s   `r   test_sequence_repeatz%OverflowTestCase.test_sequence_repeat  s%    -)?@-)?@r   N)r   r   r   r   r   r   r   r   r   r   r   r      s    9*Ar   r   __main__)unittesttestr   r"   MAX_Py_ssize_tr   r   r   r   TestCaser   r\   r|   r   r   r   r   r   r   r   r   r   mainr   r   r   <module>r      s     

 
  c L8$$ L^C= C=L7; 1 1 7D! !,K!2!2 'X%6%6 'K!2!2 [("3"3 %[("3"3 %
9H%% 9Ax(( A: zHMMO r   