+
    BiW                     x    ^ RI t ^ RIt^ RIHt  ! R R] P                  4      t ! R R]4      t ! R R]4      tR# )	    N)supportc                      a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tRtV tR# )BasicTestMappingProtocolNc                    RRRRRR/# )zVReturn a dictionary of values which are invariant by storage
in the object under test.12key1value1key2          selfs   &)/usr/lib/python3.14/test/mapping_tests.py
_reference#BasicTestMappingProtocol._reference   s     S&6'::    c                "    V P                  4       # )zReturn an empty mapping object)	type2testr   s   &r   _empty_mapping'BasicTestMappingProtocol._empty_mapping   s    ~~r   c                `    V P                  4       pVP                  4        F	  w  r4WBV&   K  	  V# )zCReturn a mapping object with the value contained in data
dictionary)r   items)r   dataxkeyvalues   &&   r   _full_mapping&BasicTestMappingProtocol._full_mapping   s0     !**,JCcF 'r   c                @   \         P                  P                  ! V .VO5/ VB  V P                  4       P	                  4       V n        V P
                  P                  4       w  r4W4/V n        V P
                  P                  4       w  r4W4/V n        W@P
                  V&   R # N)	unittestTestCase__init__r   copy	referencepopitemother	inmapping)r   argskwr   r    s   &*,  r   r'   !BasicTestMappingProtocol.__init__   s    ""45$5"5*//1 ^^++-
[
 ^^++-
#sr   c                b  a aa	 S P                  4       p\        V4      pS P                  S P                  4      oSVJ d   TpS P                  P	                  4        F  w  r4S P                  SV,          V4       K   	  \        S P                  P                  4       4      ^ ,          o	S P                  \        VV	3R l4       S P                  \        V4      ^ 4       S P                  \        S4      \        S P                  4      4       S P                   F  pS P                  VS4       K  	  S P                   F  pS P                  VS4       K  	  S P                  W4       S P                  SS4       S P                  VS4       S P                  SV4       V'       d   S P                  R4       S'       g   S P                  R4       V 3R lpV! \!        SP                  4       4      \        SP                  4       4      S P                  P                  4       4       V! \!        S4      \        SP                  4       4      S P                  P                  4       4       V! \!        SP#                  4       4      \        SP#                  4       4      S P                  P#                  4       4       V! \!        SP	                  4       4      \        SP	                  4       4      S P                  P	                  4       4       \%        \!        SP	                  4       4      4      w  r4\%        \!        S P                  P	                  4       4      4      w  o	pS P                  SP'                  W74      V4       S P                  SP'                  S	V4      V4       S P                  S	S4       R# )r   c                     < S S,          # r$   r   )dknownkeys   r   <lambda>4BasicTestMappingProtocol.test_read.<locals>.<lambda>6   s	    1X;r   z#Empty mapping must compare to Falsez!Full mapping must compare to Truec                    < SP                  V R 4       SP                  V R4       \        V 4      pSP                  \        V4      \        V4      u;8H  ;'       d    \        V4      8H  4       R# u 4       R# )__next____iter__N)assertHasAttrlist
assertTrueset)iterlstrefr   r   s   &&& r   check_iterandlist=BasicTestMappingProtocol.test_read.<locals>.check_iterandlistH   sW    tZ0tZ0T
AOOCFCH66c#h6767r   N)r   dictr!   r)   r   assertEqualr:   r+   keysassertRaisesKeyErrorlenassertInassertNotInassertNotEqualfailr=   valuesnextget)
r   pp1r   r    kr@   
knownvaluer2   r3   s
   f       @@r   	test_read"BasicTestMappingProtocol.test_read+   s   !!Wt~~.6A....0JCQsVU+ 1

)*1-($67Q#QT^^!45AMM!Q  AQ"  	AAq!Aq!dii=>$))?@	8
 	$qvvx.$qvvx...--/	1$q'4>4>>3F3F3HI$qxxz*D,<..//1	3$qwwy/4	?....0	2 $qwwy/*
#D)9)9);$<=*s/7x4jA1%r   c                  aa V P                  4       oV P                  P                  4        F$  w  opVSS&   V P                  SS,          V4       K&  	  V P                  P	                  4        F!  oSS V P                  \        VV3R  l4       K#  	  V P                  4       oSP                  V P                  4       V P                  \        S4      V P                  4       \        SP                  4       4      pV P                  4       oSP                  V4       V P                  \        S4      V P                  4       V P                  V P                  4      p\        \        VP                  4       4      4      w  op\        \        V P                  P                  4       4      4      w  rEV P                  VP                  SV4      V4       V P                  VS,          V4       V P                  VP                  WE4      V4       V P                  W4,          V4       V P                  VP                  V4      V4       V P!                  WC4       V P                  \        VP                  V4       RpWSV&   V P                  VP                  WF4      V4       V P!                  WC4       V P                  VP                  WF4      V4       VP#                  4       w  opV P!                  SV4       V P                  WP                  S,          4       V P                  4       oV P                  \        SP"                  4       R# )c                     < SS ,          # r$   r   )r   rO   s   r   r4   5BasicTestMappingProtocol.test_write.<locals>.<lambda>d   s	    qvr   i  N)r   r)   r   rC   rD   rE   rF   updaterB   r:   r!   rM   r=   r+   
setdefaultpoprI   r*   )	r   r    r   r2   r3   rR   defaultr   rO   s	   &      @@r   
test_write#BasicTestMappingProtocol.test_write[   sv   !....0JCAcFQsVU+ 1 >>&&(C#h6 ) !	 a$..1QWWY!	a$..1t~~.$qwwy/*
U#D)9)9);$<=c:6>3'h;ZHj1x*5%(AEE84 (x1:>%x17;YY[
Ua s 34



