
    z%ibh                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlZdZ	 G d d      Z
 G d d      Z G d	 d
      Z G d d      Zd Z G d de j                        Zedk(  r e j$                          yy)    N)OrderedDict)support)import_helperc                   d    e Zd Zed        Zej
                  d        Zej                  d        Zy)
TestObjectc                     t        d      )Nzdo not get evilRuntimeErrorselfs    P/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/test_capi/test_abstract.pyevilzTestObject.evil       ,--    c                     t        d      )Nzdo not set evilr	   )r   values     r   r   zTestObject.evil   r   r   c                     t        d      )Nzdo not del evilr	   r   s    r   r   zTestObject.evil   r   r   N)__name__
__module____qualname__propertyr   setterdeleter r   r   r   r      s@    . .	[[. .	\\. .r   r   c                       e Zd Zd Zd Zy)ProxyGetItemc                     || _         y Nobjr   r    s     r   __init__zProxyGetItem.__init__   	    r   c                      | j                   |   S r   r   r   keys     r   __getitem__zProxyGetItem.__getitem__   s    xx}r   N)r   r   r   r"   r'   r   r   r   r   r      s    r   r   c                       e Zd Zd Zd Zy)ProxySetItemc                     || _         y r   r   r!   s     r   r"   zProxySetItem.__init__   r#   r   c                 "    || j                   |<   y r   r   )r   r&   r   s      r   __setitem__zProxySetItem.__setitem__   s    r   N)r   r   r   r"   r,   r   r   r   r)   r)      s    r   r)   c                       e Zd Zd Zd Zy)ProxyDelItemc                     || _         y r   r   r!   s     r   r"   zProxyDelItem.__init__#   r#   r   c                     | j                   |= y r   r   r%   s     r   __delitem__zProxyDelItem.__delitem__%   s    HHSMr   N)r   r   r   r"   r1   r   r   r   r.   r.   "   s    r   r.   c               #   $   K   d d d y w)Nabcr   r   r   r   genr6   (   s     
I
I
Is   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&y%)&CAPITestc                 T   t         j                  }t               }d|_        t	        |dd       | j                   ||d      d       | j                  t        ||d       | j                   ||d      d       | j                  t        ||d       | j                  t        ||d       y )N      🐍   r3   r4   r      )
	_testcapiobject_getattrr   r3   setattrassertEqualassertRaisesAttributeErrorr
   	TypeError)r   xgetattrr    s      r   test_object_getattrzCAPITest.test_object_getattr0   s    ++l\2&#s+R0.(C=#|4b9,#v>)XsA6r   c                 p   t         j                  }t               }d|_        t	        |dd       | j                   ||d      d       | j                  t        ||d       | j                   ||dj                               d       | j                  t        ||d       | j                  t        ||d       y )Nr:   r;   r<      a   b   evil   )r>   object_getattrstringr   r3   r@   rA   rB   rC   encoder
   UnicodeDecodeError)r   getattrstringr    s      r   test_object_getattrstringz"CAPITest.test_object_getattrstring>   s    !66l\2&sD126.-dCsL,?,?,ABBG,sGD,mS'Jr   c                 P   t         j                  }t               }d|_        t	        |dd       | j                   ||d             | j                   ||d             | j                   ||d             | j                   ||d             | j                   ||d             y )Nr=   r;      r3   r4   r   )r>   object_hasattrr   r3   r@   
