
    0hh|!                     @   S SK r S SKJr  S SKr\R                  r " S S5      r " S S\5      r " S S\ R                  5      r
 " S	 S
5      r " S S\\ R                  5      r " S S5      r " S S\\ R                  5      r " S S\\ R                  5      r " S S\\ R                  5      r " S S\\ R                  5      r " S S\\ R                  5      r " S S\ R                  5      r " S S\ R                  5      r\S:X  a  \ R,                  " 5         gg)    N)supportc                       \ rS rSrS rSrg)newstyle   c                     U R                   $ N)indselfs    8/opt/python-3.13.8/usr/lib/python3.13/test/test_index.py	__index__newstyle.__index__   s    xx     N__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r      s    r   r   c                       \ rS rSrS rSrg)TrapInt
   c                     [        U 5      $ r   )intr
   s    r   r   TrapInt.__index__   s    4yr   r   Nr   r   r   r   r   r   
   s    r   r   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)BaseTestCase   c                 @    [        5       U l        [        5       U l        g r   )r   onr
   s    r   setUpBaseTestCase.setUp   s    r   c                    SU R                   l        SU R                  l        U R                  [        R
                  " U R                   5      S5        U R                  [        R
                  " U R                  5      S5        g N   )r!   r	   r"   assertEqualoperatorindexr
   s    r   
test_basicBaseTestCase.test_basic   sR    

/4/3r   c                    SU R                   l        SU R                  l        [        U R                   U R                   U R                   5      n[        SSS5      nU R	                  UR                  U R                   5      UR                  S5      5        [        U R                  U R                  U R                  5      n[        SSS5      nU R	                  UR                  U R                  5      UR                  S5      5        g )N   r(   )r!   r	   r"   slicer)   indices)r   slc	check_slcs      r   
test_sliceBaseTestCase.test_slice   s    

DFFDFFDFF+!QN	TVV,i.?.?.BCDFFDFFDFF+!QN	TVV,i.?.?.BCr   c                    SU R                   l        SU R                  l        U R                  SR	                  5       S5        U R                  SR	                  5       * S5        U R                  U R                   R	                  5       S5        U R                  U R                  R	                  5       S5        U R                  SR	                  5       S5        U R                  SR	                  5       S	5        g )
N      r      iTr/   Fr   )r!   r	   r"   r)   r   r
   s    r   test_wrappersBaseTestCase.test_wrappers#   s    

+!,,."-))+Q/))+Q/)1-*A.r   c                     [        [        S5      5      nU R                  U[        S5      [        S5       USS 5        U R                  [	        [        5       5      R                  S5      S5        g )Nr   r8   r   )r   r   r/   )listranger)   r   r0   r1   )r   rs     r   test_subclassesBaseTestCase.test_subclasses-   sV    rO71:gbk2AaG<wy)11!4g>r   c                    SU R                   l        SU R                  l        U R                  [        [
        R                  U R                   5        U R                  [        [
        R                  U R                  5        U R                  [        [        U R                   5      R                  S5        U R                  [        [        U R                  5      R                  S5        g )Ndumbbadr   )	r!   r	   r"   assertRaises	TypeErrorr*   r+   r0   r1   r
   s    r   
test_errorBaseTestCase.test_error2   s    

)X^^TVV<)X^^TVV<)U466]%:%:A>)U466]%:%:A>r   c                     " S S[         5      nU" S5      nUR                  5       n[        R                  " U5      nU R	                  US5        U R	                  US5        U R                  [        U5      [         5        g )Nc                       \ rS rSrS rSrg)8BaseTestCase.test_int_subclass_with_index.<locals>.MyInt=   c                 0    [        [        U 5      5      S-   $ )Nr/   )r   strr
   s    r   r   BBaseTestCase.test_int_subclass_with_index.<locals>.MyInt.__index__>   s    3t9~))r   r   Nr   r   r   r   MyIntrK   =   s    *r   rP   r9      )r   r   r*   r+   r)   assertIstype)r   rP   my_intdirect_indexoperator_indexs        r   test_int_subclass_with_index)BaseTestCase.test_int_subclass_with_index:   sh    	*C 	* q'')!/q)+d<(#.r   c                 P    " S S5      n " S S[         5      nU" 5       nU R                  [        5         [        R                  " U5      nS S S 5        U R                  WS5        U" 5       n[        R                  " U5      nU R                  US5        g ! , (       d  f       NP= f)Nc                       \ rS rSrS rSrg)<BaseTestCase.test_index_returns_int_subclass.<locals>.BadIntK   c                     gNTr   r
   s    r   r   FBaseTestCase.test_index_returns_int_subclass.<locals>.BadInt.__index__L       r   r   Nr   r   r   r   BadIntr[   K       r   ra   c                       \ rS rSrS rSrg)=BaseTestCase.test_index_returns_int_subclass.<locals>.BadInt2O   c                     gr^   r   r
   s    r   r   GBaseTestCase.test_index_returns_int_subclass.<locals>.BadInt2.__index__P   r`   r   r   Nr   r   r   r   BadInt2rd   O   rb   r   rh   r/   r   )r   assertWarnsDeprecationWarningr*   r+   r)   )r   ra   rh   bad_intr"   s        r   test_index_returns_int_subclass,BaseTestCase.test_index_returns_int_subclassJ   s    	 		c 	 (01w'A 2A)NN7#A 21s   B
B%)r"   r!   N)r   r   r   r   r#   r,   r4   r:   r@   rG   rW   rl   r   r   r   r   r   r      s+    4D/?
?/ r   r   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)SeqTestCase]   c                 |    [        5       U l        [        5       U l        [        5       U l        [        5       U l        g r   )r   r!   r"   o2n2r
   s    r   r#   SeqTestCase.setUp`   s&    **r   c                     SU R                   l        SU R                  l        U R                  U R                  U R                     U R                  S   5        U R                  U R                  U R                      U R                  S   5        g r&   r!   r	   r"   r)   seqr
   s    r   
test_indexSeqTestCase.test_indexf   sb    

$&&)488A;7$&&)488B<8r   c                    SU R                   l        SU R                  l        SU R                  l        SU R                  l        U R                  U R                  U R                   U R                   U R                  SS 5        U R                  U R                  U R                  U R                   U R                  SS 5        g )Nr/      r(   r7   )r!   r	   rr   r"   rs   r)   rw   r
   s    r   r4   SeqTestCase.test_slicel   s    