(AII.r   c                b    V P                  V P                  4       V P                  4       4       R # r$   )rC   r   r   s   &r   test_constructor)BasicTestMappingProtocol.test_constructor   s$    ,,.0C0C0EFr   c                $   V P                  V P                  4       '       * 4       V P                  V P                  4       V P                  \        V P                  4       4      R J 4       V P                  \        V P                  4      RJ 4       R# )FTN)r;   r   r)   boolr   s   &r   	test_bool"BasicTestMappingProtocol.test_bool   sc    D//112'T0023u<=T^^,45r   c                   V P                  4       pV P                  \        VP                  4       4      . 4       V P                  pV P                  \        V P                  P                  4       4      ^ ,          VP                  4       4       V P                  \        V P                  P                  4       4      ^ ,          VP                  4       4       V P                  \        VP                  R4       R# r   N)r   rC   r:   rD   r)   rH   r,   rI   r+   rE   	TypeErrorr   r2   s   & r   	test_keys"BasicTestMappingProtocol.test_keys   s    !affh,NNd4>>..01!4affh?djjoo/03QVVX>)QVVT2r   c                    V P                  4       pV P                  \        VP                  4       4      . 4       V P	                  \
        VP                  R 4       R # r$   )r   rC   r:   rL   rE   rg   rh   s   & r   test_values$BasicTestMappingProtocol.test_values   sA    !ahhj)2.)QXXt4r   c                    V P                  4       pV P                  \        VP                  4       4      . 4       V P	                  \
        VP                  R 4       R # r$   )r   rC   r:   r   rE   rg   rh   s   & r   
test_items#BasicTestMappingProtocol.test_items   s@    !aggi"-)QWWd3r   c                \    V P                  4       pV P                  \        V4      ^ 4       R# rf   )r   rC   rG   rh   s   & r   test_len!BasicTestMappingProtocol.test_len   s$    !Q#r   c                0   V P                   pV P                  V\        V P                  P	                  4       4      ^ ,          ,          \        V P                  P                  4       4      ^ ,          4       V P                  \        VP                  4       R# rf   )	r)   rC   r:   r,   rD   rL   rE   rg   __getitem__rh   s   & r   test_getitem%BasicTestMappingProtocol.test_getitem   sg    NN4 3 3 56q9:dnn3356q9	; 	)Q]]3r   c                  aa V P                  4       pVP                  V P                  4       V P                  \	        VP                  4       4      \	        V P                  P                  4       4      4       V P                  4       pVP                  4        V P                  WP                  4       4       V P                  4       pVP                  V P                  P                  4       4       V P                  \	        VP                  4       4      \	        V P                  P                  4       4      4       V P                  4       pVP                  V P                  P                  4       4       V P                  \	        VP                  4       4      \	        V P                  P                  4       4      4       V P                  \        \        3VP                  ^*4       V o ! V3R lR4      pVP                  4        VP                  V! 4       4       \        VP                  4       4      p\        V P                  P                  4       4      pV P                  W44        ! R R\        4      oV P                  4       p ! V3R lR4      pV P                  SVP                  V! 4       4       VP                  4         ! V3R lR4      pV P                  SVP                  V! 4       4        ! V3R lR4      pV P                  SVP                  V! 4       4       V P                  4       p ! V3R	 lR
\        4      pV P                  SVP                  V! 4       4       V P                  \        VP                  R.4       R# )*   c                   :   <a  ] tR t^t o V3R ltR tR tRtV tR# )<BasicTestMappingProtocol.test_update.<locals>.SimpleUserDictc                *   < SP                   V n        R # r$   )r)   r2   )r   	outerselfs   &r   r'   EBasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.__init__   s    ",,r   c                6    V P                   P                  4       # r$   r2   rD   r   s   &r   rD   ABasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.keys       vv{{}$r   c                (    V P                   V,          # r$   r2   r   is   &&r   ru   HBasicTestMappingProtocol.test_update.<locals>.SimpleUserDict.__getitem__       vvay r   r   N	__name__
__module____qualname____firstlineno__r'   rD   ru   __static_attributes____classdictcell__)__classdict__r}   s   @r   SimpleUserDictr{      s     -%! !r   r   c                       ] tR t^tRtR# )1BasicTestMappingProtocol.test_update.<locals>.Excr   Nr   r   r   r   r   r   r   r   Excr          dr   r   c                   .   <a  ] tR t^t o V3R ltRtV tR# )=BasicTestMappingProtocol.test_update.<locals>.FailingUserDictc                   < Shr$   r   r   r   s   &r   rD   BBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys       	r   r   N)r   r   r   r   rD   r   r   r   r   s   @r   FailingUserDictr      s      r   r   c                   4   <a  ] tR t^t o V3R ltR tRtV tR# )r   c                ,   <  ! V3R  lR4      pV! 4       # )c                   :   <a  ] tR t^t o R tR tV3R ltRtV tR# )UBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIterc                    ^V n         R# r   Nr   r   s   &r   r'   ^BasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__   s	    !"r   c                    V # r$   r   r   s   &r   r8   ^BasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__       #r   c                >   < V P                   '       d
   ^ V n         R# Sh)r   ar   r   s   &r   r7   ^BasicTestMappingProtocol.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__   s    666%&DF#&!	r   r   N	r   r   r   r   r'   r8   r7   r   r   r   s   @r   	BogonIterr      s     #$" "r   r   r   )r   r   r   s   & r   rD   r      s    	" 	" !{"r   c                    V# r$   r   )r   r   s   &&r   ru   IBasicTestMappingProtocol.test_update.<locals>.FailingUserDict.__getitem__   s    
r   r   Nr   r   r   r   rD   ru   r   r   r   s   @r   r   r      s     # r   c                   4   <a  ] tR t^t o R tV3R ltRtV tR# )r   c                $     ! R  R4      pV! 4       # )c                   2   a  ] tR t^t o R tR tR tRtV tR# )r   c                &    \        R 4      V n        R# )r   N)ordr   r   s   &r   r'   r      s    !$Sr   c                    V # r$   r   r   s   &r   r8   r      r   r   c                    V P                   \        R 4      8:  d1   \        V P                   4      pV ;P                   ^,          un         V# \        h)z)r   r   chrStopIteration)r   rtns   & r   r7   r      s7    66SX-"%dff+C FFaKF#&J++r   r   Nr   r   s   @r   r   r      s     *$, ,r   r   r   )r   r   s   & r   rD   r      s    
, 
, !{"r   c                   < Shr$   r   )r   r   r   s   &&r   ru   r      r   r   r   Nr   r   s   @r   r   r      s     # r   c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )4BasicTestMappingProtocol.test_update.<locals>.badseqi  c                    V # r$   r   r   s   &r   r8   =BasicTestMappingProtocol.test_update.<locals>.badseq.__iter__      r   c                   < S! 4       hr$   r   r   s   &r   r7   =BasicTestMappingProtocol.test_update.<locals>.badseq.__next__  
    er   r   Nr   r   r   r   r8   r7   r   r   r   s   @r   badseqr           r   r   Nr   )r   rX   r+   rC   r:   r   rE   rg   AttributeErrorclearsortedr)   	Exceptionobject