assertTrueassertFalse)r   xhasattrr    s      r   test_object_hasattrzCAPITest.test_object_hasattrL   s    ++l\1%c*+#s+,l34#v./#q)*r   c                 l   t         j                  }t               }d|_        t	        |dd       | j                   ||d             | j                   ||d             | j                   ||dj                                      | j                   ||d             | j                   ||d             y )Nr=   r;   rR   rH   rI   rJ   rK   )r>   object_hasattrstringr   r3   r@   rT   rU   rM   )r   hasattrstringr    s      r   test_object_hasattrstringz"CAPITest.test_object_hasattrstringZ   s    !66l\1%c401sD12c<+>+>+@ABsG45sG45r   c                 ,   t         j                  }t               } ||dd       | j                  |j                  d        ||dd       | j                  t        |d      d        ||dt               | j                  t        |d             | j                  t        ||dt               | j                  t        ||dt               | j                  t        ||dd       | j                  t        |ddd       | j                  t        ||d	d       y )
Nr3      r;      r4   r   good*   r=   )r>   object_setattrr   rA   r3   getattrNULLrU   hasattrrB   rC   r
   rD   )r   xsetattrr    s      r   test_object_setattrzCAPITest.test_object_setattrh   s    ++lc1"lA&l3Q7 	c4 c*+.(CdC,#vtD,#vvF.(BQ?)XsAq9r   c                 z   t         j                  }t               } ||dd       | j                  |j                  d        ||dj                         d       | j                  t        |d      d        ||dt               | j                  t        |d             | j                  t        ||dt               | j                  t        ||dt               | j                  t        ||dd       | j                  t        |d	dd       | j                  t        ||d
d       | j                  t        ||dd       y )NrH   r]   r;   r^   r3   rI   rJ   r_   r`   r=   rK   )r>   object_setattrstringr   rA   r3   rM   rb   rc   rU   rd   rB   rC   r
   rD   rN   )r   setattrstringr    s      r   test_object_setattrstringz"CAPITest.test_object_setattrstring|   s   !66lc4#"c<..0!4l3Q7 	c4&c*+.-dDI,sGTJ,sGVL.-T1E)]CA>,mS'1Mr   c                    t         j                  }t               }d|_        t	        |dd        ||d       | j                  t        |d             | j                  t        ||d        ||d       | j                  t        |d             | j                  t        |dd       | j                  t        ||d       | j                  t        ||d       y )	Nr=   r;   rR   r3   r4   r`   	numeratorr   )r>   object_delattrr   r3   r@   rU   rd   rB   rC   r
   rD   )r   xdelattrr    s      r   test_object_delattrzCAPITest.test_object_delattr   s    ++l\1%cc*+.(C=l#l34.(BD,#v>)XsA6r   c                    t         j                  }t               }d|_        t	        |dd        ||d       | j                  t        |d             | j                  t        ||d        ||dj                                | j                  t        |d             | j                  t        |dd       | j                  t        ||d	       | j                  t        ||d
       y )Nr=   r;   rR   rH   r3   rI   r`   s	   numeratorrJ   rK   )r>   object_delattrstringr   r3   r@   rU   rd   rB   rC   rM   r
   rN   )r   delattrstringr    s      r   test_object_delattrstringz"CAPITest.test_object_delattrstring   s    !66l\1%c4 c*+.-dCc<..01l34.-\J,sGD,mS'Jr   c                    t         j                  }| j                   |ddi             | j                   |ddg             | j                   |d             | j                   |d             | j                   |d             | j                   |d             | j                   |t	                            | j                   |t
                     y Nr=   rR   r=   rR   abc   abcr`   )r>   mapping_checkrT   rU   objectrc   r   checks     r   test_mapping_checkzCAPITest.test_mapping_check   s    ''q!f&q!f&f&e%f&r#vx)t%r   c                    t         j                  t         j                  fD ]  }| j                   |ddi      d       | j                   |ddg      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j	                  t
        |d       | j	                  t
        |t                      | j	                  t        |t                y Nr=   rR   rv   rw      rx   r`   )	r>   mapping_sizemapping_lengthrA   rB   rD   rz   SystemErrorrc   r   sizes     r   test_mapping_sizezCAPITest.test_mapping_size   s    **I,D,DD 		7DT1a&\1-T1a&\1-T&\1-T%[!,T&\1-ir2ivx8k46		7r   c                    t         j                  }ddd}| j                   ||d      d       | j                  t        ||d       | j                   ||d      d       t        |      }| j                   ||d      d       | j                  t        ||d       | j                   |g dd      d       | j                  t        |dd       | j                  t        |i g        | j                  t        |i t               | j                  t        |g d       | j                  t        |g d       | j                  t        |t        d       y 	Nr=   rR   r3   r;   r3   r4   r;   r3   r4   r5   r`   )
