
    /hhS                     b   S SK r S SKr S SKrS SKr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KJrJr   " S S\R                  5      r " S S\R                  5      rS SK	Jr   " S	 S
\R$                  5      r " S S\5      r " S S\R$                  5      r\S:X  a  \R0                  " 5         gg)    N)support)import_helperget_c_recursion_limitc                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5S4 r6\7Rp                  S5 5       r9\7Rp                  S6 5       r:\7Rp                  S7 5       r;\7Rp                  S8 5       r<S9 r=\7Rp                  S: 5       r>\7Rp                  S; 5       r?\7Rp                  S< 5       r@\7Rp                  S= 5       rA\7Rp                  S> 5       rB\7Rp                  S? 5       rC\7Rp                  S@ 5       rDSA rESB rFSC rGSD rHSE rISF rJSG rKSH rLSI rMSJ rNSK rOSL rPSM rQSN rRSO rSSP rTSQ rUSR rVSS rWST rXSU rYSV rZSW r[\7Rp                  SX 5       r\\7Rp                  SY 5       r]SZ r^S[ r_S\r`g])^DictTest   c                 D    " S S[         5      nSS0U" SS05      4 H\  nU R                  [        5         [        S0 UD6  S S S 5        U R                  [        5         0 R                  " S0 UD6  S S S 5        M^     g ! , (       d  f       NC= f! , (       d  f       M  = f)Nc                       \ rS rSrSrg)7DictTest.test_invalid_keyword_arguments.<locals>.Custom    N__name__
__module____qualname____firstlineno____static_attributes__r       7/opt/python-3.13.8/usr/lib/python3.13/test/test_dict.pyCustomr          r   r         r   )dictassertRaises	TypeErrorupdate)selfr   invalids      r   test_invalid_keyword_arguments'DictTest.test_invalid_keyword_arguments   sx    	T 	AwAw/G""9-w .""9-		$G$ .- 0----s   A?B?
B	
B	c                 l    U R                  [        5       0 5        U R                  [        5       0 5        g N)assertEqualr   assertIsNotr   s    r   test_constructorDictTest.test_constructor   s&    $$r   c           
      r   S H  n[        U5       Vs/ s H9  nSR                  [        R                  " [        R
                  S5      5      U4PM;     nn[        R                  " U5        S U 5       nSSR                  U5      -   S-   nU R                  [        U5      [        U5      5        M     g s  snf )N)r   r         i      c              3   H   #    U  H  u  pS R                  X5      v   M     g7f)z
{!r}: {:d}N)format).0kvs      r   	<genexpr>4DictTest.test_literal_constructor.<locals>.<genexpr>%   s      KUTQ|22188Us    "{z, })
rangejoinrandomsamplestringascii_lettersshuffler$   evalr   )r   niitemsformatted_itemsdictliterals         r   test_literal_constructor!DictTest.test_literal_constructor   s     %A#Ah(& ggfmmF,@,@!DEqI&  (NN5!KUKO		/ ::S@KT+.U< %(s   A B4c                    SSSS.nSSSS.nUR                  5       nX2-  nU R                  X-  SSSSS.5        U R                  USSSSS.5        UR                  5       nX1-  nU R                  X!-  SSSSS.5        U R                  USSSSS.5        UR                  5       nU/ S	Q-  nU R                  USSSSS.5        U R                  UR                  S 5      [        5        U R                  UR                  S
5      [        5        U R                  UR                  S5      [        5        U R                  UR                  S5      [        5        U R                  [        UR                  S 5        U R                  UR                  S
5      SSSS.5        U R                  [        UR                  S5        U R                  UR                  S5      SSSS.5        g )Nr   r   )r   r   r   r      r   r   rG   )r   r   r   rG   )r   r   rG   r   )r   r   r   r   rG   rG   r   BADr,   )	copyr$   assertIs__or__NotImplementedr   r   __ior__
ValueError)r   abcs       r   test_merge_operatorDictTest.test_merge_operator)   s   aAaAFFH	A!a 89aA!45FFH	A!a 89aA!45FFH	%%aA!45ahhtnn5ahhrlN3ahhuo~6ahhrlN3)QYY52A!(:;*aii72A!(:;r   c                     U R                  0 (       + S5        U R                  SS05        U R                  [        0 5      S5        U R                  [        SS05      S5        g )NTr   r   F)rN   
assertTrueboolr&   s    r   	test_boolDictTest.test_boolI   sJ    "fd#Ad2h&dAq6lD)r   c                     0 nU R                  [        UR                  5       5      [        5       5        SSS.nUR                  5       nU R                  [        U5      SS15        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R	                  [
        UR                  S 5        U R                  [        [        SS9R                  5       5      S5        g )Nr   r   rS   rT   rS   rT   rS   zdict_keys(['a']))r$   setkeysassertInr   r   reprr   )r   dr1   s      r   	test_keysDictTest.test_keysO   s    QVVX.!FFHQ#s,c1c1c1c1)QVVT2dQinn./1CDr   c                 h   0 nU R                  [        UR                  5       5      [        5       5        SS0nU R                  [        UR                  5       5      S15        U R                  [        UR                  S 5        U R                  [        [        SS9R                  5       5      S5        g )Nr   r   r_   zdict_values([1]))r$   r`   valuesr   r   rc   r   r   rd   s     r   test_valuesDictTest.test_values\   s    QXXZ#%0qEQXXZ1#.)QXXt4dQi..013EFr   c                 h   0 nU R                  [        UR                  5       5      [        5       5        SS0nU R                  [        UR                  5       5      S15        U R                  [        UR                  S 5        U R                  [        [        SS9R                  5       5      S5        g )Nr   r   r   r   r_   zdict_items([('a', 1)]))r$   r`   rA   r   r   rc   r   ri   s     r   
test_itemsDictTest.test_itemsd   s    QWWY/qEQWWY&2)QWWd3dQioo/02JKr   c                    [        [         R                  5      n " S S[        5      n[        U4 H  nU" 5       nUR                  5       R                  nUR                  5       R                  nUR                  5       R                  nXVU4 H%  nU R                  X5        U R                  X5        M'     SUS'   XVU4 H%  nU R                  X5        U R                  X5        M'     M     g )Nc                       \ rS rSrSrg))DictTest.test_views_mapping.<locals>.Dicto   r   Nr   r   r   r   Dictrr   o   r   r   rt   barfoo)	type__dict__r   ra   mappingrh   rA   assertIsInstancer$   )	r   mappingproxyrt   clsrd   m1m2m3ms	            r   test_views_mappingDictTest.test_views_mappingm   s    DMM*	4 	$<CA!!B##B""Bb\%%a6  & " AeHb\%%a6  & "  r   c                 2   0 nU R                  SU5        U R                  SU;   5        U R                  SU;  5        SSS.nU R                  SU5        U R                  SU5        U R                  SU5        U R	                  [
        UR                  5        g )NrS   r   r   r^   rT   rU   )assertNotInassertFalserY   rb   r   r   __contains__ri   s     r   test_containsDictTest.test_contains   s    a "1%!c1c1a )Q^^4r   c                 ~    0 nU R                  [        U5      S5        SSS.nU R                  [        U5      S5        g )Nr   r   r   r^   )r$   lenri   s     r   test_lenDictTest.test_len   s9    Q#!Q#r   c                 X  ^ SSS.nU R                  US   S5        U R                  US   S5        SUS'   SUS'   U R                  US   S5        U R                  US   S5        US	 U R                  USSS	.5        U R                  [        UR                  5         " U4S
 jS[        5      n0 nSX" 5       '   U R                  [
        UR                  S5         " S S[        5      m " U4S jS[        5      nU" 5       nSX'   SUl        U R                  TUR                  U5        g )Nr   r   r^   rS   rT   rG   rU      )rS   rU   c                   (   > \ rS rSrU 4S jrS rSrg)$DictTest.test_getitem.<locals>.BadEq   c                    > T" 5       er#   r   r   otherExcs     r   __eq__+DictTest.test_getitem.<locals>.BadEq.__eq__   
    er   c                     g)N   r   r&   s    r   __hash__-DictTest.test_getitem.<locals>.BadEq.__hash__       r   r   Nr   r   r   r   r   r   r   r   s   r   BadEqr      s    r   r   *      c                       \ rS rSrSrg)"DictTest.test_getitem.<locals>.Exc   r   Nr   r   r   r   r   r          dr   r   c                   &   > \ rS rSrSrU 4S jrSrg)&DictTest.test_getitem.<locals>.BadHash   Fc                 6   > U R                   (       a  T" 5       egNr   failr   r   s    r   r   /DictTest.test_getitem.<locals>.BadHash.__hash__       99%Kr   r   Nr   r   r   r   r   r   r   r   s   r   BadHashr          D r   r   T)r$   r   r   __getitem__objectKeyError	Exceptionr   )r   rd   r   r   xr   s        @r   test_getitemDictTest.test_getitem   s   !3#3###3#3#cF!!,-)Q]]3	F 	 %'