ValueError)	r   r2   r   i1i2r   r   r   r}   s	   &      @@r   test_update$BasicTestMappingProtocol.test_update   s|   !	aggi$tzz/?/?/A*BC !	
//12 !	!!#$aggi$tzz/?/?/A*BC !	!!#$aggi$tzz/?/?/A*BC 	9n5qxxD		! 	! 	
		!"AGGIDNN((*+ ")"!	 	 	#qxx):;			 	 	#qxx):;	 	  	#qxx):;!	V 	 	#qxx2*ahh<r   c                   V P                  4       pV P                  VP                  \        V P                  P                  4       4      ^ ,          4      RJ 4       V P                  VP                  \        V P                  P                  4       4      ^ ,          ^4      ^4       V P                  pV P                  VP                  \        V P                  P                  4       4      ^ ,          4      RJ 4       V P                  VP                  \        V P                  P                  4       4      ^ ,          ^4      ^4       V P                  VP                  \        V P                  P                  4       4      ^ ,          4      \        V P                  P                  4       4      ^ ,          4       V P                  VP                  \        V P                  P                  4       4      ^ ,          ^4      \        V P                  P                  4       4      ^ ,          4       V P                  \        VP                  4       V P                  \        VP                  RRR4       R# rf   )r   r;   rN   r:   r+   rD   rC   r)   r,   rL   rE   rg   rh   s   & r   test_get!BasicTestMappingProtocol.test_get  s   !d4::??#45a89TABtDJJOO$56q91=qANNd4::??#45a89TABtDJJOO$56q91=qAtDNN$7$7$9:1=>dnn3356q9	;tDNN$7$7$9:1=qAdnn3356q9	;)QUU+)QUUD$=r   c                f    V P                  4       pV P                  \        VP                  4       R # r$   )r   rE   rg   rY   rh   s   & r   test_setdefault(BasicTestMappingProtocol.test_setdefault  s$    !)Q\\2r   c                    V P                  4       pV P                  \        VP                  4       V P                  \        VP                  ^*4       R# )ry   N)r   rE   rF   r*   rg   rh   s   & r   test_popitem%BasicTestMappingProtocol.test_popitem   s:    !(AII.)QYY3r   c                   V P                  4       p\        V P                  P                  4       4      ^ ,          w  r#W1V&   V P	                  \
        VP                  \        V P                  P                  4       4      ^ ,          4       V P                  VP                  V4      V4       V P                  \        V4      ^ 4       V P	                  \
        VP                  V4       R# rf   )r   r:   r,   r   rE   rF   rZ   r+   rD   rC   rG   r   r2   rQ   vs   &   r   test_pop!BasicTestMappingProtocol.test_pop%  s    !DNN((*+A.!(AEE4