r>   object_getitemrA   rB   KeyErrorr   rD   r   rc   
IndexError)r   getitemdctdct2s       r   test_object_getitemzCAPITest.test_object_getitem   s   **Q'c*A.(GS#6l3Q7C s+Q/(GT37!4c:)Wb#6)Wb"5+wD9*gr15)Wb#6+wc:r   c                 V   t         j                  }ddd}| j                   ||d      d       | j                  t        ||d       | j                   ||dj                               d       t        |      }| j                   ||d      d       | j                  t        ||d       | j                  t        |dd       | j                  t        |i d       | j                  t        |i t               | j                  t        |g d       | j                  t        |t        d       y 	Nr=   rR   r   rH   rI   r;   r`   rK   )r>   mapping_getitemstringrA   rB   r   rM   r   rD   rN   r   rc   )r   getitemstringr   r   s       r   test_mapping_getitemstringz#CAPITest.test_mapping_getitemstring   s    !77Q'sD115(M3=sL,?,?,ABAFC tT2A6(M4>)]B=,mRI+}b$?)]B=+}dDAr   c                    t         j                  }ddd}| j                   ||d             | j                   ||d             | j                   ||d             t	        |      }| j                   ||d             | j                   ||d             | j                   |g dd             | j                   |dd             | j                   |i g              | j                   |i t
                     | j                   |g d             | j                   |g d             | j                   |t
        d             y r   )r>   mapping_haskeyrT   rU   r   rc   )r   haskeyr   r   s       r   test_mapping_haskeyzCAPITest.test_mapping_haskey   s   ))Q'sC()S)*sL12C tS)*c*+23C)B(D)*A'C)c*+r   c                 P   t         j                  }ddd}| j                   ||d             | j                   ||d             | j                   ||dj	                                      t        |      }| j                   ||d             | j                   ||d             | j                   |dd             | j                   |i d             | j                   |i t                     | j                   |g d             | j                   |t        d             y r   )r>   mapping_haskeystringrT   rU   rM   r   rc   )r   haskeystringr   r   s       r   test_mapping_haskeystringz"CAPITest.test_mapping_haskeystring  s     55Q'S$/0c401S,*=*=*?@AC T401dD12b$/0b'23b$/0b$/0dD12r   c                    t         j                  }i } ||dd       | j                  |ddi        ||dd       | j                  |ddd       i }t        |      } ||dd       | j                  |ddi       g d} ||dd       | j                  |g d	       | j	                  t
        |d
dd       | j	                  t
        |i g d       | j	                  t        |i t        d       | j	                  t        |i dt               | j	                  t        |g dd       | j	                  t
        |g dd       | j	                  t
        |ddd       | j	                  t        |t        dd       y )Nr3   r]   r;   r^   r   r   r=   xr3   r   r5   r`   r   )	r>   object_setitemrA   r)   rB   rD   r   rc   r   )r   setitemr   r   lsts        r   test_object_setitemzCAPITest.test_object_setitem  sS   **S!sAh'\1%AQ78C c1sAh'Qo.)Wb#q9)Wb"a8+wD!<+wC>*gr1a8)Wb#q9)Wb!Q7+wc1=r   c                 X   t         j                  }i } ||dd       | j                  |ddi        ||dj                         d       | j                  |ddd       i }t	        |      } ||dd       | j                  |ddi       | j                  t        |ddd       | j                  t        |i dd       | j                  t        |i t        d       | j                  t        |i dt               | j                  t        |g dd       | j                  t        |t        dd       y )	NrH   r]   r3   r;   r^   r   r`   rK   )