$&&1488Aa=A$&&1488Aa=Ar   c                 >   [        U R                  5      n[        US-  5      U R                  l        US-   U R
                  l        U R                  U R                  U R                  S  U R                  SS 5        U R                  U R                  S U R                   U R                  5        U R                  U R                  U R
                  S  U R                  SS 5        U R                  U R                  S U R
                   U R                  5        U* S-
  U R                  l        [        US-  5      * U R                  l        U R                  U R                  U R                  S  U R                  5        U R                  U R                  S U R                   U R                  SS 5        U R                  U R                  U R                  S  U R                  5        U R                  U R                  S U R                   U R                  SS 5        g )Ng      ?r(   r   )	lenrw   r   r!   r	   r"   r)   rr   rs   )r   seqlens     r   test_slice_bug7532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                    SU R                   l        SU R                  l        U R                  U R                  U R                   -  U R                  S-  5        U R                  U R                  U R                  -  U R                  S-  5        U R                  U R                   U R                  -  U R                  S-  5        U R                  U R                  U R                  -  U R                  S-  5        g )Nr{   r(   rv   r
   s    r   test_repeatSeqTestCase.test_repeat   s    

DFF*DHHqL9DFF*DHHqL9$((*DHHqL9$((*DHHqL9r   c                 `   SU R                   l        SU R                  l        U R                  U R                  R                  U R                   5      U R                  S   5        U R                  U R                  R                  U R                   5      U R                  S-  5        U R                  U R                  R                  U R                   5      U R                  S-  5        U R                  U R                  R                  U R                  5      U R                  S   5        U R                  U R                  R                  U R                  5      U R                  S-  5        U R                  U R                  R                  U R                  5      U R                  S-  5        g )Nr7   r8   )r!   r	   r"   r)   rw   __getitem____mul____rmul__r
   s    r   r:   SeqTestCase.test_wrappers   s   

--dff5txx{C))$&&1488a<@**4662DHHqLA--dff5txx{C))$&&1488a<@**4662DHHqLAr   c                 l    U R                  U R                  [        5          U R                  S   5        g )Nr   )r)   rw   r   r
   s    r   r@   SeqTestCase.test_subclasses   s%    '),dhhqk:r   c                 \   SU R                   l        SU R                  l        S nU R                  [        XR                   U 5        U R                  [        XR                  U 5        S nU R                  [        X R                   U 5        U R                  [        X R                  U 5        g )NrC   rD   c                      UR                   U    $ r   rw   xobjs     r   <lambda>(SeqTestCase.test_error.<locals>.<lambda>   s    #''!*r   c                      UR                   U S  $ r   r   r   s     r   r   r      s    #''!"+r   )r!   r	   r"   rE   rF   )r   indexobjsliceobjs      r   rG   SeqTestCase.test_error   sz    

,)Xvvt<)Xvvt<-)Xvvt<)Xvvt<r   )r"   rs   r!   rr   N)r   r   r   r   r#   rx   r4   r   r   r:   r@   rG   r   r   r   r   ro   ro   ]   s,    9B<:B;=r   ro   c                   (    \ rS rSr/ SQrS rS rSrg)ListTestCase   r   r         (   2   c                    SU R                   l        SU R                  l        [        S5      nXR                   	 XR                  	 SXR                   '   SXR                  '   U R	                  U[        S5      5        / SQnUR                  U R                  S5        U R	                  U/ S	Q5        UR                  U R                  5        U R	                  U/ S
Q5        g )Nr'   r(   zab!cdefghi!jXY
abYdefghXj)r8   r   r9   rQ   	   r      here)r8   r   r   rQ   r   r   r   )r8   r   rQ   r   r   r   )r!   r	   r"   r=   r)   __setitem____delitem__)r   lsts     r   test_setdelitemListTestCase.test_setdelitem   s    

>"KKFFFFd<01%':;23r   c                 l   SU R                   l        SU R                  l        SS/nXR                   -  nU R                  U/ SQ5        XR                  -  nU R                  U/ SQS-  5        / SQnUR	                  U R                  5      nU R                  X!5        U R                  U/ SQS-  5        g )Nr(   r{   r   r7   )r   r7   r   r7   )r8   r   r9   rQ   r   r   )r!   r	   r"   r)   __imul__rR   )r   r   l2s      r   test_inplace_repeat ListTestCase.test_inplace_repeat   s    

!fvvl+vvlQ./!\\$&&!b1A56r   r   N)r   r   r   r   rw   r   r   r   r   r   r   r   r      s    
C4 7r   r   c                   <    \ rS rSrS rS rS rS rS r\r	S r
Srg	)
NewSeq   c                 $    [        U5      U l        g r   )r=   _list)r   iterables     r   __init__NewSeq.__init__   s    (^
r   c                 ,    [        U R                  5      $ r   )reprr   r
   s    r   __repr__NewSeq.__repr__   s    DJJr   c                      U R                   U:H  $ r   r   )r   others     r   __eq__NewSeq.__eq__   s    zzU""r   c                 ,    [        U R                  5      $ r   )r~   r   r
   s    r   __len__NewSeq.__len__   s    4::r   c                 >    U R                  U R                  U-  5      $ r   )	__class__r   r   r"   s     r   r   NewSeq.__mul__   s    ~~djjl++r   c                      U R                   U   $ r   r   )r   r+   s     r   r   NewSeq.__getitem__   s    zz%  r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s%    $ #,H!r   r   c                       \ rS rSrSrSrg)TupleTestCase   r   r   Nr   r   r   r   rw   r   r   r   r   r   r      s    
Cr   r   c                   $    \ rS rSr\" S5      rSrg)ByteArrayTestCase      this is a testr   N)r   r   r   r   	bytearrayrw   r   r   r   r   r   r      s    
%
&Cr   r   c                       \ rS rSrSrSrg)BytesTestCase   r   r   Nr   r   r   r   r   r      s    
Cr   r   c                       \ rS rSrSrSrg)StringTestCase   zthis is a testr   Nr   r   r   r   r   r      s    
Cr   r   c                   $    \ rS rSr\" S5      rSrg)NewSeqTestCase   r   r   N)r   r   r   r   r   rw   r   r   r   r   r   r      s    
#
$Cr   r   c                       \ rS rSrS rSrg)RangeTestCase   c                     [        5       nSUl        U R                  [        SS5      U   S5        U R                  [        SS5      R	                  U5      S5        g )Nr8   r/   r   r   )r   r	   r)   r>   r   r   s     r   
test_rangeRangeTestCase.test_range   sK    Jq"a!,q"11!4a8r   r   N)r   r   r   r   r   r   r   r   r   r   r      s    9r   r   c                   ,    \ rS rSrS rS rS rS rSrg)OverflowTestCase   c                 <    SS-  U l         U R                   * U l        g )Nr(   d   )posnegr
   s    r   r#   OverflowTestCase.setUp   s    c6HH9r   c                     U R                  U R                  R                  5       U R                  5        U R                  U R                  R                  5       U R                  5        g r   )r)   r   r   r   r
   s    r   test_large_longs!OverflowTestCase.test_large_longs   sD    ++-txx8++-txx8r   c                     " S S5      nU" 5       nU R                  X R                     U R                  5        U R                  X R                     U R                  5        U R                  X R                  U R                   R                  [        5      S[        S45        U R                  X R                  U R                  S2   R                  [        5      S[        S45        g )Nc                        \ rS rSrS rS rSrg).OverflowTestCase.test_getitem.<locals>.GetItem   c                      S5       e)Nz__len__ should not be invokedr   r
   s    r   r   6OverflowTestCase.test_getitem.<locals>.GetItem.__len__  s    ===ur   c                     U$ r   r   )r   keys     r   r   :OverflowTestCase.test_getitem.<locals>.GetItem.__getitem__  s    
r   r   N)r   r   r   r   r   r   r   r   r   r   GetItemr      s    >r   r   r   r/   )r)   r   r   r1   maxsize)r   r   r   s      r   test_getitemOverflowTestCase.test_getitem   s    	 	
 I88dhh/88dhh/88DHH-55g>Wa	*88DHHQ./77@Wa	*r   c                 n   ^  T R                  [        U 4S j5        T R                  [        U 4S j5        g )Nc                  "   > ST R                   -  $ Na)r   r
   s   r   r   7OverflowTestCase.test_sequence_repeat.<locals>.<lambda>      txxr   c                  "   > ST R                   -  $ r   )r   r
   s   r   r   r     r   r   )rE   OverflowErrorr
   s   `r   test_sequence_repeat%OverflowTestCase.test_sequence_repeat  s%    -)?@-)?@r   )r   r   N)	r   r   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   ro   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MMO r   