0A+B1+EFq1%Q#(AEE1-r   )r,   r+   r)   )r   r   r   r   r   r   r   r!   r'   rS   r\   r_   rc   ri   rl   ro   rr   rv   r   r   r   r   r   r   r   r   s   @r   r   r      sp      I; $.&`(/TG6354$4]=B>34
	. 	.r   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tRtV tR# )TestMappingProtocoli1  c                    \         P                  V 4       V P                  V P                  4       V P                  4       J4       V P	                  V P                  ^^R7      R^R^/4       R# )r   r   yr   r   N)r   r_   r;   r   rC   r   r   s   &r   r_   $TestMappingProtocol.test_constructor2  sY     11$7++-T5H5H5JJK!q1CC3CDr   c                j   \         P                  V 4       V P                  V P                  4       '       * 4       V P                  V P	                  R R/4      4       V P                  \        V P                  4       4      RJ 4       V P                  \        V P	                  R R/4      4      RJ 4       R# )r   r   FTN)r   rc   r;   r   r!   rb   r   s   &r   rc   TestMappingProtocol.test_bool7  s     **40D//112**C:67T0023u<=T//c
;<DEr   c                X   \         P                  V 4       V P                  4       pV P                  \	        VP                  4       4      . 4       V P                  R ^R^/4      pVP                  4       pV P                  R V4       V P                  RV4       V P                  RV4       R# r   bcN)	r   ri   r   rC   r:   rD   r!   rH   rI   )r   r2   rQ   s   &  r   ri   TestMappingProtocol.test_keys>  s     **40!affh,QQ/0FFHc1c1a r   c                    \         P                  V 4       V P                  ^^/4      pV P                  \	        VP                  4       4      ^.4       R# r   )r   rl   r!   rC   r:   rL   rh   s   & r   rl   TestMappingProtocol.test_valuesH  sA     ,,T2!u%ahhj)A3/r   c                    \         P                  V 4       V P                  ^^/4      pV P                  \	        VP                  4       4      R.4       R# )r   N)r   r   )r   ro   r!   rC   r:   r   rh   s   & r   ro   TestMappingProtocol.test_itemsM  s@     ++D1!u%aggi6(3r   c                p   V P                  4       pV P                  R V4       V P                  R V9  4       V P                  R V9  4       V P                  R ^R^/4      pV P	                  R V4       V P	                  RV4       V P                  RV4       V P                  \        VP                  4       R# r   )r   rI   r;   r!   rH   rE   rg   __contains__rh   s   & r   test_contains!TestMappingProtocol.test_containsS  s    !a SA'1%QQ/0c1c1a )Q^^4r   c                    \         P                  V 4       V P                  R ^R^/4      pV P                  \	        V4      ^4       R# )r   r   N)r   rr   r!   rC   rG   rh   s   & r   rr   TestMappingProtocol.test_len_  s=     ))$/QQ/0Q#r   c                   \         P                  V 4       V P                  R ^R^/4      pV P                  VR ,          ^4       V P                  VR,          ^4       ^VR&   ^VR &   V P                  VR,          ^4       V P                  VR ,          ^4       VR V P                  VR ^R^/4       V P	                  \
        VP                  4       R# r   )r   rv   r!   rC   rE   rg   ru   rh   s   & r   rv    TestMappingProtocol.test_getitemd  s     --d3QQ/03#3###3#3#cFS!S!,-)Q]]3r   c                    V P                  ^^^^^^/4      pVP                  4        V P                  V/ 4       V P                  \        VP                  R4       R# r   )r!   r   rC   rE   rg   rh   s   & r   