r>   mapping_setitemstringrA   rM   r)   rB   rD   rN   r   rc   )r   setitemstringr   r   s       r   test_mapping_setitemstringz#CAPITest.test_mapping_setitemstring/  s   !77c4#sAh'c<..0!4AQ78C dD!$sAh')]Ba@,mR!L+}b$B+}b$E)]Ba@+}dD!Dr   c                     t         j                  t         j                  fD ]Z  }dddd} ||d       | j                  |ddd       | j	                  t
        ||d        ||d       | j                  |d	di       ddd
}t        |      } ||d       | j                  |d	di       | j	                  t
        ||d       g d} ||d       | j                  |dd	g       | j	                  t        |dd       | j	                  t        |i g        | j	                  t        |i t               | j	                  t        |g d       | j	                  t        |g d       | j	                  t        |t        d       ] y )Nr=   rR   r   r3   r5   r;   r3   r5   r;   r4   r;   r5   r3   r5   r   r`   )r>   object_delitemmapping_delitemrA   rB   r   r.   rD   r   rc   r   )r   delitemr   r   r   s        r   test_object_delitemzCAPITest.test_object_delitemC  s_    //1J1JJ 	?G3CCS";<hc:C&S3(+"C$DD#S3(+hs;!CCOS3*-i"c:i"b9k7B=j'2q9i"c:k7D#>/	?r   c                 |   t         j                  }dddd} ||d       | j                  |ddd       | j                  t        ||d        ||dj                                | j                  |d	di       ddd
}t        |      } ||d       | j                  |d	di       | j                  t        ||d       | j                  t        |dd       | j                  t        |i d       | j                  t        |i t               | j                  t        |g d       | j                  t        |t        d       y )Nr=   rR   r   r   rH   r   rI   r;   r5   r   r`   rK   )r>   mapping_delitemstringrA   rB   r   rM   r.   rD   rN   r   rc   )r   delitemstringr   r   s       r   test_mapping_delitemstringz#CAPITest.test_mapping_delitemstring]  s   !77AQ/c4 AQ78(M3=c<..01sAh'AC dD!sAh'(M4>)]B=,mRI+}b$?)]B=+}dDAr   c           
           G d dt               } G d dt               }dddd}i t                |        |       |t        |       ||       ||      fD ]  }| j                  t        j                  |      t        |j                                      | j                  t        j                  |      t        |j                                      | j                  t        j                  |      t        |j                                       y )	Nc                   2     e Zd Z fdZ fdZ fdZ xZS )8CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping1c                 2    t        t        | 	               S r   )listsuperkeysr   	__class__s    r   r   z=CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping1.keyst  s    EGLN++r   c                 2    t        t        | 	               S r   )r   r   valuesr   s    r   r   z?CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping1.valuesv  s    EGN,--r   c                 2    t        t        | 	               S r   )r   r   itemsr   s    r   r   z>CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping1.itemsx  s    EGMO,,r   r   r   r   r   r   r   __classcell__r   s   @r   Mapping1r   s  s    ,.- -r   r   c                   2     e Zd Z fdZ fdZ fdZ xZS )8CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping2c                 2    t        t        | 	               S r   )tupler   r   r   s    r   r   z=CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping2.keys{  s    UW\^,,r   c                 2    t        t        | 	               S r   )r   r   r   r   s    r   r   z?CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping2.values}  s    UW^-..r   c                 2    t        t        | 	               S r   )r   r   r   r   s    r   r   z>CAPITest.test_mapping_keys_valuesitems.<locals>.Mapping2.items  s    UW]_--r   r   r   s   @r   Mapping2r   z  s    -/. .r   r   r=   rR   r   )foobarspam)dictr   assertListEqualr>   mapping_keysr   r   mapping_valuesr   mapping_itemsr   )r   r   r   dict_objmappings        r   test_mapping_keys_valuesitemsz&CAPITest.test_mapping_keys_valuesitemsr  s    	-t 	-	.t 	. Q2KM8:xz +h"7 *HX,>@ 	8G   !7!7!@!%glln!57  !9!9'!B!%gnn&6!79  !8!8!A!%gmmo!68	8r   c                    | j                  t        t        j                  t	                      | j                  t        t        j
                  t	                      | j                  t        t        j                  t	                      | j                  t        t        j                  g        | j                  t        t        j
                  g        | j                  t        t        j                  g        | j                  t        t        j                  t               | j                  t        t        j
                  t               | j                  t        t        j                  t                G d d      } |       }| j                  t        t        j                  |       | j                  t        t        j
                  |       | j                  t        t        j                  |       y )Nc                       e Zd Zd Zd Zd Zy)BCAPITest.test_mapping_keys_valuesitems_bad_arg.<locals>.BadMappingc                      y r   r   r   s    r   r   zGCAPITest.test_mapping_keys_valuesitems_bad_arg.<locals>.BadMapping.keys      r   c                      y r   r   r   s    r   r   zICAPITest.test_mapping_keys_valuesitems_bad_arg.<locals>.BadMapping.values  r   r   c                      y r   r   r   s    r   r   zHCAPITest.test_mapping_keys_valuesitems_bad_arg.<locals>.BadMapping.items  r   r   N)r   r   r   r   r   r   r   r   r   