(AMM26")"	f 	 I#q}}a0r   c                     SSSS.nUR                  5         U R                  U0 5        U R                  [        UR                   S 5        g Nr   r   rG   rH   )clearr$   r   r   ri   s     r   
test_clearDictTest.test_clear   s<    AO		B)QWWd3r   c                   ^ 0 nUR                  SS05        UR                  SS05        UR                  SSSS.5        U R                  USSSS.5        UR                  5         U R                  USSSS.5        U R                  [        [        4UR                   S 5         " S S5      nUR                  5         UR                  U" 5       5        U R                  USSSS.5         " S	 S
[        5      mUR                  5          " U4S jS5      nU R                  TUR                   U" 5       5         " U4S jS5      nU R                  TUR                   U" 5       5         " U4S jS5      nU R                  TUR                   U" 5       5         " U4S jS[        5      nU R                  T0 R                   U" 5       5        U R                  [        0 R                   S/5        g )Nr   d   r      rG   rH   c                   &    \ rS rSrS rS rS rSrg),DictTest.test_update.<locals>.SimpleUserDict   c                     SSSS.U l         g r   rd   r&   s    r   __init__5DictTest.test_update.<locals>.SimpleUserDict.__init__   s    ar   c                 6    U R                   R                  5       $ r#   )rd   ra   r&   s    r   ra   1DictTest.test_update.<locals>.SimpleUserDict.keys   s    vv{{}$r   c                      U R                   U   $ r#   r   )r   r@   s     r   r   8DictTest.test_update.<locals>.SimpleUserDict.__getitem__   s    vvay r   r   N)r   r   r   r   r   ra   r   r   r   r   r   SimpleUserDictr      s    )%!r   r   c                       \ rS rSrSrg)!DictTest.test_update.<locals>.Exc   r   Nr   r   r   r   r   r      r   r   r   c                   "   > \ rS rSrU 4S jrSrg)-DictTest.test_update.<locals>.FailingUserDict   c                    > Ter#   r   r   s    r   ra   2DictTest.test_update.<locals>.FailingUserDict.keys       	r   r   N)r   r   r   r   ra   r   r   s   r   FailingUserDictr           r   r   c                   (   > \ rS rSrU 4S jrS rSrg)r      c                 ,   >  " U4S jS5      nU" 5       $ )Nc                   .   > \ rS rSrS rS rU 4S jrSrg)EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter   c                     SU l         g Nr   r@   r&   s    r   r   NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__   s	    !"r   c                     U $ r#   r   r&   s    r   __iter__NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__       #r   c                 :   > U R                   (       a  SU l         gTe)Nr   rS   r   r   s    r   __next__NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__   s    66%&DF#&!	r   r   Nr   r   r   r   r   r   r   r   r   s   r   	BogonIterr      s    #$" "r   r   r   )r   r   r   s     r   ra   r      s    	" 	" !{"r   c                     U$ r#   r   r   keys     r   r   9DictTest.test_update.<locals>.FailingUserDict.__getitem__   s    
r   r   Nr   r   r   r   ra   r   r   r   s   r   r   r      s    #r   c                   (   > \ rS rSrS rU 4S jrSrg)r      c                 $     " S S5      nU" 5       $ )Nc                   &    \ rS rSrS rS rS rSrg)r      c                 $    [        S5      U l        g )NrS   )ordr@   r&   s    r   r   r      s    !$Sr   c                     U $ r#   r   r&   s    r   r   r      r   r   c                     U R                   [        S5      ::  a,  [        U R                   5      nU =R                   S-  sl         U$ [        e)Nzr   )r@   r   chrStopIteration)r   rtns     r   r   r      s7    66SX-"%dff+C FFaKF#&J++r   r   Nr   r   r   r   r   r      s    *$,r   r   r   )r   r   s     r   ra   r      s    
, 
, !{"r   c                    > Ter#   r   )r   r   r   s     r   r   r      r   r   r   Nr   r   s   r   r   r      s    # r   c                   (   > \ rS rSrS rU 4S jrSrg)$DictTest.test_update.<locals>.badseqi  c                     U $ r#   r   r&   s    r   r   -DictTest.test_update.<locals>.badseq.__iter__      r   c                    > T" 5       er#   r   r   s    r   r   -DictTest.test_update.<locals>.badseq.__next__  r   r   r   Nr   r   r   r   r   r   r   r   s   r   badseqr         r   r  )	r   r$   r   r   AttributeErrorr   r   r   rR   )r   rd   r   r   r  r   s        @r   test_updateDictTest.test_update   s   	!C	!B	Aa!qAO,	
qAO,9n5qxxF	! 	! 	
		!"qAO,")"			 	 	#qxx):;	 	 	#qxx):;	 	  	#qxx):;	V 	 	#ryy&(3*bii)=r   c                    ^  " S S5      m " U4S jS[         5      nT" 5       nSUl        SUl        0 nU" S5      X1" S5      '   UR                  UR                  5        U R                  UU" S5      SSS05        g )Nc                       \ rS rSrSrg)1DictTest.test_update_shared_keys.<locals>.MyClassi  r   Nr   r   r   r   MyClassr    s    tr   r  c                   8   >^  \ rS rSrU 4S jrUU 4S jrSrU =r$ )/DictTest.test_update_shared_keys.<locals>.MyStri  c                     > [         TU ]  5       $ r#   )superr   )r   	__class__s    r   r   8DictTest.test_update_shared_keys.<locals>.MyStr.__hash__  s    w'))r   c                 Z   > T" 5       nSUl         SUl        SUl        [        TU ]  U5      $ )NrS   rT   rU   )rS   rT   rU   r  r   )r   r   obj2r  r  s      r   r   6DictTest.test_update_shared_keys.<locals>.MyStr.__eq__  s0     yw~e,,r   r   )r   r   r   r   r   r   r   __classcell__)r  r  s   @r   MyStrr    s    *- -r   r  rS   rT   )strrS   rT   r   rx   r$   )r   r  objr   r  s       @r   test_update_shared_keys DictTest.test_update_shared_keys  sw    	-C 	- ic
%* 	
#J
 	r   c                 2	  ^^ U R                  [        R                  S5      S S S S.5        0 mU R                  TR                  S5      T5        U R                  TR                  S5      S S S S.5        U R                  TR                  SS5      SSS.5        U R                  TR                  / 5      0 5        S nU R                  TR                  U" 5       5      SS 05        U R	                  [
        0 R                  S5         " S S	[        5      nU R                  UR                  S
5      S
S 05        U R                  U" 5       R                  S
5      S
S 05        U R                  UR                  S
5      U5        U R                  U" 5       R                  S
5      U5         " S S[        5      nUR                  S5      nU R                  US S S.5        U R                  U[        R                  5        U R	                  [
        [        R                  5         " S S[        5      m " U4S jS[        5      nU R	                  TUR                  S/5         " U4S jS[        5      nU R	                  T[        R                  U" 5       5         " U4S jS[        5      nU R	                  TUR                  S/5        [        [        [        S5      S/S-  5      5      n[        [        [        S5      [        S5      5      5      mU R                  [        R                  TS5      U5        [        [        S5      5      mU R                  [        R                  TS5      U5        [        [        S5      5      mU R                  [        R                  TS5      U5         " U4S jS[        5      n	[        S5       V
s0 s H  oU
_M     sn
mTR                  5       nUR!                  S S S S9  U R                  U	R                  1 Sk5      U5         " U4S jS[        5      n[        S5       V
s0 s H  oU
_M     sn
mTR                  5       nUR!                  S S S S9  U R                  UR                  1 Sk5      U5        g s  sn
f s  sn
f )NabcrS   rT   rU   )r      r   c               3      #    Sv   g 7fr   r   r   r   r   g!DictTest.test_fromkeys.<locals>.g4  s
     Gs   r   rG   c                       \ rS rSrSrg)(DictTest.test_fromkeys.<locals>.dictlikei8  r   Nr   r   r   r   dictliker(  8  r   r   r)  rS   c                       \ rS rSrS rSrg)&DictTest.test_fromkeys.<locals>.mydicti=  c                 ,    [         R                  " 5       $ r#   )collectionsUserDict)r|   s    r   __new__.DictTest.test_fromkeys.<locals>.mydict.__new__>  s    "++--r   r   Nr   r   r   r   r/  r   r   r   r   mydictr+  =  s    .r   r2  abr^   c                       \ rS rSrSrg)#DictTest.test_fromkeys.<locals>.ExciE  r   Nr   r   r   r   r   r5  E  r   r   r   c                   "   > \ rS rSrU 4S jrSrg)(DictTest.test_fromkeys.<locals>.baddict1iG  c                    > T" 5       er#   r   r   s    r   r   1DictTest.test_fromkeys.<locals>.baddict1.__init__H  r   r   r   Nr   r   r   r   r   r   r   s   r   baddict1r7  G       r   r;  c                   (   > \ rS rSrS rU 4S jrSrg)&DictTest.test_fromkeys.<locals>.BadSeqiM  c                     U $ r#   r   r&   s    r   r   /DictTest.test_fromkeys.<locals>.BadSeq.__iter__N  r  r   c                    > T" 5       er#   r   r   s    r   r   /DictTest.test_fromkeys.<locals>.BadSeq.__next__P  r   r   r   Nr  r   s   r   BadSeqr>  M  r	  r   rC  c                   "   > \ rS rSrU 4S jrSrg)(DictTest.test_fromkeys.<locals>.baddict2iU  c                    > T" 5       er#   r   )r   r   valuer   s      r   __setitem__4DictTest.test_fromkeys.<locals>.baddict2.__setitem__V  r   r   r   N)r   r   r   r   rH  r   r   s   r   baddict2rE  U  r<  r   rJ  r*   c                   "   > \ rS rSrU 4S jrSrg)(DictTest.test_fromkeys.<locals>.baddict3ig  c                    > T$ r#   r   )r|   rd   s    r   r/  0DictTest.test_fromkeys.<locals>.baddict3.__new__h  s    r   r   Nr1  r   s   r   baddict3rL  g  s     r   rO    >   rS   rT   rU   c                   "   > \ rS rSrU 4S jrSrg)(DictTest.test_fromkeys.<locals>.baddict4ip  c                 2   > [         R                  U T5        g r#   )r   r   ri   s    r   r   1DictTest.test_fromkeys.<locals>.baddict4.__init__q  s    dA&r   r   Nr:  r   s   r   baddict4rR  p  s    ' 'r   rU  )r$   r   fromkeysr%   r   r   rz   r-  r.  r   r   zipr7   r`   listrM   r   )r   r%  r)  r2  udr;  rC  rJ  resrO  r@   rU  r   rd   s               @@r   test_fromkeysDictTest.test_fromkeys-  s   u-Dd/MNE*A.E*4T,JKE!,aj9B,	AC1T(3)R[[!4"t"**3/#d<,,S1C:>h//4h?hj11#6A	.T 	. __T"$D12b+"6"67)T]]3")"	t 	 	#x001#6	V 	 	#t}}fh7	t 	 	#x001#6 3uQx!Q'(U1XuQx()q!,c2aMq!,c2qNq!,c2	t 	 "$K(KqUK(ffh

TTT
***?;SA	't 	' "$K(KqUK(ffh

TTT
***?;SA ) )s   	R;Rc                    SSSS.nU R                  UR                  5       U5        U R                  UR                  5       U5        U R                  UR                  5       SSSS.5        UR                  5       nSUS'   U R                  X!5        U R                  0 R                  5       0 5        U R	                  [
        UR                  S 5        g )Nr   r   rG   rH   r   )r%   rM   r$   assertNotEqualr   r   )r   rd   rM   s      r   	test_copyDictTest.test_copyx  s    aA1%1%qQ1#56vvx!D$B')QVVT2r   c                    S H  n[         R                  " US-  XS-  -   5      nU R                  US9   0 n[        U5       H  nX2U'   M	     UR	                  5       nU R                  XB5        U R                  X$5        SUS'   U R                  X$5        U R                  [        U5      [        U5      S-   5        S S S 5        M     g ! , (       d  f       M  = f)N)
   r   rP  i'  i r   )	dict_sizerG  r   r   )	r9   	randrangesubTestr7   rM   r%   r$   r^  r   )r   rc  rd   r@   d2s        r   test_copy_fuzzDictTest.test_copy_fuzz  s    7I((Q	N :<I	2y)AaD * VVX  '  '#5	##A*  R#a&1*5 32 8 32s   BC		