test_clearTestMappingProtocol.test_clearr  sM    !Qq!A/		B)QWWd3r   c                J   \         P                  V 4       V P                  4       pVP                  ^^d/4       VP                  ^^/4       VP                  ^^^^^^/4       V P	                  V^^^^^^/4       VP                  4        V P	                  V^^^^^^/4       V P                  4       pVP                  ^dR7       VP                  ^R7       VP                  ^^^R7       V P	                  VR^R^R^/4       V P                  4       pVP                  RR.4       V P	                  VR^dR^/4       V P                  4       pVP                  RR.^^R7       V P	                  VR^R^/4       V P                  ^^^^/4      pVP                  V P                  ^^^^^^/4      P                  4       4       V P	                  V^^^^^^^^/4        ! R R	4      pVP                  4        VP                  V! 4       4       V P	                  V^^^^^^/4       R
# )r   )r   )r   )r   r   r   r   r   r   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )7TestMappingProtocol.test_update.<locals>.SimpleUserDicti  c                     ^^^^^^/V n         R# r   r   r   s   &r   r'   @TestMappingProtocol.test_update.<locals>.SimpleUserDict.__init__  s    AqAar   c                6    V P                   P                  4       # r$   r   r   s   &r   rD   <TestMappingProtocol.test_update.<locals>.SimpleUserDict.keys  r   r   c                (    V P                   V,          # r$   r   r   s   &&r   ru   CTestMappingProtocol.test_update.<locals>.SimpleUserDict.__getitem__  r   r   r   Nr   r   s   @r   r   r     s     )%! !r   r   N)r   d   )r      )r   r   r   rX   rC   r!   r   r   )r   r2   r   s   &  r   r   TestMappingProtocol.test_updatey  s    ,,T2!	!C	!B	!AqAa!Qq!AqO, 	

Qq!AqO, !	3	2	1QSC3q12 !	*i()Sc"-. !	*i(A3SCN+ !Qqz*	##Qq!AqO4::<=Qq!AqAa01	! 	! 	
		!"Qq!AqO,r   c           	       a	 V P                  V P                  P                  R 4      RRRRRR/4       V P                  4       pV P	                  VP                  R 4      VJ4       V P                  VP                  R 4      RRRRRR/4       V P                  VP                  R^ 4      ^^ ^^ /4       V P                  VP                  . 4      / 4       R pV P                  VP                  V! 4       4      ^R/4       V P                  \        / P                  ^4        ! R RV P                  4      pV P                  VP                  R4      RR/4       V P                  V! 4       P                  R4      RR/4       V P	                  VP                  R4      P                  VJ 4       V P	                  V! 4       P                  R4      P                  VJ 4       V P	                  \        VP                  R4      4      VJ 4        ! R R	V P                  4      pVP                  R