BadMappingr     s    r   r   )
rB   rC   r>   r   rz   r   r   r   rc   rD   )r   r   bad_mappings      r   %test_mapping_keys_valuesitems_bad_argz.CAPITest.test_mapping_keys_valuesitems_bad_arg  s;   .)*@*@&(K.)*B*BFHM.)*A*A68L.)*@*@"E.)*B*BBG.)*A*A2F+y'='=tD+y'?'?F+y'>'>E	 	 !l)Y%;%;[I)Y%=%={K)Y%<%<kJr   c                 ~   t         j                  }| j                   |ddi             | j                   |ddg             | j                   |d             | j                   |d             | j                   |d             | j                   |d             | j                   |t	                            y ru   )r>   sequence_checkrU   rT   rz   r{   s     r   test_sequence_checkzCAPITest.test_sequence_check  s    ((1v'q!f&f&e%f&r#vx)r   c                    t         j                  t         j                  fD ]  }| j                   |ddg      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j	                  t
        |i        | j	                  t
        |d       | j	                  t
        |t                      | j	                  t        |t                y r   )	r>   sequence_sizesequence_lengthrA   rB   rD   rz   r   rc   r   s     r   test_sequence_sizezCAPITest.test_sequence_size  s    ++Y-F-FF 		7DT1a&\1-T&\1-T%[!,T&\1-ir2ir2ivx8k46		7r   c                 X   t         j                  }g d}| j                   ||d      d       | j                   ||d      d       | j                  t        ||d       | j                  t
        |dd       | j                  t
        |i d       | j                  t        |t        d       y )Nr   r=   r4   r5   r   r`   )r>   sequence_getitemrA   rB   r   rD   r   rc   )r   r   r   s      r   test_sequence_getitemzCAPITest.test_sequence_getitem  s    ,,a#.b)3/*gsA6)Wb!4)Wb!4+wa8r   c                    t         j                  }| j                   |ddgddg      g d       | j                   |dd      d       | j                  t        |g d       | j                  t        |dg        | j                  t        |g d	       | j                  t        |d	g        | j                  t        |d	d
       | j                  t
        |g t               | j                  t
        |t        g        y )Nr3   r4   r=   rR   r3   r4   r=   rR   r3   r4   rv   r   r`   +   )r>   sequence_concatrA   rB   rD   r   rc   )r   concats     r   test_sequence_concatzCAPITest.test_sequence_concat  s    **c
QF35EF
F35EF)VR4)VR4)VR4)VR4)VR4+vr48+vtR8r   c                    t         j                  }| j                   |ddgd      g d       | j                   |dd      d       | j                   |ddgd      g        | j                   |ddgd      g        | j                  t        |t               d       | j                  t        |dd       | j                  t        |t        d       y 	Nr3   r4   rR   )r3   r4   r3   r4   r   r   r   r`   )r>   sequence_repeatrA   rB   rD   setr   rc   )r   repeats     r   test_sequence_repeatzCAPITest.test_sequence_repeat  s    **c
A.0DE
A.0DEc
A.3c
B/4)VSUA6)VR3+vtQ7r   c                 V   t         j                  }ddg} ||ddg      }| j                  |g d       | j                  ||       ddg} ||d      }| j                  |g d       | j                  ||       | j                   |dd      d       | j	                  t
        |dg        | j	                  t
        |g d	       | j	                  t
        |d	g        | j	                  t
        |d	d
       | j	                  t        |g t               | j	                  t        |t        g        y )Nr3   r4   r=   rR   r   rv   r   r   r`   r   )r>   sequence_inplaceconcatrA   assertIsrB   rD   r   rc   )r   inplaceconcatr   ress       r   test_sequence_inplaceconcatz$CAPITest.test_sequence_inplaceconcat  s	   !88CjC!Q(./c3CjC(./c3z6:<LM)]B;)]B;)]B;)]B;+}b$?+}dB?r   c                    t         j                  }ddg} ||d      }| j                  |g d       | j                  ||       | j                   |dd      d       | j                   |ddgd      g        | j                   |ddgd      g        | j	                  t
        |t               d       | j	                  t
        |dd       | j	                  t        |t        d       y r   )	r>   sequence_inplacerepeatrA   r   rB   rD   r   r   rc   )r   inplacerepeatr   r   s       r   test_sequence_inplacerepeatz$CAPITest.test_sequence_inplacerepeat  s    !88CjC#23c3z157KLSz15r:Sz26;)]CE1=)]B:+}dA>r   c                    t         j                  }g d} ||dd       | j                  |g d        ||dd       | j                  |g d        ||dt               | j                  |ddg       | j	                  t
        ||d	d       | j	                  t        |d