C	c                      " S S5      nU" 5       n0 SS0US04 HM  nUR                  5       nU R                  [        R                  " U5      [        R                  " U5      5        MO     g )Nc                       \ rS rSrSrg)0DictTest.test_copy_maintains_tracking.<locals>.Ai  r   Nr   r   r   r   Ark    r   r   rl  rS   r   val)rM   r$   gc
is_tracked)r   rl  r   rd   rf  s        r   test_copy_maintains_tracking%DictTest.test_copy_maintains_tracking  s[    	 	 csAhe-ABR]]1-r}}R/@A .r   c                     [        S5       Vs0 s H  oU_M     nn[        S5       H  nX!	 M     UR                  5       nU R                  X25        g s  snf )NrP  i  )r7   rM   r$   )r   r1   rd   rf  s       r   test_copy_noncompactDictTest.test_copy_noncompact  sO     !;';aT;'sA VVX	 (s   Ac                 *   0 nU R                  UR                  S5      S 5        U R                  UR                  SS5      S5        SSS.nU R                  UR                  S5      S 5        U R                  UR                  SS5      S5        U R                  UR                  S5      S5        U R                  UR                  SS5      S5        U R                  [        UR                  5        U R                  [        UR                  S S S 5        g )NrU   rG   r   r   r^   rS   )rN   getr$   r   r   ri   s     r   test_getDictTest.test_get  s    aeeCj$'sA*!aeeCj$'sA*sQ'sA*)QUU+)QUUD$=r   c                   ^ 0 nU R                  UR                  S5      S 5        UR                  S/ 5        U R                  UR                  S5      S 5        UR                  S/ 5      R                  S5        U R                  US   S   S5        UR                  S/ 5      R                  S5        U R                  [	        US   5      S5        U R                  [        UR                  5         " S S[        5      m " U4S	 jS
[        5      nU" 5       nSX'   SUl	        U R                  TUR                  U/ 5        g )Nkey0r   rG   r   r   r   c                       \ rS rSrSrg)%DictTest.test_setdefault.<locals>.Exci  r   Nr   r   r   r   r   r|    r   r   r   c                   &   > \ rS rSrSrU 4S jrSrg))DictTest.test_setdefault.<locals>.BadHashi  Fc                 6   > U R                   (       a  T" 5       egr   r   r   s    r   r   2DictTest.test_setdefault.<locals>.BadHash.__hash__  r   r   r   Nr   r   s   r   r   r~    r   r   r   r   T)
rN   
setdefaultappendr$   r   r   r   r   r   r   )r   rd   r   r   r   s       @r   test_setdefaultDictTest.test_setdefault  s    all6*D1	VR all6*D1	UB&&q)5!a(	UB&&q)QuX*)Q\\2")"	f 	 I#q||Q3r   c                 ,    " S S[         5      nU" 5       nUS0nU" 5       nUR                  U/ 5        U R                  UR                  S5        U R                  UR                  S5        U R                  UR                  UR                  -   S5        g )Nc                   &    \ rS rSrS rS rS rSrg)/DictTest.test_setdefault_atomic.<locals>.Hashedi  c                      SU l         SU l        g Nr   
hash_counteq_countr&   s    r   r   8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__      "# !r   c                 .    U =R                   S-  sl         gNr   r   r  r&   s    r   r   8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__      1$r   c                 Z    U =R                   S-  sl         [        U 5      [        U5      :H  $ r   r  idr   r   s     r   r   6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__  #    "$x2e9,,r   r  r  Nr   r   r   r   r   r   r   r   r   r   r   Hashedr        "-r   r  r#  r   )r   r  r$   r  r  r   r  hashed1yhashed2s        r   test_setdefault_atomicDictTest.test_setdefault_atomic  s    		-V 		- (aL(	Wb!++Q/++Q/))G,<,<<a@r   c           
           " S S[         5      nU" 5       nUSSSSSSSSS0nU" 5       n/ X4'   U R                  UR                  S5        U R                  UR                  S5        U R                  UR                  UR                  -   S5        g )Nc                   &    \ rS rSrS rS rS rSrg)6DictTest.test_setitem_atomic_at_resize.<locals>.Hashedi  c                      SU l         SU l        g r  r  r&   s    r   r   ?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__  r  r   c                 .    U =R                   S-  sl         gr  r  r&   s    r   r   ?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__  r  r   c                 Z    U =R                   S-  sl         [        U 5      [        U5      :H  $ r   r  r  s     r   r   =DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__  r  r   r  Nr  r   r   r   r  r    r  r   r  r#  r   r   r   rG   )r   r$   r  r  r  s        r   test_setitem_atomic_at_resize&DictTest.test_setitem_atomic_at_resize  s    		-V 		- (aAq!Q1a0(