4      pV P                  VRRRR/4       V P                  V\        P                  4       V P                  \        \        P                  4        ! R R\        4      o	 ! V	3R lRV P                  4      pV P                  S	VP                  ^.4        ! V	3R lR\        4      pV P                  S	V P                  P                  V! 4       4        ! V	3R lRV P                  4      pV P                  S	VP                  ^.4       R# )abcr   Nr   r   c               3      "   ^x  R# 5ir   r   r   r   r   g,TestMappingProtocol.test_fromkeys.<locals>.g  s
     Gs   	c                       ] tR tRtRtR# )3TestMappingProtocol.test_fromkeys.<locals>.dictlikei  r   Nr   r   r   r   dictliker    s    r   r  c                   &   a  ] tR tRt o R tRtV tR# )1TestMappingProtocol.test_fromkeys.<locals>.mydicti  c                ,    \         P                  ! 4       # r$   collectionsUserDictclss   &r   __new__9TestMappingProtocol.test_fromkeys.<locals>.mydict.__new__      "++--r   r   Nr   r   r   r   r  r   r   r   s   @r   mydictr         . .r   r  abc                       ] tR tRtRtR# ).TestMappingProtocol.test_fromkeys.<locals>.Exci  r   Nr   r   r   r   r   r"    r   r   r   c                   .   <a  ] tR tRt o V3R ltRtV tR# )3TestMappingProtocol.test_fromkeys.<locals>.baddict1i  c                   < S! 4       hr$   r   )r   r-   kwargsr   s   &*,r   r'   <TestMappingProtocol.test_fromkeys.<locals>.baddict1.__init__  r   r   r   N)r   r   r   r   r'   r   r   r   s   @r   baddict1r$          r   r(  c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )1TestMappingProtocol.test_fromkeys.<locals>.BadSeqi  c                    V # r$   r   r   s   &r   r8   :TestMappingProtocol.test_fromkeys.<locals>.BadSeq.__iter__  r   r   c                   < S! 4       hr$   r   r   s   &r   r7   :TestMappingProtocol.test_fromkeys.<locals>.BadSeq.__next__  r   r   r   Nr   r   s   @r   BadSeqr+    r   r   r0  c                   .   <a  ] tR tRt o V3R ltRtV tR# )3TestMappingProtocol.test_fromkeys.<locals>.baddict2i  c                   < S! 4       hr$   r   )r   r   r    r   s   &&&r   __setitem__?TestMappingProtocol.test_fromkeys.<locals>.baddict2.__setitem__  r   r   r   N)r   r   r   r   r4  r   r   r   s   @r   baddict2r2    r)  r   r6  )      )rC   r   fromkeysr   r;   rE   rg   	__class__typeassertIsInstancer  r  rB   r   r   )
r   r2   r  r  r  udr(  r0  r6  r   s
   &        @r   test_fromkeys!TestMappingProtocol.test_fromkeys  s   007#dCcRV9WX!AJJu-34E*Ss4T,JKE!,qAaj9B,	AC1T(3)R[[!4,t~~,**3/#d<,,S1C:>))#.88HDE
++C0::hFGX..s34@A	.T^^ 	. __T"c$D12b+"6"67)T]]3")"	t~~ 	 	#x001#6	V 	 	#t~~66A	t~~ 	 	#x001#6r   c           	     v   V P                  ^^^^^^/4      pV P                  VP                  4       ^^^^^^/4       V P                  4       pV P                  VP                  4       V4       V P	                  VP                  4       VP
                  4       V P                  \        VP                  R4       R# r   )r!   rC   r(   r   r<  r:  rE   rg   rh   s   & r   	test_copyTestMappingProtocol.test_copy  s    !Qq!A/Aa1a?3!1%affh4)QVVT2r   c                   \         P                  V 4       V P                  4       pV P                  VP	                  R 4      RJ 4       V P                  VP	                  R ^4      ^4       V P                  R^R^/4      pV P                  VP	                  R 4      RJ 4       V P                  VP	                  R ^4      ^4       V P                  VP	                  R4      ^4       V P                  VP	                  R^4      ^4       R# )r   Nr   r   )r   r   r   r;   rN   rC   r!   rh   s   & r   r   TestMappingProtocol.test_get  s     ))$/!c
d*+sA*aq12c
d*+sA*sQ'sA*r   c                   \         P                  V 4       V P                  4       pV P                  VP	                  R 4      RJ 4       VP	                  R . 4       V P                  VP	                  R 4      RJ 4       VP	                  R. 4      P                  ^4       V P                  VR,          ^ ,          ^4       VP	                  R. 4      P                  ^4       V P                  \        VR,          4      ^4       R# )key0Nr   )r   r   r   r;   rY   appendrC   rG   rh   s   & r   r   #TestMappingProtocol.test_setdefault  s     006!V,45	VR V,45	UB&&q)5!a(	UB&&q)QuX*r   c           	        \         P                  V 4       R EFN  p\        ^4       EF:  p^V,          pV P                  4       pV P                  4       p\        V4       F&  pWd\	        V4      &   V^ 8  g   K  We\	        V4      &   K(  	  V^ 8  d   VP                  4       p\        V4       F  pVP                  4       ;w  rxp	V P                  V\        V4      4       VP                  4       ;w  rpV P                  V\        V
4      4       T P                  V^ 8  ;'       d    W8g  '       * 4       K  	  V P                  V'       * 4       V P                  V'       * 4       EK=  	  EKQ  	  R# )r   N)r   )
r   r   ranger   reprr(   r*   rC   intr;   )r   copymodelog2sizesizer   r   r   kavatakbvbtbs   &            r   r    TestMappingProtocol.test_popitem  s#    --d3H ""I({'')'')tA!"d1gJ!|%&$q'
 % a<AtA"#))+-FBR$$RR1"#))+-FBR$$RR1OO1(A(A$BC % A&A&# & r   c                    \         P                  V 4       V P                  4       pR Rr2V P                  VP	                  W#4      V4       W1V&   V P                  VP	                  V^4      V4       R# )r  defN)r   r   r   rC   rZ   r   s   &   r   r   TestMappingProtocol.test_pop  s`     ))$/ !e1qa(!q!a(r   r   N)r   r   r   r   r_   rc   ri   rl   ro   r   rr   rv   r   r   r>  rA  r   r   r   r   r   r   r   s   @r   r   r   1  s^     E