dd       | j	                  t        |i dd       | j	                  t        |t        dd       y )Nr   r=   r   r   r   y)r3   r   r  r   r   r`   )r>   sequence_setitemrA   rc   rB   r   rD   r   )r   r   r   s      r   test_sequence_setitemzCAPITest.test_sequence_setitem  s    ,,Qo.Ro.QsCj)*gsAs;)Wb!S9)Wb!S9+wa=r   c                 f   t         j                  }g d} ||d       | j                  |ddg        ||d       | j                  |dg       | j                  t        ||d       | j                  t
        |dd       | j                  t
        |i d       | j                  t        |t        d       y )Nr   r=   r3   r5   r   r   r`   )r>   sequence_delitemrA   rB   r   rD   r   rc   )r   r   r   s      r   test_sequence_delitemzCAPITest.test_sequence_delitem  s    ,,QsCj)Rse$*gsA6)Wb!4)Wb!4+wa8r   c                    t         j                  }g d}|j                         } ||ddddg       ddg|dd | j                  ||       | j                  |g d        G d d      } |       } ||d	d
d       | j                  |j                  t        d	d
             | j                  |j                  d       d}| j                  t        ||ddd       | j                  |d       d}| j                  t        ||ddd       | j                  |d       | j                  t        |t               ddd       | j                  t        |t        ddd       |j                         } ||ddt               | j                  |g d       y )Nr=   rR   r      r]   r=   r   r^   	   )r=   r^   r  r  r]   c                       e Zd Zd Zy)/CAPITest.test_sequence_setslice.<locals>.Customc                      || _         || _        y r   )indexr   )r   r  r   s      r   r,   z;CAPITest.test_sequence_setslice.<locals>.Custom.__setitem__*  s    "
"
r   N)r   r   r   r,   r   r   r   Customr  )  s    #r   r  r   r]   rw   r=   rR   r   r  )r^   r  abcdxyr=   r  r]   )r>   sequence_setslicecopyrA   r  slicer   rB   rD   rz   r   rc   )r   setslicedata	data_copyr  r5   bad_seq1bad_seq2s           r   test_sequence_setslicezCAPITest.test_sequence_setslice  sh   .. IIK	q!aV$Q	!Ay)/	# 	#
 HAq% %1+.%(  )XxAvF<0)XxAtD6* 	)XvxAtD+xq!TBIIK	Aq$'I.r   c                    t         j                  }g d}|j                         } ||dd       |dd= | j                  ||       | j                  |g d        G d d      } |       } ||dd       | j                  |j                  t        dd             d	}| j                  t        ||dd       | j                  |d	       d
}| j                  t        ||dd       | j                  |d
       | j                  t        |t               dd       | j                  t        |t        dd       dddd}| j                  t        ||dd       | j                  |dddd       y )Nr  r=   r   r  c                       e Zd Zd Zy)/CAPITest.test_sequence_delslice.<locals>.Customc                     || _         y r   )r  )r   r  s     r   r1   z;CAPITest.test_sequence_delslice.<locals>.Custom.__delitem__R  s	    "