++Q/++Q/))G,<,<<a@r   c           	         S GH  n[        S5       GH  nSU-  n0 n0 n[        U5       H%  nXd[        U5      '   US:  d  M  Xe[        U5      '   M'     US:  a  UR                  5       n[        U5       H  nUR                  5       =u  pxn	U R	                  U[        U5      5        UR                  5       =u  pnU R	                  U[        U
5      5        U R                  US:  =(       a    X:g  5        M     U R                  U5        U R                  U5        GM     GM     0 nU R                  [        UR                  5        g )N)r      r   r   )	r7   rc   rM   popitemr$   intr   r   r   )r   copymodelog2sizesizerS   rT   r@   kavatakbvbtbrd   s                 r   test_popitemDictTest.test_popitem  s   H ""I({tA!"d1gJ!|%&$q'
 % a<AtA"#))+-FBR$$RR1"#))+-FBR$$RR1$$X\%>bh? %   #  ## & , (AII.r   c                   ^ 0 nSu  p#X1U'   U R                  [        UR                  S5        U R                  UR                  U5      U5        U R                  [	        U5      S5        U R                  [        UR                  U5        U R                  UR                  X#5      U5        X1U'   U R                  UR                  US5      U5        U R                  [
        UR                  5         " S S[        5      m " U4S jS[        5      nU" 5       nS	X'   S
Ul        U R                  TUR                  U5        g )N)r!  defghir   r   c                       \ rS rSrSrg)DictTest.test_pop.<locals>.Exci)  r   Nr   r   r   r   r   r  )  r   r   r   c                   &   > \ rS rSrSrU 4S jrSrg)"DictTest.test_pop.<locals>.BadHashi+  Fc                 6   > U R                   (       a  T" 5       egr   r   r   s    r   r   +DictTest.test_pop.<locals>.BadHash.__hash__-  r   r   r   Nr   r   s   r   r   r  +  r   r   r   r   T)	r   r   popr$   r   r   r   r   r   )r   rd   r1   r2   r   r   r   s         @r   test_popDictTest.test_pop  s    !(AEE51q1%Q#(AEE1-qa(!q!a()QUU+")"	f 	 I#quua(r   c                     0 nSUS'   U R                  [        5         U H
  nSXS-   '   M     S S S 5        g ! , (       d  f       g = fr   r   RuntimeErrorr   rd   r@   s      r   test_mutating_iteration DictTest.test_mutating_iteration8  s?    !|,A#  -,,s	   7
Ac                     0 nSUS'   U R                  [        5         U H  nUS	 SUS'   M     S S S 5        g ! , (       d  f       g = fr  r  r  s      r   test_mutating_iteration_delete'DictTest.test_mutating_iteration_delete@  sD    !|,aD!  -,,s	   8
Ac                     0 nSUS'   U R                  [        5         UR                  5        H  nUS	 SUS'   M     S S S 5        g ! , (       d  f       g = fr  )r   r  rh   r  s      r   *test_mutating_iteration_delete_over_values3DictTest.test_mutating_iteration_delete_over_valuesI  sJ    !|,XXZaD!   -,,    A
Ac                     0 nSUS'   U R                  [        5         UR                  5        H  nUS	 SUS'   M     S S S 5        g ! , (       d  f       g = fr  r   r  rA   r  s      r   )test_mutating_iteration_delete_over_items2DictTest.test_mutating_iteration_delete_over_itemsR  sJ    !|,WWYaD!  -,,r  c                    ^  " U4S jS5      mT" S5      nT" S5      nUS0nX14Tl         SX2'   U R                  X2S05        g )Nc                   2   > \ rS rSrSrS rS rU 4S jrSrg)/DictTest.test_mutating_lookup.<locals>.NastyKeyi]  Nc                     Xl         g r#   rG  )r   rG  s     r   r   8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__`  s    "
r   c                     gr   r   r&   s    r   r   8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__c  s    r   c                    > TR                   (       a  TR                   u  p#S Tl         X#	 U R                  UR                  :H  $ r#   )mutate_dictrG  )r   r   r2  r   NastyKeys       r   r   6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__g  s9    ''"*"6"6KF+/H(zzU[[00r   r  )	r   r   r   r   r  r   r   r   r   )r  s   r   r  r  ]  s    K#1 1r   r  r   r   )r  r$   )r   key1key2rd   r  s       @r   test_mutating_lookupDictTest.test_mutating_lookup[  sM    	1 	1" {{1I !y1I&r   c                 D  ^ 0 nU R                  [        U5      S5        SUS'   U R                  [        U5      S5        0 nXS'   U R                  [        U5      S5         " S S[        5      m " U4S jS	[        5      nSU" 5       0nU R	                  T[        U5        g )
Nz{}r   r   z{1: 2}z
{1: {...}}c                       \ rS rSrSrg)DictTest.test_repr.<locals>.Exci~  r   Nr   r   r   r   r   r  ~  r   r   r   c                   "   > \ rS rSrU 4S jrSrg)#DictTest.test_repr.<locals>.BadRepri  c                    > T" 5       er#   r   r   s    r   __repr__,DictTest.test_repr.<locals>.BadRepr.__repr__  r   r   r   N)r   r   r   r   r  r   r   s   r   BadReprr    r<  r   r  )r$   rc   r   r   r   )r   rd   r  r   s      @r   	test_reprDictTest.test_repru  s    a$'!a(+!a,/")"	f 	 	N#tQ'r   c                     0 n[        [        5       S-   5       H  nSU0nM	     U R                  [        [        U5        g r   )r7   r   r   RecursionErrorrc   r  s      r   test_repr_deepDictTest.test_repr_deep  s:    ,.23AAA 4.$2r   c                   ^ U R                  0 0 5        U R                  SS0SS05         " S S[        5      m " U4S jS[        5      nU" 5       S0nSS0nU R                  T5         X#:H    S S S 5        g ! , (       d  f       g = f)Nr   r   c                       \ rS rSrSrg)DictTest.test_eq.<locals>.Exci  r   Nr   r   r   r   r   r    r   r   r   c                   (   > \ rS rSrU 4S jrS rSrg) DictTest.test_eq.<locals>.BadCmpi  c                    > T" 5       er#   r   r   s     r   r   'DictTest.test_eq.<locals>.BadCmp.__eq__  r   r   c                     gr   r   r&   s    r   r   )DictTest.test_eq.<locals>.BadCmp.__hash__      r   r   Nr   r   s   r   BadCmpr    s    r   r  )r$   r   r   r   )r   r  d1rf  r   s       @r   test_eqDictTest.test_eq  st    R !Q!Q(")"	V 	 h]Vs#H $##s   )A77
Bc                 L    U R                  S 5        U R                  S 5        g )Nc                 "    U R                  5       $ r#   )ra   r   s    r   <lambda>.DictTest.test_keys_contained.<locals>.<lambda>  s
    QVVXr   c                 "    U R                  5       $ r#   rA   r  s    r   r  r    s
    QWWYr   )helper_keys_containedr&   s    r   test_keys_containedDictTest.test_keys_contained  s     ""#56""#67r   c                 2   U" [        5       5      nU" [        5       5      nU" SSS.5      nU" SSSS.5      nU" SSSS.5      nU" SSSS.5      nU R                  XE:  5        U R                  XE:*  5        U R                  XT:  5        U R                  XT:  5        U R                  XE:  5        U R                  XE:  5        U R                  XT:*  5        U R                  XT:  5        U R                  XG:  5        U R                  XG:*  5        U R                  Xt:  5        U R                  Xt:  5        U R                  Xe:  5        U R                  Xe:*  5        U R                  Xe:  5        U R                  Xe:  5        U R                  XV:H  5        U R                  XE:g  5        U R                  X#:H  5        U R                  X#:g  5        U R                  X$:H  5        U R                  X$:g  5        U R                  XW:g  5        U R                  XW:H  5        g )Nr   r   rm   rG   rH   )r   r   rG   )r   rY   r   )r   fnemptyempty2smallerlargerlarger2larger3s           r   r  DictTest.helper_keys_contained  s    46
DFQZ.qAO$Q!_%Q!_%)*)*)*)**+*++,+,+,+,+,+, 	)*)*)*)*)*)* 	())*() 	)**+r   c                     " S S5      nSU" 5       0nSU" 5       0nU R                  [        5         UR                  5       UR                  5       :H    S S S 5        U R                  [        5         UR                  5       UR                  5       :g    S S S 5        U R                  [        5         UR                  5       UR                  5       :*    S S S 5        U R                  [        5         UR                  5       UR                  5       :    S S S 5        U" 5       U" 5       S.nU R                  [        5         UR                  5       UR                  5       :    S S S 5        U R                  [        5         UR                  5       UR                  5       :    S S S 5        g ! , (       d  f       GNZ= f! , (       d  f       GN-= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nc                       \ rS rSrS rSrg)9DictTest.test_errors_in_view_containment_check.<locals>.Ci  c                     [         er#   r  r  s     r   r   @DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__  s    ""r   r   Nr   r   r   r   r   r   r   r   r   Cr    s    #r   r#  r   rm   r  )r   r#  r  rf  d3s        r   %test_errors_in_view_containment_check.DictTest.test_errors_in_view_containment_check  sO   	# 	# XX|,HHJ"((*$ -|,HHJ"((*$ -|,HHJ"((*$ -|,HHJ"((*$ - |,HHJ# -|,HHJ# -, -,,,,,,, -,,,sG   "F'1"F90"G/"G="G-<"G>'
F69
G
G
G*-
G;>
Hc                    SSS.R                  5       nSSSS.R                  5       nSS0R                  5       nU R                  X-
  [        5       5        U R                  X-
  SS15        U R                  X!-
  S15        U R                  X1-
  S15        U R                  X-  SS15        U R                  X-  [        5       5        U R                  X-  1 Sk5        U R                  X-  S15        U R                  X-  1 Sk5        g )	Nr   r   rm   rG   rH   r   >   r   r   rG   >   r   r   r   )ra   r$   r`   r   k1k2k3s       r   $test_dictview_set_operations_on_keys-DictTest.test_dictview_set_operations_on_keys  s    QZ__Q!_!!#UZZ\#%(1Q%(1#&1#&1Q%(#%('*1#&'*r   c                    SSS.R                  5       nSSSS.R                  5       nSS0R                  5       nU R                  X-
  [        5       5        U R                  X-
  SS15        U R                  X!-
  S	15        U R                  X1-
  S
15        U R                  X-  SS15        U R                  X-  [        5       5        U R                  X-  1 Sk5        U R                  X-  S	15        U R                  X-  1 Sk5        g )Nr   r   rm   rG   rH   r   rI   rJ   rK   r   r   >   rI   rJ   rK   >   rI   rJ   r/  )rA   r$   r`   r(  s       r   %test_dictview_set_operations_on_items.DictTest.test_dictview_set_operations_on_items  s    QZQ!_""$U[[]#%(5%.15'*5'*5%.1#%("785'*"78r   c                 6   [         R                  n[        S5       H  n[        S5       Vs0 s H  o1" S5      (       d  M  X1" S5      _M     nn[        S5       Vs0 s H  o1" S5      (       d  M  X1" S5      _M     nnU R                  XES9   [	        UR                  5       5      [	        UR                  5       5      -  nUR                  5       UR                  5       -  nU R                  Xv5        S S S 5        M     g s  snf s  snf ! , (       d  f       M  = f)Nr   r   r   rG   )leftright)r9   rd  r7   re  r`   rA   r$   )r   rr_r   r3  r4  expectedactuals           r   test_items_symmetric_difference(DictTest.test_items_symmetric_difference  s    sA%*2Y8Y"Q%GAbeGYD8&+Bi9i2a5WQr!uWiE945tzz|,s5;;=/AA5  2 65 8955s$   C? C?D/DA&D		
D	c                 l   U R                  SS0R                  5       S1:H  5        U R                  S1SS0R                  5       :H  5        U R                  SS0R                  5       S1-  SS15        U R                  S1SS0R                  5       -  SS15        U R                  SS0R                  5       S1:H  5        U R                  S1SS0R                  5       :H  5        U R                  SS0R                  5       S1-  SS15        U R                  S1SS0R                  5       -  SS15        g )Nr   r   rI   )rY   ra   r$   rA   r&   s    r   "test_dictview_mixed_set_operations+DictTest.test_dictview_mixed_set_operations  s
   1

+,!uzz|+,!A+aV4!!uzz|+aV41%01Aa5;;=01!A!,uaj9!!u{{},uaj9r   c                 .   U R                  [        [        S5      5        U R                  [        0 S5      5         " S S[        5      nU" SSS.5      nU R                  US   S5        U R                  US   S5        U R	                  SU5        U R	                  SUR                  5       5        U R                  US   S	5         " S
 S[        5      nU" 5       nU R                  [        5       nUS	     S S S 5        U R                  WR                  R                  S5         " S S[        5      nU" 5       nU R                  [        5       nUS	     S S S 5        U R                  UR                  R                  S5         " S S[        5      nU" 5       n	U R                  [        5       nU	S	     S S S 5        U R                  UR                  R                  S5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NW= f)N__missing__c                       \ rS rSrS rSrg) DictTest.test_missing.<locals>.Di"  c                     gr   r   r   s     r   r?  ,DictTest.test_missing.<locals>.D.__missing__#  r   r   r   Nr   r   r   r   r?  r   r   r   r   DrA  "  s    r   rE  r   r   )r   rG   r   rG   r   c                       \ rS rSrS rSrg) DictTest.test_missing.<locals>.Ei,  c                     [        U5      er#   r   r   s     r   r?  ,DictTest.test_missing.<locals>.E.__missing__-  s    "3''r   r   NrD  r   r   r   ErG  ,  s    (r   rJ  )r   c                       \ rS rSrS rSrg) DictTest.test_missing.<locals>.Fi4  c                     S U l         g )Nc                     g r#   r   )r   s    r   r  ;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>7  s    tr   r?  r&   s    r   r   )DictTest.test_missing.<locals>.F.__init__5  s
    #3 r   rP  Nr:  r   r   r   FrL  4  s    4r   rR  c                       \ rS rSrSrg) DictTest.test_missing.<locals>.Gi=  r   Nr   r   r   r   GrT  =  r   r   rU  )r   hasattrr   r$   r   ra   r   r  	exceptionargsr   )
r   rE  rd   rJ  erU   rR  frU  r%  s
             r   test_missingDictTest.test_missing  s   }56]34	 	 !lO1q!1q!AAFFH%1r"	( 	( C|,bE -))51	4 	4 Cx(AbE )))51	 	Cx(AbE )))51% -, )( )(s$   1G$G5/H$
G25
H
Hc                     0 nU R                  [        5       nUS     S S S 5        U R                  WR                  R                  S5        g ! , (       d  f       N5= f)Nr   )r^  )r   r   r$   rW  rX  )r   rd   rU   s      r   test_tuple_keyerrorDictTest.test_tuple_keyerrorD  sF    x(AdG )))73 )(s   A
Ac                    ^  " S S[         5      m " U4S jS5      n0 nU" 5       nU" 5       nSX#'   S H1  nU R                  T5         [        U[        5       5        S S S 5        M3     g ! , (       d  f       ME  = f)Nc                       \ rS rSrSrg).DictTest.test_bad_key.<locals>.CustomExceptioniM  r   Nr   r   r   r   CustomExceptionrc  M  r   r   rd  c                   (   > \ rS rSrS rU 4S jrSrg))DictTest.test_bad_key.<locals>.BadDictKeyiP  c                 ,    [        U R                  5      $ r#   )hashr  r&   s    r   r   2DictTest.test_bad_key.<locals>.BadDictKey.__hash__Q  s    DNN++r   c                 @   > [        XR                  5      (       a  TeU$ r#   )
isinstancer  )r   r   rd  s     r   r   0DictTest.test_bad_key.<locals>.BadDictKey.__eq__T  s    e^^44))r   r   Nr   r   r   r   r   r   r   )rd  s   r   
BadDictKeyrf  P  s    , r   rn  r   )z	d[x2] = 2z	z = d[x2]zx2 in dz	d.get(x2)zd.setdefault(x2, 42)z	d.pop(x2)zd.update({x2: 2}))r   r   execlocals)r   rn  rd   x1x2stmtrd  s         @r   test_bad_keyDictTest.test_bad_keyK  sn    	i 		 	 \\*D ""?3T68$ 43* 43s   A**
A9	c                     0 n[        S5       H  nX!U'   M	     [        S5       H  nX	 M     [        SS5       H  nX!U'   M	     g )Nr#  	   )r7   r  s      r   test_resize1DictTest.test_resize1g  sH     qAaD qA q!AaD r   c                    ^^  " UU4S jS[         5      n0 mSmSTU" 5       '   STU" 5       '   STU" 5       '   STU" 5       '   STU" 5       '   S	mS
TS'   g )Nc                   *   > \ rS rSrS rU U4S jrSrg) DictTest.test_resize2.<locals>.Xi{  c                     g)Nr#  r   r&   s    r   r   )DictTest.test_resize2.<locals>.X.__hash__|  r  r   c                 4   > T(       a  TR                  5         gNFr   )r   r   rd   resizings     r   r   'DictTest.test_resize2.<locals>.X.__eq__~  s    GGIr   r   Nrm  )rd   r  s   r   Xr|  {  s     r   r  Fr   r   rG   r   r#  Tr*   rw  )r   )r   r  rd   r  s     @@r   test_resize2DictTest.test_resize2w  se    	 	 	 !#!#!#!#!#!r   c           
          U R                  [        5         SS-  S S S S S S S S.nS S S 5        0 ng ! , (       d  f       0 ng = f)Nr   r   )rS   rT   rU   rd   rY  rZ  r%  h)r   ZeroDivisionErrorri   s     r   $test_empty_presized_dict_in_freelist-DictTest.test_empty_presized_dict_in_freelist  sL     011f4dDD2A 2  21 s	   0