F!0
4
5$
44,-\-7^3	+	+'0	) 	)r   r   c                      a  ] tR tRt o R tR tR tR tR t]	P                  ! 4       ]	P                  ! 4       ]	P                  ! RRR	7      R
 4       4       4       tR tR tRtV tR# )TestHashMappingProtocoli  c                  a \         P                  V 4        ! R  R\        4      o ! V3R lR\        4      pV P	                  4       p^*W!! 4       &   V P                  \        VP                  ^4        ! V3R lR\        4      pV P	                  4       pV! 4       p^*W$&   RVn        V P                  SVP                  V4       R# )c                       ] tR tRtRtR# )1TestHashMappingProtocol.test_getitem.<locals>.Exci  r   Nr   r   r   r   r   r_    r   r   r   c                   4   <a  ] tR tRt o V3R ltR tRtV tR# )3TestHashMappingProtocol.test_getitem.<locals>.BadEqi  c                   < S! 4       hr$   r   r   r+   r   s   &&r   __eq__:TestHashMappingProtocol.test_getitem.<locals>.BadEq.__eq__  r   r   c                    ^# )   r   r   s   &r   __hash__<TestHashMappingProtocol.test_getitem.<locals>.BadEq.__hash__!  s    r   r   Nr   r   r   r   rd  rh  r   r   r   s   @r   BadEqra    s      r   rk  c                   2   <a  ] tR tRt o RtV3R ltRtV tR# )5TestHashMappingProtocol.test_getitem.<locals>.BadHashi(  Fc                :   < V P                   '       d   S! 4       h^*# ry   rK   r   s   &r   rh  >TestHashMappingProtocol.test_getitem.<locals>.BadHash.__hash__*      999%Kr   r   Nr   r   r   r   rK   rh  r   r   r   s   @r   BadHashrm  (       D r   rt  TN)	r   rv   r   r   r   rE   rF   ru   rK   )r   rk  r2   rt  r   r   s   &    @r   rv   $TestHashMappingProtocol.test_getitem  s    ((.")"	F 	 !%'