r   N)r   r   r   r1   r   r   r   r  r$  Q  s    #r   r  r   r]   r  r  r3   r4   r5   )r=   rR   r   )r>   sequence_delslicer  rA   r  r  rB   rD   rz   r   rc   r   )	r   delslicer  r  r  r5   r  r   r   s	            r   test_sequence_delslicezCAPITest.test_sequence_delsliceD  sP   .. IIK	q!acNy)y)	# 	# HAq%1+.  )XxA><0)XxA>6* 	)XvxA>+xq!<cc*(Hgq!<ccc":;r   c                 (   t         j                  }g d}| j                   ||d      d       | j                   ||d      d       | j                   |t        |      d      d       | j                   |t        |      d      d       | j                   |ddid      d       | j	                  t
        |dd       | j	                  t        |g t               | j	                  t        |dgt               | j	                  t        |t        d       y )Nr3   r4   r3   r3   rR   r5   r   r=   r`   )r>   sequence_countrA   iterrB   rD   r   rc   )r   countr   s      r   test_sequence_countzCAPITest.test_sequence_countj  s    ((sC!,sC!,tCy#.2tCy#.2Qx-q1)UB4+ub$7+uqc48+udC8r   c                    t         j                  }g d}| j                   ||d      d       | j                   ||d      d       | j                   |t        |      d      d       | j                   |t        |      d      d       | j                   |ddid      d       | j                   |g t              d       | j                  t        |dd       | j                  t        |dgt               y )Nr*  r3   r=   r5   r   rR   r`   )r>   sequence_containsrA   r,  rc   rB   rD   r   )r   containsr   s      r   test_sequence_containszCAPITest.test_sequence_containsy  s    ..#s+Q/#s+Q/$s)S115$s)S1153(C0!4 	"d+Q/)Xr37+x!d;r   c                    t         j                  }g d}| j                   ||d      d       | j                   ||d      d       | j                  t        ||d       | j                   |t        |      d      d       | j                   |t        |      d      d       | j                  t        |t        |      d       ddd	}| j                   ||d      d       | j                   ||d      d       | j                  t        ||d       | j                  t        |d
d       | j                  t        |g t               | j                  t        |dgt               | j                  t        |t        d       y )Nr*  r3   r   r4   r=   r5   rR   r   r   r`   )	r>   sequence_indexrA   rB   
ValueErrorr,  rD   r   rc   )r   r  r   r   s       r   test_sequence_indexzCAPITest.test_sequence_index  s<   ((sC!,sC!,*eS#6tCy#.2tCy#.2*eT#Y<AsC!,sC!,*eS#6)UB4+ub$7+uqc48+udC8r   c                    t         j                  }| j                   |g d      g d       | j                   |d      g d       | j                   |t        g d            g d       | j                   |t	                     g d       | j                  t        |d       | j                  t        |t               y Nr   r`   )	r>   sequence_listrA   r,  r6   rB   rD   r   rc   )r   xlists     r   test_sequence_listzCAPITest.test_sequence_list  s    ''/A/AtO45Gsu7)UB/+ud3r   c                 r   t         j                  }| j                   |g d      d       | j                   |d      d       | j                   |t        g d            d       | j                   |t	                     d       | j                  t        |d       | j                  t        |t               y r8  )	r>   sequence_tuplerA   r,  r6   rB   rD   r   rc   )r   xtuples     r   test_sequence_tuplezCAPITest.test_sequence_tuple  s    ))0/B0/B_ 56H8)VR0+vt4r   N)'r   r   r   rF   rP   rW   r[   rf   rj   ro   rs   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r!  r(  r.  r2  r6  r;  r?  r   r   r   r8   r8   .   s    
7
K
+
6:(N*7"K$	&
7;(B",(3">4E(?4B*86K.*
7	99	8@&?> 9&/P$<L9<&9(45r   r8   __main__)unittestsyscollectionsr   testr   test.supportr   r>   rc   r   r   r)   r.   r6   TestCaser8   r   mainr   r   r   <module>rH     sz     
 #  &  	. 	.   D
5x   D
5N zHMMO r   