A c                     " S S[         5      n[        R                  [        R                  [        R                  4nU Hz  nU" 5       n[
        R                  " U5      nUS0nU" U5      Ul        [        UR                  5      Ul	        AA[        R                  " 5         U R                  U" 5       S S5        M|     g )Nc                       \ rS rSrSrg)+DictTest.test_container_iterator.<locals>.Ci  r   Nr   r   r   r   r#  r    r   r   r#  r   zCycle was not collected)r   r   rA   rh   ra   weakrefrefr2   iterr   rn  collectrN   )r   r#  viewsr2   r  r  	containers          r   test_container_iterator DictTest.test_container_iterator  s    	 	T[[$))4A#C++c"CaIiLCEKCEYJJLMM#%'@A r   c                     [         R                  " 5         [         R                  " 5         U R                  [         R                  " U5      U5        g r#   )rn  r  r   ro  r   ts     r   _not_trackedDictTest._not_tracked  s-    





q)1-r   c                     U R                  [        R                  " U5      U5        [        R                  " 5         [        R                  " 5         U R                  [        R                  " U5      U5        g r#   )rY   rn  ro  r  r  s     r   _trackedDictTest._tracked  sB    a(!,





a(!,r   c                 r    [        S5       H(  n0 n[        S5       H  nX2[        U5      '   M     X"S'   M*     g )Nrb  rv   )r7   r  )r   r@   rd   js       r   !test_string_keys_can_track_values*DictTest.test_string_keys_can_track_values  s5    rAA2Y#a&	 eH	 r   c                    SSS/ 4u  pp4U R                  0 5        U R                  USX!US05        U R                  SSS.5        U R                  S[        S.5        U R                  S[        5       05        U R                  S/ 05        U R                  S/ 405        U R                  S0 05        U R                  S[	        5       05        g )	N      ?rS   )r   Nr   r   r   )r   rT   )r   )NTFr   )r  r  r   r  r`   )r   r   r  r   ws        r   test_track_literalsDictTest.test_track_literals  s     #y",
a"1Ra*+c*+a#>?1fh-( 	q"gq2%j!q"gq#%j!r   c                 <    " S S[         5      nSSS[        5       4/ U" 5       4u  p#pEn[        5       nU R                  U5        SUS'   U R                  U5        SXs'   U R                  U5        SXt'   U R                  U5        U R                  UR                  5       5        XWS'   U R	                  U5        U R	                  UR                  5       5        S US'   U R                  U5        U R                  UR                  5       5        [        5       n[        5       nXS'   U R                  U5        U R	                  U5        XxS'   U R	                  U5        [        R                  X#U/5      nU R                  U5        [        5       nUR                  U5        U R                  U5        [        R                  X#XF/5      nU R	                  U5        [        5       nUR                  U5        U R	                  U5        [        X#US	9nU R                  U5        [        X#XES
9nU R	                  U5        [        5       nUR                  X#US	9  U R                  U5        UR                  US9  U R	                  U5        [        X#4US4/5      nU R                  U5        [        X#4XE4/5      nU R	                  U5        [        5       nUR                  X#4US4/5        U R                  U5        UR                  X#4XE4/5        U R	                  U5        g )Nc                       \ rS rSrSrg)-DictTest.test_track_dynamic.<locals>.MyObjecti  r   Nr   r   r   r   MyObjectr    r   r   r  r  rS   r   r   rG   r   r   r  r   )r   r  r   r  )r  )r   r   r  rM   r  rV  r   )	r   r  r   r  r   r  ord   dds	            r   test_track_dynamicDictTest.test_track_dynamic  s   	v 	S1fh-XZ?aAF!!!!!!&&(#!aaffh!!!&&(# FV!"a1bMM1)$!V
		!"MM1,'aV
		!b1Q!1Q$aF	1Q!	1a1&1a&!"!1&1&!"aF	1&1a&!"!	1&1&!"ar   c                 N     " S S[         5      nU R                  U" 5       5        g )Nc                       \ rS rSrSrg),DictTest.test_track_subtypes.<locals>.MyDicti  r   Nr   r   r   r   MyDictr    r   r   r  )r   r  )r   r  s     r   test_track_subtypesDictTest.test_track_subtypes  s    	T 	fhr   c                      " S S5      nU" 5       nUR                   nU R                  U5        SUl        U R                  U5        / Ul        U R	                  U5        g )Nc                       \ rS rSrSrg)2DictTest.test_track_lazy_instance_dicts.<locals>.Ci  r   Nr   r   r   r   r#  r    r   r   r#  r   )rx   r  	untrackedtrackedr  r   r#  r  rd   s       r   test_track_lazy_instance_dicts'DictTest.test_track_lazy_instance_dicts  sR    	 	CJJ!!	ar   c                      " S S5      n/ n[        U5       H:  nU" 5       nSu  Ul        Ul        Ul        UR	                  UR
                  5        M<     U$ )Nc                       \ rS rSrSrg)(DictTest.make_shared_key_dict.<locals>.Ci  r   Nr   r   r   r   r#  r    r   r   r#  rH   )r7   r   r  r   r  rx   )r   r?   r#  dictsr@   rS   s         r   make_shared_key_dictDictTest.make_shared_key_dict  sP    	 	 qAA#MACacLL$ 
 r   c                 8   U R                  S5      u  pSUS'   [        R                  " U5      nSUS'   UR                  SS5        [        R                  " U5      nSUS'   U R	                  [        U5      / SQ5        U R	                  [        U5      / SQ5        g )Nr   r   rS   rT   )r   r  r   rS   rT   )r   r  r   rT   rS   )r  sys	getsizeofr  r$   rX  )r   rS   rT   size_asize_bs        r   test_splittable_setdefault#DictTest.test_splittable_setdefault*  s     ((+#q!#	S!q!#a";<a";<r   c                    U R                  S5      u  p[        R                  " U5      nUS	 U R                  [        5         US	 S S S 5        U R                  [        U5      SS/5        U R                  [        U5      / SQ5        SUS'   U R                  [        U5      / SQ5        U R                  [        U5      / SQ5        g ! , (       d  f       N= fNr   r  r   r   r  r   )r   r   r  )r  r  r  r   r   r$   rX  )r   rS   rT   	orig_sizes       r   test_splittable_delDictTest.test_splittable_del:  s     ((+MM!$	cFx(# ) 	a3*-a/2 #a/2a/2 )(s   C
Cc                    U R                  S5      u  pUR                  S5        U R                  [        5         UR                  S5        S S S 5        U R	                  [        U5      SS/5        U R	                  [        U5      / SQ5        SUS'   U R	                  [        U5      / SQ5        U R	                  [        U5      / SQ5        g ! , (       d  f       N= fr  )r  r  r   r   r$   rX  r   rS   rT   s      r   test_splittable_popDictTest.test_splittable_popM  s    ((+	c
x(EE#J ) 	a3*-a/2 #a/2a/2 )(s   C
Cc                     U R                  S5      u  pSUS'   U R                  [        5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r   rS   )r  r   r   r  r  s      r   test_splittable_pop_pending$DictTest.test_splittable_pop_pending]  sD     ((+#x(EE#J )((s   A		
Ac                    U R                  S5      u  p[        R                  " U5      nUR                  5       nU R	                  US5        U R                  [        5         US	 S S S 5        U R                  [        R                  " U5      U5        U R	                  [        U5      SS/5        U R	                  [        U5      / SQ5        g ! , (       d  f       No= f)Nr   )r   rG   r   r   r  r  )	r  r  r  r  r$   r   r   assertGreaterrX  )r   rS   rT   r  items        r   test_splittable_popitem DictTest.test_splittable_popitemf  s     ((+MM!$	yy{x(x(# ) 	3==+Y7a3*-a/2 )(s   !C
Cc                      " S S5      nU" S5      nU" S5      nU R                  [        UR                  5      / SQ5        0 nUR                  UR                  5        U R                  [        U5      / SQ5        g )Nc                       \ rS rSrS rSrg)*DictTest.test_splittable_update.<locals>.Ciy  c                 h    U(       a  Su  U l         U l        U l        g Su  U l        U l        U l         g )NrH   r"  )r   orders     r   r   3DictTest.test_splittable_update.<locals>.C.__init__z  s)    -4*DFDFDF-4*DFDFDFr   r"  Nr:  r   r   r   r#  r  y  s    5r   r#  TF)rU   rT   rS   )r$   rX  rx   r   r  s       r   test_splittable_updateDictTest.test_splittable_updatev  sb    	5 	5 dGeHajj)?;	a/2r   c                      " S S5      nU" 5       nSUl         UR                  nSUS'   U R                  [        U5      SS/5        g )Nc                       \ rS rSrSrg)<DictTest.test_splittable_to_generic_combinedtable.<locals>.Ci  r   Nr   r   r   r   r#  r    r   r   r#  r   r   r   )r   rx   r$   rX  )r   r#  rS   rd   s       r   (test_splittable_to_generic_combinedtable1DictTest.test_splittable_to_generic_combinedtable  sF    	 	 CJJ!a3(+r   c                    [        [        R                  S-   5       H  nSSSS.n[        U5      n[        R                  " X15      n[        R
                  " U5      nU R                  [        U5      [        U5      5        [        R
                  " U5      n [        U5      n[        R                  " X15      n[        R
                  " U5      nX%	 U R                  [        U5      [        U5      5        M     g ! [         a     M  f = fNr   rS   rT   rU   rH   )
r7   pickleHIGHEST_PROTOCOLr  dumpsloadsr$   rX  nextr   r   protodataitrd   drops         r   test_iterator_picklingDictTest.test_iterator_pickling  s    622Q67ESC(DdBR'AaBT"XtDz2aBBx R'AaB
T"XtDz2 8 ! s   C::
DDc                 H   [        [        R                  S-   5       GH  nSSSS.n[        UR	                  5       5      n[        R
                  " X15      n[        R                  " U5      nU R                  U[        R                  R                  5        U R                  [        U5      U5        [        R                  " U5      n[        U5      n[        R
                  " XQ5      n[        R                  " U5      nX&S   	 U R                  [        U5      U5        GM     g Nr   rS   rT   rU   rH   r   )r7   r  r  r  rA   r  r  rz   r-  r!  Iteratorr$   r   r  r   r  r  itorgrd   r  r  s          r   test_itemiterator_pickling#DictTest.test_itemiterator_pickling  s    622Q67ESC(D&EU*AaB !!"koo&>&>?T"Xt,aB8DR'AaB!WT"Xt,' 8r   c           
      v   [        [        R                  S-   5       GH  nSSSS.n[        UR	                  5       5      n[        R
                  " X15      n[        R                  " U5      nU R                  [        U5      [        UR	                  5       5      5        [        R                  " U5      n[        U5      n[        R
                  " X15      n[        R                  " U5      n[        U5      U/-   nU R                  [        U5      [        [        UR	                  5       5      5      5        GM     g r  )r7   r  r  r  rh   r  r  r$   rX  r  sortedr   r  r  r  rd   r  rh   s          r   test_valuesiterator_pickling%DictTest.test_valuesiterator_pickling  s    622Q67ESC(Ddkkm$BR'AaBT"XtDKKM':;aB8DR'AaB"X&FVF^VD4G-HI 8r   c           	      :   [        [        R                  S-   5       H  nSSSS.n[        U5      n[        R                  " X15      n[        R
                  " U5      nU R                  [        U5      [        [        U5      5      5        [        R
                  " U5      n [        U5      n[        R                  " X15      n[        R
                  " U5      nX%	 U R                  [        U5      [        [        U5      5      5        M     g ! [         a     M  f = fr  )
r7   r  r  reversedr  r  r$   rX  r  r   r  s         r   test_reverseiterator_pickling&DictTest.test_reverseiterator_pickling  s    622Q67ESC(D$BR'AaBT"XtHTN';<aBBx R'AaB
T"XtHTN';< 8 ! s   !D
DDc                 H   [        [        R                  S-   5       GH  nSSSS.n[        UR	                  5       5      n[        R
                  " X15      n[        R                  " U5      nU R                  U[        R                  R                  5        U R                  [        U5      U5        [        R                  " U5      n[        U5      n[        R
                  " XQ5      n[        R                  " U5      nX&S   	 U R                  [        U5      U5        GM     g r  )r7   r  r  r  rA   r  r  rz   r-  r!  r  r$   r   r  r  s          r   !test_reverseitemiterator_pickling*DictTest.test_reverseitemiterator_pickling  s    622Q67ESC(DTZZ\*EU*AaB !!"koo&>&>?T"Xt,aB8DR'AaB!WT"Xt,' 8r   c           
      v   [        [        R                  S-   5       GH  nSSSS.n[        UR	                  5       5      n[        R
                  " X15      n[        R                  " U5      nU R                  [        U5      [        [        UR	                  5       5      5      5        [        R                  " U5      n[        U5      n[        R
                  " X15      n[        R                  " U5      n[        U5      U/-   nU R                  [        U5      [        UR	                  5       5      5        GM     g r  )r7   r  r  r  rh   r  r  r$   rX  r  r   r  s          r   #test_reversevaluesiterator_pickling,DictTest.test_reversevaluesiterator_pickling  s    622Q67ESC(D$++-(BR'AaBT"XtHT[[],C'DEaB8DR'AaB"X&FVF^VDKKM-BC 8r   c           	           " S S5      nU" S5      n " S S[         5      nU R                  UR                  [        X#" S5      5      5        U R                  UR                  UR                  U" S5         5        g )Nc                       \ rS rSrS rSrg)=DictTest.test_instance_dict_getattr_str_subclass.<locals>.Fooi  c                     Xl         g r#   msg)r   r  s     r   r   FDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__  s    r   r  Nr:  r   r   r   Foor    s    r   r  123c                       \ rS rSrSrg)>DictTest.test_instance_dict_getattr_str_subclass.<locals>._stri	  r   Nr   r   r   r   _strr  	  r   r   r  r  )r  r$   r  getattrrx   )r   r  rZ  r  s       r   'test_instance_dict_getattr_str_subclass0DictTest.test_instance_dict_getattr_str_subclass  sc    	 	 J	3 	4; 78

4; 78r   c                      " S S5      nU" 5       nSUR                   S'   SUl        U R                  UR                   SSS.5        g )Nc                       \ rS rSrSrg)FDictTest.test_object_set_item_single_instance_non_str_key.<locals>.Fooi  r   Nr   r   r   r   r  r    s    4r   r  r   rS   )r   rS   )rx   rS   r$   )r   r  rZ  s      r   0test_object_set_item_single_instance_non_str_key9DictTest.test_object_set_item_single_instance_non_str_key  s:    E

1s^4r   c                    ^^  " UU4S jS5      nS Vs0 s H
  o3U" 5       _M     snm[        T5       H  nUTU'   M
     g s  snf )Nc                   $   > \ rS rSrU U4S jrSrg)4DictTest.check_reentrant_insertion.<locals>.Mutatingi  c                    > T" T5        g r#   r   )r   rd   mutates    r   __del__<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__  s
    q	r   r   Nr   r   r   r   r'  r   )rd   r&  s   r   Mutatingr$    s     r   r*  abcdefghijklmnopqr)rX  )r   r&  r*  r1   rd   s    `  @r   check_reentrant_insertion"DictTest.check_reentrant_insertion  sE    	 	 %99$8q
]$89aAAaD  :s   Ac                    ^  S nT R                  U5        U 4S jnT R                  U5        S nT R                  U5        g )Nc                     SU S'   g )Nr#  rT   r   r   s    r   r&  1DictTest.test_reentrant_insertion.<locals>.mutate#  s    AcFr   c                 \   > U R                  TR                  5        U R                  5         g r#   )r   rx   r   )rd   r   s    r   r&  r0  '  s    HHT]]#GGIr   c                 F    U (       a  U R                  5         U (       a  M  g g r#   )r  r   s    r   r&  r0  ,  s    		 !r   )r,  )r   r&  s   ` r   test_reentrant_insertion!DictTest.test_reentrant_insertion!  s@    	&&v.	 	&&v.	 	&&v.r   c                    ^  " U4S jS5      n[        SS5       Vs/ s H  o"S4PM     nn[        U5      mSTU" 5       '   U" 5       SSS0nU R                  [        UR                  T5        g s  snf )Nc                   (   > \ rS rSrS rU 4S jrSrg))DictTest.test_merge_and_mutate.<locals>.Xi2  c                     gr  r   r&   s    r   r   2DictTest.test_merge_and_mutate.<locals>.X.__hash__3  r  r   c                 &   > TR                  5         gr  r  )r   r  r   s     r   r   0DictTest.test_merge_and_mutate.<locals>.X.__eq__6  s    r   r   Nrm  )r   s   r   r  r7  2  s     r   r  r   i9  r   )r7   r   r   r  r   )r   r  r@   lrd   r   s        @r   test_merge_and_mutateDictTest.test_merge_and_mutate1  si    	 	 "!TN+NqUN+Qac
S!QN,%8	 ,s   A.c                     [         R                  " U [        [        5        [         R                  " U S [        5        [         R                  " U S [        5        [         R                  " U S [        5        g )Nc                 4    [        U R                  5       5      $ r#   )r  ra   r   s    r   r  4DictTest.test_free_after_iterating.<locals>.<lambda>B  s    4>r   c                 4    [        U R                  5       5      $ r#   )r  rh   r   s    r   r  rA  C  s    4
;Kr   c                 4    [        U R                  5       5      $ r#   )r  rA   r   s    r   r  rA  D  s    4	?r   )r   check_free_after_iteratingr  r   r&   s    r   test_free_after_iterating"DictTest.test_free_after_iterating@  sM    **4t<**41I4P**41KTR**41JDQr   c                    ^^^  " UU4S jS5      nU" 5       S0mU" 5       U" 5       0mU R                  TT:H  5         " U4S jS5      nSU" 5       0nS[        5       0mU R                  UT:H  5        g )Nc                   4   > \ rS rSrU4S jrU 4S jrS rSrg)9DictTest.test_equal_operator_modifying_operand.<locals>.XiH  c                 &   > TR                  5         g r#   r  )r   dict_bs    r   r'  ADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__I  s    r   c                 &   > TR                  5         gNTr  )r   r   dict_as     r   r   @DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__L      r   c                     gN   r   r&   s    r   r   BDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__P  r   r   r   N)r   r   r   r   r'  r   r   r   )rO  rK  s   r   r  rI  H  s    r   r  r   c                   "   > \ rS rSrU 4S jrSrg)9DictTest.test_equal_operator_modifying_operand.<locals>.YiX  c                 &   > TR                  5         grN  r  )r   r   dict_ds     r   r   @DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__Y  rQ  r   r   Nr"  )rY  s   r   YrW  X  s     r   r[  )rY   r`   )r   r  r[  dict_crO  rK  rY  s       @@@r   %test_equal_operator_modifying_operand.DictTest.test_equal_operator_modifying_operandF  sk    		 		 #q#qs&()	 	
 QSSU&()r   c                    ^  " U4S jS[         5      n0 mU" S5      SU" S5      S0m [        R                  T5        g ! [         a     g f = f)Nc                   (   > \ rS rSrS rU 4S jrSrg)ADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.Xic  c                     grS  r   r&   s    r   r   JDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__d  r   r   c                 D   > [        T5      S:  a  TR                  5         gNr   Fr   r   r   r   rd   s     r   r   HDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__g      q6A:GGIr   r   Nrm  r   s   r   r  ra  c       r   r  r   r   r  r   rV  r  r   r  rd   s     @r   -test_fromkeys_operator_modifying_dict_operand6DictTest.test_fromkeys_operator_modifying_dict_operanda  sO    	 	 qT1adA	MM! 		s   ? 
AAc                    ^  " U4S jS[         5      n0 mU" S5      U" S5      1m [        R                  T5        g ! [         a     g f = f)Nc                   (   > \ rS rSrS rU 4S jrSrg)@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.Xiu  c                     grS  r   r&   s    r   r   IDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__v  r   r   c                 D   > [        T5      S:  a  TR                  5         gre  rf  rg  s     r   r   GDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__y  ri  r   r   Nrm  r   s   r   r  rq  u  rj  r   r  r   r   rk  rl  s     @r   ,test_fromkeys_operator_modifying_set_operand5DictTest.test_fromkeys_operator_modifying_set_operands  sJ    	 	 qT1Q4L	MM! 		s   = 
A
	A
c                 l   ^  " U4S jS5      nS[        5       0mSU" 5       4TR                  5       ;     g )Nc                   "   > \ rS rSrU 4S jrSrg):DictTest.test_dictitems_contains_use_after_free.<locals>.Xi  c                 0   > TR                  5         [        $ r#   r   rP   rg  s     r   r   ADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__      	%%r   r   Nr"  r   s   r   r  rz    s    & &r   r  r   )r`   rA   rl  s     @r   &test_dictitems_contains_use_after_free/DictTest.test_dictitems_contains_use_after_free  s.    	& 	&
 J	
ACAGGIr   c                 d   ^  " U4S jS[         5      nU" 5       S0mU R                  ST;   5        g )Nc                   (   > \ rS rSrU 4S jrS rSrg)4DictTest.test_dict_contain_use_after_free.<locals>.Si  c                 0   > TR                  5         [        $ r#   r|  rg  s     r   r   ;DictTest.test_dict_contain_use_after_free.<locals>.S.__eq__  r~  r   c                     [        S5      $ )Ntestrh  r&   s    r   r   =DictTest.test_dict_contain_use_after_free.<locals>.S.__hash__      F|#r   r   Nr   r   s   r   Sr    s    &$r   r  rG  r  )r  r   )r   r  rd   s     @r    test_dict_contain_use_after_free)DictTest.test_dict_contain_use_after_free  s.    	$ 	$ S'N1%r   c                 J   ^  " U4S jS5      nU" 5       S/m[        T/5        g )Nc                   "   > \ rS rSrU 4S jrSrg),DictTest.test_init_use_after_free.<locals>.Xi  c                    > / TS S & grS  r   )r   pairs    r   r   5DictTest.test_init_use_after_free.<locals>.X.__hash__  s    Qr   r   N)r   r   r   r   r   r   )r  s   r   r  r    s     r   r  {   )r   )r   r  r  s     @r   test_init_use_after_free!DictTest.test_init_use_after_free  s#    	 	
 SzdVr   c                    ^  " U4S jS[         5      n[        S5       Vs0 s H  o"U" U5      _M     snmU4S jnU R                  [        U5        g s  snf )Nc                   "   > \ rS rSrU 4S jrSrg);DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.Xi  c                 &   > TR                  5         g r#   r  ri   s    r   r'  CDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__  s    	r   r   Nr)  r   s   r   r  r    r   r   r  r-   c                  T   > TR                  5        H  n U S   S:X  d  M  S TS'   M     g )Nr   r   r  )resultrd   s    r   iter_and_mutateIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutate  s'    '')!9>AaD $r   )r  r7   r   r  )r   r  r@   r  rd   s       @r   'test_oob_indexing_dictiter_iternextitem0DictTest.test_oob_indexing_dictiter_iternextitem  sK    	 	 $Ah'h!Wh'	 
 	,8 (s   Ac                     SSSSSS.nUS	 [        U5      nU R                  [        U5      [        S5      5        U R                  [        [
        U5        g )	Nr   r   r   rG   r   )rS   rT   rv   rU   rd   rv   dcba)r  r$   rX  r   r   r  )r   rd   rs      r   test_reversedDictTest.test_reversed  sL    !AAA6eHQKa$v,/-q1r   c                 ,   U R                  [        [        0 5      5      / 5        U R                  [        [        0 R                  5       5      5      / 5        U R                  [        [        0 R	                  5       5      5      / 5        U R                  [        [        0 R                  5       5      5      / 5        U R                  [        [        [        5       5      5      / 5        U R                  [        [        [        5       R                  5       5      5      / 5        U R                  [        [        [        5       R	                  5       5      5      / 5        U R                  [        [        [        5       R                  5       5      5      / 5        g r#   )r$   rX  r  rA   rh   ra   r   r&   s    r   $test_reverse_iterator_for_empty_dict-DictTest.test_reverse_iterator_for_empty_dict  s    	hrl+R0hrxxz23R8hryy{34b9hrwwy12B7 	htv./4htv||~67<htv}}78"=htv{{}56;r   c           
      ^    " S S5      nU R                  [        [        U" SS5      R                  5      5      SS/5        U R                  [        [        U" SS5      R                  5      5      S/5        U R                  [        [        U" SS5      R                  5      5      S/5        g )Nc                       \ rS rSrS rSrg)ADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.Ai  c                 :    U(       a  Xl         U(       a  X l        g g r#   r   r  )r   r   r  s      r   r   JDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__  s    qfqf1r   r  Nr:  r   r   r   rl  r    s    !r   rl  r   r   r  r   r   )r$   rX  r  rx   )r   rl  s     r   -test_reverse_iterator_for_shared_shared_dicts6DictTest.test_reverse_iterator_for_shared_shared_dicts  s    	! 	!
 	hqAw'7'789C:FhqAw'7'789C5AhqAw'7'789C5Ar   c                 (   [         R                  " SS/5      nUR                  S5        [        UR	                  5       5      n[        U5      nU R                  [        UR	                  5       5      U5         " S S[
        5      n/ SQnU" U5      nU R                  U[        [        U5      R	                  5       5      5         " S S[
        5      nU" U5      nU R                  US S S	2   [        [        U5      R	                  5       5      5        g )
NrS   r   rT   r   rS   c                       \ rS rSrSrg)1DictTest.test_dict_copy_order.<locals>.CustomDicti  r   Nr   r   r   r   
CustomDictr    r   r   r  )r  r  )rU   rG   c                   $    \ rS rSrS r\rS rSrg)9DictTest.test_dict_copy_order.<locals>.CustomReversedDicti  c                 P    [        [        [        R                  U 5      5      5      $ r#   )r  rX  r   ra   r&   s    r   ra   >DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keys  s    TYYt_ 566r   c                 >    [        [        R                  U 5      5      $ r#   )r  r   rA   r&   s    r   rA   ?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.items  s    

4 011r   r   N)r   r   r   r   ra   r   rA   r   r   r   r   CustomReversedDictr    s    7 H2r   r  r  )r-  OrderedDictmove_to_endrX  rA   r   r$   )r   odr7  rM   r  pairsrd   r  s           r   test_dict_copy_orderDictTest.test_dict_copy_order  s    $$h%9:
s
#Bxdjjl+X6	 	 /uT!W]]_ 56	2 	2 u%ttd47==?&;<r   c                     [        S / 0R                  5       5      n[        R                  " 5         U R	                  [        R
                  " [        U5      5      5        g r#   )r  rA   rn  r  rY   ro  r  r   r  s     r   test_dict_items_result_gc"DictTest.test_dict_items_result_gc  s?    
 4*""$%


 	d2h/0r   c                     [        S / 0R                  5       5      n[        R                  " 5         U R	                  [        R
                  " [        U5      5      5        g r#   )r  rA   rn  r  rY   ro  r  r  s     r   "test_dict_items_result_gc_reversed+DictTest.test_dict_items_result_gc_reversed  s=     tRj&&()


d2h/0r   c                      " S S5      n " S S5      nU" 5       n0 Ul         [        S5       H  nU" UR                   5      Ul        M     g )Nc                        \ rS rSrS rS rSrg).DictTest.test_store_evilattr.<locals>.EvilAttri  c                     Xl         g r#   r   ri   s     r   r   7DictTest.test_store_evilattr.<locals>.EvilAttr.__init__  s    r   c                 h    SU R                   ;   a  U R                   S	 [        R                  " 5         g )Nattr)rd   rn  r  r&   s    r   r'  6DictTest.test_store_evilattr.<locals>.EvilAttr.__del__  s"    TVV#v

r   r   N)r   r   r   r   r   r'  r   r   r   r   EvilAttrr    s    r   r  c                       \ rS rSrSrg))DictTest.test_store_evilattr.<locals>.Obji  r   Nr   r   r   r   Objr    r   r   r  rb  )rx   r7   r  )r   r  r  r  r6  s        r   test_store_evilattrDictTest.test_store_evilattr  sD    	 		 	 erA-CH r   c           	        ^^^  " S S[         5      nSm " UU4S jS5      mU" S5      nT" 5       nT" 5       n/ nX#4 GH3  mUR                  SSS	S
TS05        SS
S.nSUT'   UR                  U5        SS
S.nU R                  UR                  TS5      S5        UR                  U5        SS
S.nUR	                  TS05        UR                  U5        SS
S.nUTS0-  nUR                  U5        U4S jn[        U" 5       5      nUR                  U5        UR                  5       nUR                  U5        [        SS	T/5       VV	s0 s H  u  pU	SU-   _M     nnn	UR                  U5        GM6     U GH*  nU R                  US9   U R                  UR                  S5      S5        Sn
U
S-  n
[        R                  " SS9(       a  SnU R                  XL 5        U R                  UR                  U
5      S5        U R                  UR                  S5      S5        U R                  UR                  U5      S5        U R                  UR                  U5      S5        SmU R                  UR                  U5      S5        U R                  TS5        S S S 5        GM-     g s  sn	nf ! , (       d  f       GMF  = f)Nc                       \ rS rSrSrg)(DictTest.test_str_nonstr.<locals>.StrSubi  r   Nr   r   r   r   StrSubr    r   r   r  r   c                   *   > \ rS rSrS rU U4S jrSrg)&DictTest.test_str_nonstr.<locals>.Key3i  c                     [        S5      $ )Nkey3r  r&   s    r   r   /DictTest.test_str_nonstr.<locals>.Key3.__hash__   r  r   c                 j   > [        UT5      (       d  [        U[        5      (       a  US:X  a  TS-  mgg)Nr  r   TF)rk  r  )r   r   Key3r  s     r   r   -DictTest.test_str_nonstr.<locals>.Key3.__eq__#  s2    eT**j.D.DRXMHr   r   Nrm  )r  r  s   r   r  r    s    $ r   r  r  r  r   r  +   ,   )r  r  c               3   *   >#    Sv   Sv   T S4v   g 7f)N)r  r   )r  r  r  r   )r  s   r   
make_pairs,DictTest.test_str_nonstr.<locals>.make_pairsM  s     """"Rj s   r   key1T)cpythonr   )r  r  r$   r  r   r   rM   	enumeratere  rv  r   check_impl_detailr   assertGreaterEqual)r   r  key3_1key3_2key3_3r  rd   r  r@   r   noninterned_key1interned_key1r  r  r  s               @@@r   test_str_nonstrDictTest.test_str_nonstr  s   
	S 	 		 		  $DLL&"fb$;< R(AAdGLLO R(AQ\\$3R8LLO R(AHHdBZ LLO R(A$OALLO! Z\"ALLO ALLO +4VVT4J*KL*Kb1f*KALLLOM %P A"  v3 $(  D( ,,T:$*M$$%5%FG  '7!8"=  v3  v3  v3   v3''!45 #"  M #"s   J(DJ..
J>	r   N)ar   r   r   r   r    r'   rD   rV   r[   re   rj   rn   r   r   r   r   r   r  r  r[  r_  rg  rp  rs  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  r,  r0  r9  r<  r[  r_  rt  rx  r  r  r  r  r  r  r   cpython_onlyr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r   r,  r3  r=  rE  r]  rm  rv  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r   r      s   %%
	=<@*EGL'(
5$$1L4J>XBIBV36 B 
>46A(A*/6)B'4($3$8*,X$,+93
:)2V4%8 ,B .- " "" = =~     	 	
 = = 3 3$ 3 3   3 3 3 3  
, 
,3$-,J =$-,D 95
/ 9R*6$$&92<B=< 	1 	1 1 1.$b5r   r   c                   8    \ rS rSr\R
                  S 5       rSrg)CAPITestiz  c           	        ^ [         R                  " S5      nUR                  nSSSS.nU R                  U" US[	        S5      5      S5        U R                  U" US[	        S5      5      S5        U R                  U" US[	        S5      5      S5        U R                  [        U/ S[	        S5      5        U R                  [        U0 S[	        S5      5         " S	 S
[        5      m " U4S jS5      nU" 5       U" 5       peUS0nU R                  U" X5[	        U5      5      S5        U R                  TX#U[	        U5      5        g )N_testinternalcapir   r   rG   r  r   r  r   c                       \ rS rSrSrg),CAPITest.test_getitem_knownhash.<locals>.Exci  r   Nr   r   r   r   r   r    r   r   r   c                   (   > \ rS rSrU 4S jrS rSrg).CAPITest.test_getitem_knownhash.<locals>.BadEqi  c                    > Ter#   r   r   s     r   r   5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__  r   r   c                     g)N   r   r&   s    r   r   7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__  r  r   r   Nr   r   s   r   r   r     s    r   r   )	r   import_moduledict_getitem_knownhashr$   rh  r   SystemErrorr   r   )r   r  r  rd   r   r)  r*  r   s          @r   test_getitem_knownhashCAPITest.test_getitem_knownhash}  s   )778KL!2!I!I!!$/3S	BAF/3S	BAF/3S	BAF 	+'=r1d1gN($:B47K")"	 	 %'BG/tBx@!D#5"d2hGr   r   N)r   r   r   r   r   r  r	  r   r   r   r   r  r  z  s     H Hr   r  )mapping_testsc                       \ rS rSr\rSrg)GeneralMappingTestsi  r   N)r   r   r   r   r   	type2testr   r   r   r   r  r        Ir   r  c                       \ rS rSrSrg)rt   i  r   Nr   r   r   r   rt   rt     s    r   rt   c                       \ rS rSr\rSrg)SubclassMappingTestsi  r   N)r   r   r   r   rt   r  r   r   r   r   r  r    r  r   r  __main__)r-  collections.abcrn  r  r9   r;   r  unittestr  r  r   test.supportr   r   TestCaser   r  r  BasicTestMappingProtocolr  r   rt   r  r   mainr   r   r   <module>r     s      	    
    =i5x   i5X3Hx   H> -@@ 	4 	=AA  zMMO r   