(AMM26	f 	 !I#q}}a0r   c                    \         P                  V 4        ! R  RV P                  4      pVP                  R4      pV P	                  VRRRR/4       V P                  V\        P                  4       R# )c                   &   a  ] tR tRt o R tRtV tR# )5TestHashMappingProtocol.test_fromkeys.<locals>.mydicti8  c                ,    \         P                  ! 4       # r$   r  r  s   &r   r  =TestHashMappingProtocol.test_fromkeys.<locals>.mydict.__new__9  r  r   r   Nr  r   s   @r   r  ry  8  r  r   r  r   r   Nr   )r   r>  r   r9  rC   r<  r  r  )r   r  r=  s   &  r   r>  %TestHashMappingProtocol.test_fromkeys6  s_    ))$/	.T^^ 	. __T"c$D12b+"6"67r   c                   a \         P                  V 4        ! R  R\        4      o ! V3R lR\        4      pV P	                  4       pV! 4       p^*W#&   RVn        V P                  SVP                  V4       R# )c                       ] tR tRtRtR# )-TestHashMappingProtocol.test_pop.<locals>.ExciB  r   Nr   r   r   r   r   r  B  r   r   r   c                   2   <a  ] tR tRt o RtV3R ltRtV tR# )1TestHashMappingProtocol.test_pop.<locals>.BadHashiD  Fc                :   < V P                   '       d   S! 4       h^*# ro  rp  r   s   &r   rh  :TestHashMappingProtocol.test_pop.<locals>.BadHash.__hash__F  rr  r   r   Nrs  r   s   @r   rt  r  D  ru  r   rt  TN)r   r   r   r   r   rK   rE   rZ   r   rt  r2   r   r   s   &   @r   r    TestHashMappingProtocol.test_pop?  s`    $$T*")"	f 	 !I#quua(r   c                    V P                  4       p^V^&    ^ pV F/  p^W^,           &   V^8  d   V P                  R4       V^,          pK1  	  R#   \         d     R# i ; i)r   z7changing dict size during iteration doesn't raise ErrorN)r   rK   RuntimeError)r   r2   countr   s   &   r   test_mutatingiteration.TestHashMappingProtocol.test_mutatingiterationR  si    !!	EA#A:IIWX
	 
  		s   7A AAc                  a V P                  4       pV P                  \        V4      R 4       ^V^&   V P                  \        V4      R4       V P                  4       pW^&   V P                  \        V4      R4        ! R R\        4      o ! V3R lR\        4      pV P                  ^V! 4       /4      pV P                  S\        V4       R# )z{}z{1: 2}z
{1: {...}}c                       ] tR tRtRtR# ).TestHashMappingProtocol.test_repr.<locals>.Excih  r   Nr   r   r   r   r   r  h  r   r   r   c                   .   <a  ] tR tRt o V3R ltRtV tR# )2TestHashMappingProtocol.test_repr.<locals>.BadReprij  c                   < S! 4       hr$   r   r   s   &r   __repr__;TestHashMappingProtocol.test_repr.<locals>.BadRepr.__repr__k  r   r   r   N)r   r   r   r   r  r   r   r   s   @r   BadReprr  j  r)  r   r  N)r   rC   rL  r   r   r!   rE   )r   r2   r  r   s   &  @r   	test_repr!TestHashMappingProtocol.test_repr_  s    !a$'!a(+!!a,/")"	f 	 79~.#tQ'r   zrequires deep stackT)ubc                    V P                  4       p\        \        P                  ! 4       4       F  pTpV P                  4       pW1^&   K  	  V P	                  \
        \        V4       R# r   )r   rK  r   exceeds_recursion_limitrE   RecursionErrorrL  )r   r2   r   d0s   &   r   test_repr_deep&TestHashMappingProtocol.test_repr_deepq  sX     !w6689AB##%AaD : 	.$2r   c                  aaaa V P                  V P                  4       V P                  4       4       V P                  V P                  ^^/4      V P                  ^^/4      4        ! R R\        4      o ! V3R lR\        4      oV P                  S! 4       ^/4      oV P                  ^^/4      oV P                  SV3R l4       V P                  SVV3R l4       R# )r   c                       ] tR tRtRtR# ),TestHashMappingProtocol.test_eq.<locals>.Exci  r   Nr   r   r   r   r   r    r   r   r   c                   4   <a  ] tR tRt o V3R ltR tRtV tR# )/TestHashMappingProtocol.test_eq.<locals>.BadCmpi  c                   < S! 4       hr$   r   rc  s   &&r   rd  6TestHashMappingProtocol.test_eq.<locals>.BadCmp.__eq__  r   r   c                    ^# r   r   r   s   &r   rh  8TestHashMappingProtocol.test_eq.<locals>.BadCmp.__hash__  s    r   r   Nrj  r   s   @r   BadCmpr    s      r   r  c                     < S ! 4       ^8H  # r  r   )r  s   r   r4   1TestHashMappingProtocol.test_eq.<locals>.<lambda>  s    vx{r   c                     < S S8H  # r$   r   )d1d2s   r   r4   r    s	    r2vr   N)rC   r   r!   r   r   rE   )r   r  r   r  r  s   &@@@@r   test_eqTestHashMappingProtocol.test_eq|  s    ,,.0C0C0EF++QF3++QF3	5 	#)"	V 	 1.A'#23#~.r   c                   a \         P                  V 4        ! R  R\        4      o ! V3R lR\        4      pV P	                  4       pV! 4       p^*W#&   RVn        V P                  SVP                  V. 4       R# )c                       ] tR tRtRtR# )4TestHashMappingProtocol.test_setdefault.<locals>.Exci  r   Nr   r   r   r   r   r    r   r   r   c                   2   <a  ] tR tRt o RtV3R ltRtV tR# )8TestHashMappingProtocol.test_setdefault.<locals>.BadHashi  Fc                :   < V P                   '       d   S! 4       h^*# ro  rp  r   s   &r   rh  ATestHashMappingProtocol.test_setdefault.<locals>.BadHash.__hash__  rr  r   r   Nrs  r   s   @r   rt  r    ru  r   rt  TN)r   r   r   r   r   rK   rE   rY   r  s   &   @r   r   'TestHashMappingProtocol.test_setdefault  sb    ++D1")"	f 	 !I#q||Q3r   r   N)r   r   r   r   rv   r>  r   r  r  r   skip_wasi_stack_overflowskip_emscripten_stack_overflowskip_if_sanitizerr  r  r   r   r   r   s   @r   r\  r\    sq     188)&($ %%'++-4>3 ? . (3/$4 4r   r\  )r%   r  testr   r&   r   r   r\  r   r   r   <module>r     sB      g.x00 g.T	d)2 d)NG41 G4r   