d,K SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ r SSK r SSK r SSK r SSK r SSKJr SSKJrJr SSKJrJr \R,"SS/S9r\R,"SS/S 9r\R2S 5r"S S 5r"S S5r"SS\\ R:5r"SS\ R:5rSRA5Hr!\""\\!\#"\\!55 M C!"SS5r$\ RJ"\S5"SS\\$\ R:55r&"SS\5r'"SS\&5r("SS\ R:5r)\ RJ"\S5"SS \ R:55r*"S!S"\RV5r,\ RJ"\S5"S#S$\RV55r-"S%S&\RV5r.\ RJ"\S5"S'S(\RV55r/"S)S*5r0"S+S,5r1"S-S.\1\ R:5r2\ RJ"\S5"S/S0\1\ R:55r3\4S1:Xa\ Rj"5 gg)2N) randrangeshuffle)MutableMapping) mapping_testssupport) import_helpersuppress_immortalization collections _collections)blocked)freshc## [RUnU[RU'Sv U[RU'g!U[RU'f=f7fN)sysmodules)name replacementoriginal_modules =/opt/alt/python313/lib64/python3.13/test/test_ordered_dict.pyreplaced_modulersEkk$'O#CKK, + DO Ds'AAAAAcl\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!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.r0\1"5S/5r2S0r3S1r4\5RlS25r7S3r8g4)5OrderedDictTests"c  URnUR[5 U"SS/S5 SSS5 /SQnUR[ U"[ U55R 55U5 UR[ U"S 0[ U5D6R 55U5 UR[U"U5R 55U5 UR[U"/SQSSS9R 55U5 UR[U"SS 9R 55S /5 UR[U"SS 9R 55S /5 UR[US5 UR[US S 5 UR[UR5 U"/SQ5nURSS/SSS9 UR[UR 55/SQ5 g!,(df  GN=f)Nabrrcderr)r# r%r$r*r#r)*self)r0r.other)r2r.rrr")r&,)r)7r(fr'gr&rrr"r%r(r7)r<r:) OrderedDict assertRaises TypeError assertEqualsorteddictitemslist__init__)r0r>pairsr&s r test_initOrderedDictTests.test_init$s&&   y ) 8,d 3*B  DK 8 > > @A5I  :d5k : @ @ BCUK k%066895A k*R,-449EG=>C E kr288:;l^L k399;<}oN )["5 )["b9 )[%9%9: L M Hh'1 2 aggi R T'* )s G>> H cURn/SQn[U5 U"U5nU"S0UD6nUR[UR 55U5 g)Nr=r3)r>rrArErD)r0r>rDargdictr&s rtest_468OrderedDictTests.test_468<sJ&& Ve$  "' " aggi%0cURnUR[5 U"5RSS/S5 SSS5 /SQnU"5nUR[ U55 UR [ UR55U5 U"5nUR"S0[ U5D6 UR [ UR55U5 U"5nURU5 UR [UR55U5 U"5nUR/SQSSS9 UR [UR55U5 U"5nURSS 9 UR [UR55S /5 U"5nUR0S 9 UR [UR55S 04/5 U"5nURSS SSS9 UR [ [UR555/SQ5 U"/SQ5nURSS/SSS9 UR [UR55/SQ5 UR[U"5RS5 UR[U"5RSS5 UR[UR5 UR[U"5RS5 UR[U"5RSS5 UR[UR5 g!,(df  GN=f)Nrrr!r+r$r*r-r/)r0rPr1r2r9r:)redbluer2r0))rSr9)r2r:)rRr*)r0rQr4r(r7r'r;r=r.r3) r>r?r@updaterCrArBrDrE)r0r>rGodr&s r test_updateOrderedDictTests.test_updateDs&&   y ) M (H!5t <*B ] $u+  +U3 ]  DK   +U3 ] % bhhj)51 ] :a1 E bhhj)51] r  bhhj)L>: ]   bhhj)WbM?; ] aaqq 1 RXXZ 01M O L M (H%a0 aggi R T )[]%9%92> )[]%9%92rB )[%7%78 )[]%9%92> )[]%9%92rB )[%7%78U* )s M M"cv^/m"U4SjS5nURU"55 URTS/5 g)Nc.>\rSrSrU4SjrU4SjrSrg).OrderedDictTests.test_init_calls..Spamtc(>TRS5 g)Nkeysr3appendr0callss rr]3OrderedDictTests.test_init_calls..Spam.keysus V$rNc(>TRS5 g)NrDr3r^r`s rrD4OrderedDictTests.test_init_calls..Spam.itemsxs W%rNr3N)__name__ __module__ __qualname____firstlineno__r]rD__static_attributes__)rasrSpamrZts   rNrjr])r>rA)r0rjras @rtest_init_calls OrderedDictTests.test_init_callsrs6     )rNcJURn"SSU5nU"5nSUS'g)Nc\rSrSrSrSrg)3OrderedDictTests.test_overridden_init..ODNIcgrr3)argskwargss rrF.ODNI.__init__srNr3N)rerfrgrhrFrir3rNrODNIros rNrurrr>)r0r>rurUs rtest_overridden_init%OrderedDictTests.test_overridden_inits-&&  ; V3rNcURnURS5nUR[UR 55SVs/sHo3S4PM sn5 URSSS9nUR[UR 55SVs/sHo3S4PM sn5 URSSS9nUR[UR 55SVs/sHo3S4PM sn5 gs snfs snfs snf)Nabcvaluer)r>fromkeysrArErD)r0r>rUr#s r test_fromkeysOrderedDictTests.test_fromkeyss&&  ! !% ( bhhj)u+Eu!Iu+EF  ! !%t ! 4 bhhj)u+Eu!Iu+EF  ! !%q ! 1 bhhj)E+BEqFE+BC ,F+E+Bs C0  C5  C: cURnURU"5[5 UR[ U[55 gr)r>assertIsInstancer assertTrue issubclass)r0r>s rtest_abcOrderedDictTests.test_abcs2&&  km^<  ;?@rNcURn/SQn[U5 U"U5nUR[U5[U55 UR 5 UR[U5S5 gN)r#rr)rr$r%r(r7r)r>rrAlenclearr0r>rGrUs r test_clearOrderedDictTests.test_clearsX&& L   R#e*-   R!$rNc&URn/SQnU"U5nUS URSU5 UR[5 US SSS5 UR [ UR 55USSUSS-5 g!,(df  NA=f)Nrrr r$)r> assertNotInr?KeyErrorrArErDrs r test_delitemOrderedDictTests.test_delitems&& L   sG b!   x (3) bhhj)5!9uQRy+@A) (s B BcURnU"/SQ5nSUS'SUS'UR[UR55/SQ5 g)N)r&rrr"rr'r( r#r8)rr)r#rrr()r8rr>rArErDr0r>rUs r test_setitemOrderedDictTests.test_setitemsI&& K L33 bhhj)W YrNcdURn/SQn[U5 U"U5nUR[U5UVs/sHoDSPM sn5 UR[UR 55UVs/sHoDSPM sn5 UR[UR 55UVs/sHoDSPM sn5 UR[UR 55U5 UR[[U55[U5Vs/sHoDSPM sn5 UR[[UR 555[U5Vs/sHoDSPM sn5 UR[[UR 555[U5Vs/sHoDSPM sn5 UR[[UR 555[[U555 gs snfs snfs snfs snfs snfs snf)Nrrr)r>rrArEr]valuesrDreversedr0r>rGrUts rtest_iteratorsOrderedDictTests.test_iteratorss&& L   b%#8%QaD%#89 bggi*?AQ4*?@ biik*5,A5aqT5,AB bhhj)51 hrl+(081A$8 : hrwwy12(081A$8 : hryy{34(081A$8 : hrxxz23T(5/5JK$9*?,A988s#H 9H 5H H# ,H( :H- cURnURS5n[U5n[U5nX$ UR [ 5 [U5 SSS5 g!,(df  g=f)Nrz)r>r}iternextr? Exception)r0r>rUitkeys r%test_detect_deletion_during_iteration6OrderedDictTests.test_detect_deletion_during_iterationsW&&  ! !% ( "X2h G   y ) H* ) )s A  A.c URnUR[5 U"SS/S5 SSS5 /SQnU"U5nUR[ U5UVs/sHoDSPM sn5 UR[ UR 55UVs/sHoDSPM sn5 UR[ UR 55UVs/sHoDSPM sn5 UR[ UR55U5 UR[ [U55[ [U5Vs/sHoDSPM sn55 g!,(df  GN4=fs snfs snfs snfs snf)Nrrr!rr) r>r?r@rArBr]rrDrrs rtest_sorted_iterators&OrderedDictTests.test_sorted_iteratorss&&&   y ) 8,d 3*B   E%:EqdE%:;  *5,A5aqT5,AB  ,U.CUtU.CD  +U3  -x ?!1 ?@ B* )&;,A.C!@s# EE- E2 E7 E< E*cURnU"5n/nUR[U5U5 UR[UR55U5 UR[UR 55U5 UR[UR 55U5 UR[[ U55U5 UR[[ UR555U5 UR[[ UR 555U5 UR[[ UR 555U5 gr)r>rArEr]rrDr)r0r>rUemptys rtest_iterators_empty%OrderedDictTests.test_iterators_emptys&& ] b5) bggi%0 biik*E2 bhhj)51 hrl+U3 hrwwy12E: hryy{34e< hrxxz23U;rNczURn/SQn[U5 U"U5nU(a7URUR5UR 55 U(aM7UR [ 5 UR5 SSS5 UR[U5S5 g!,(df  N*=fr)r>rrApopitempopr?rrrs r test_popitemOrderedDictTests.test_popitems&& L     RZZ\599; 7e   x ( JJL) R!$) (s 7B,, B:c*URn[S5Vs/sHo"U4PM nnU"U5n[S5HnURS5 M URS5 URSS9 UR[ U5S5 gs snf)NrQTlastr)r>rangerrAr)r0r>irGobjs rtest_popitem_last"OrderedDictTests.test_popitem_lasts~&& !&r+AQ+% qA KK  D   S2&,s BcURn/SQn[U5 U"U5n[U5 U(a<UR5upEURURU5U5 U(aM<UR [ 5 URS5 SSS5 UR[ U5S5 URURWS5S5 "SSU5nU"SS9nURURS S 5S 5 URURS S 5S5 URURS S 5S 5 URURS S S 9S 5 UR [ 5 URS 5 SSS5 g!,(df  GN=f!,(df  g=f)Nrxyzri90c\rSrSrSrSrg)*OrderedDictTests.test_pop..MissingicgNrr3r0rs r __missing__6OrderedDictTests.test_pop..Missing.__missing__rNr3Nrerfrgrhrrir3rNrMissingr rNrrrrr*rr9default)r>rrrAr?rr)r0r>rGrUkvrms rtest_popOrderedDictTests.test_pops]&& L  99;DA   RVVAY *e  x ( FF5M) R!$ 5)51 k  aL sA* sA* sA* sA.2   x ( EE#J) () () (sF% F7% F47 GcdURn/SQn[U5 U"U5nU"U5nURX45 USSUSS-nU"U5nURX45 URU[ U55 UR[ U5U5 URX1"USS55 g)Nrr )r>rrAassertNotEqualrC)r0r>rGod1od2s r test_equalityOrderedDictTests.test_equalitys&& L% %  "ab E"1I%%  C% d3i( cC( CU3BZ!89rNc ^^TRn/SQnU"U5mS/TlS/TlUU4SjnU"TR55 [R"T5nU"U5 TR URTR5 TR URTR5 TR [ US55 [R"T5nU"U5 TRURTR5 TRURTR5 TRURTR5 TRURTR5 TR [ US55 [STR5 [[RS-5HnTRUS9 [R "[R""TU55nU"U5 TRURTR5 TRURTR5 TR [ US55 SSS5 M SSS5 U"[%['T555 U"5nUR)T5 U"U5 U"U"T55 g!,(df  GM=f!,(df  Nj=f) Nrxzct>SU<ST<3nTRUTU5 TRUT5 TR[UR55[TR555 TR[ U5[ T55 TR[ U5[ T55 g)Nz copy: z od: ) assertIsNotrArErDrtype)dupmsgrUr0s rcheck,OrderedDictTests.test_copying..check1s*-r2C   S"c *   S" %   T#))+.RXXZ0@ A   SXs2w /   T#YR 1rNyr r)proto)r>rrcopyassertIs assertFalsehasattrdeepcopyrArrmodulerpickleHIGHEST_PROTOCOLsubTestloadsdumpsevalreprrT)r0r>rGrrr update_testrUs` @r test_copyingOrderedDictTests.test_copying)s&& M  uu 2 bggiiim c  ceeRTT" ceeRTT" c*+mmB c  % % % % c*+ ]DKK 8v66:;\\\. ,,v||B'>?C#J$$SUUBDD1$$SUUBDD1$$WS#%67 /.<9 d48n!m 2 k k"o/.9 8s%4/K.#BK> K. K+ % K.. K<cURn/SQnU"U5nUR[SUR5S555 g)Nrc3F# UHn[U5[:Hv M g7fr)rrE).0pairs r 5OrderedDictTests.test_yaml_linkage..\sL9KDJ,9Ks!r)r>rall __reduce__rs rtest_yaml_linkage"OrderedDictTests.test_yaml_linkageTsC&& M   L9KLLMrNcNURn/SQnU"U5nURUR[5 UR UR 5S5 SUlURURSS5 URUR 5SSS05 g)Nrr rr)r>r__dict__rC assertIsNonerrrArs rtest_reduce_not_too_fat(OrderedDictTests.test_reduce_not_too_fat^s&& L   bkk40 "--/!,- S)2. +c2Y7rNcURnU"5nX"S'[SUR5 [S[R S-5H}n[R "[R"X#55nURXB5 UR[UR55S/5 URUSU5 M SSS5 g!,(df  g=f)Nrr r) r>rrrrrrrrrArEr]r)r0r>rUrrs rtest_pickle_recursive&OrderedDictTests.test_pickle_recursiveis&& ]1]DKK 8r6#:#:Q#>?ll6<<#:;  )  chhj!1A37 c!fc* @9 8 8s BC C$cURnU"/SQ5nUR[U5S5 UR[[U55U5 UR[U"55S5 g)Nrz=OrderedDict({'c': 1, 'b': 2, 'a': 3, 'd': 4, 'e': 5, 'f': 6})z OrderedDict())r>rArrrs r test_reprOrderedDictTests.test_reprvs_&& U V b K M d2h, km,o>rNc|URnURS5nX"S'UR[U5S5 g)Nrzrz8OrderedDict({'a': None, 'b': None, 'c': None, 'x': ...}))r>r}rArrs rtest_repr_recursive$OrderedDictTests.test_repr_recursive~s<&&  ! !% (3 b F HrNcURnU"5nUR5US'[U5nURU[5 UR 5US'[U5nURU[5 g)Nr.)r>rrrstrrD)r0r>rUrs rtest_repr_recursive_values+OrderedDictTests.test_repr_recursive_valuessf&& ]2 H a%2 H a%rNcRURn/SQn[U5 U"U5n[UR55nUR UR SS5S5 UR [UR55U5 UR UR SS5S5 UR [UR55SS5 UR UR SS S 9S 5 "S S U5nUR U"5R S S 5S 5 g)Nrrrr$rr)rrr<r,rc\rSrSrSrSrg)1OrderedDictTests.test_setdefault..Missingicgrr3rs rr=OrderedDictTests.test_setdefault..Missing.__missing__rrNr3Nrr3rNrrrrrNrr*)r>rrErDrA setdefault)r0r>rGrU pair_orderrs rtest_setdefault OrderedDictTests.test_setdefaults&& L  "((*%  sB/3 bhhj):6 sB/4 bhhj)"-y9 sA6: k  --a3Q7rNcURnU"5nSUS'SUS'US UR[UR55S/5 SUS'UR[UR55SS/5 g)Nrrr rrrrrs r test_reinsertOrderedDictTests.test_reinsertsu&& ]33 sG bhhj)H:63 bhhj)Hh+?@rNcURnURS5nUR[U5[S55 UR S5 UR[U5[S55 UR SS5 UR[U5[S55 UR SS5 UR[U5[S55 UR S5 UR[U5[S55 UR SSS9 UR[U5[S 55 UR [ 5 UR S 5 SSS5 UR [ 5 UR S S5 SSS5 g!,(df  N?=f!,(df  g=f) Nabcder#abdecFcabder)rrbcader)r>r}rArE move_to_endr?rrs rtest_move_to_end!OrderedDictTests.test_move_to_endsD&&  ! !' * b4=1 s b4=1 sE" b4=1 sE" b4=1 s b4=1 s' b4=1   x ( NN3 )   x ( NN3 &) () ( ( (s!F,F=, F:= G cURnURS5nURSSS9 UR[ U5[ S55 URSSS9 UR[ U5[ S55 URS5nURS5 UR[ U5[ S55 URS5 UR[ U5[ S 55 g) Nrzr#Frcabracbbcabac)r>r}r&rArErs rtest_move_to_end_issue25406,OrderedDictTests.test_move_to_end_issue25406s&&  ! !% ( s' b4;/ s' b4;/  ! !% ( s b4;/ s b4;/rNcURn[SS9nU"S0UD6nUR[R"U5[R"U55 g)Nrrr3)r>rC assertGreaterr getsizeof)r0r>r&rUs r test_sizeofOrderedDictTests.test_sizeofsE&& 1I  1  3==,cmmA.>?rNc:URnSR5nURU5nURUR 5[ U5R 55 URUR 5[ U5R 55 g)Nz@the quick brown fox jumped over a lazy dog yesterday before dawn)r>splitr}rAr]rCrD)r0r>srUs r test_viewsOrderedDictTests.test_viewssl&& N T T V  ! !! $ DHMMO4 T"X^^%56rNcURn"SSU5n/SQnUR[U"U5R55U5 g)Nc\rSrSrSrSrg)3OrderedDictTests.test_override_update..MyODic[5er)r)r0rrkwdss rrT:OrderedDictTests.test_override_update..MyOD.updates k!rNr3N)rerfrgrhrTrir3rNrMyODr<s "rNr@)rr"rr)r0r>r@rDs rtest_override_update%OrderedDictTests.test_override_updatesB&&  "; "/ d5k//12E:rNcURnSn[S5HnU"SU4/5nM A[R"5 g)Ni)r>rr gc_collect)r0r>r_s rtest_highly_nested#OrderedDictTests.test_highly_nestedsA&& tAc{m,C rNc ^URn/m"U4SjSU5nSn[S5HnU"SU4/5nXClM A[R"5 UR T[ [[S5555 g)Nc">\rSrSrU4SjrSrg):OrderedDictTests.test_highly_nested_subclass..MyODic<>TRUR5 gr)r_r)r0deleteds r__del__BOrderedDictTests.test_highly_nested_subclass..MyOD.__del__stvv&rNr3N)rerfrgrhrMri)rLsrr@rJs  ' 'rNr@d)r>rrrrDrArEr)r0r>r@rrrLs @rtest_highly_nested_subclass,OrderedDictTests.test_highly_nested_subclasssz&&  '; 'sAs }%CE  $xc ';"<=rNcURn"SS5nSnSnU"U5nU"U5nU"U"U55nU"5nSX'SX'SX'SUS'X X UR[UR55US4S/5 g)Nc,\rSrSrSrSrSrSrSrg)9OrderedDictTests.test_delitem_hash_collision..Keyi cBXl[[U55Ulgr)_hashridr|)r0hashs rrFBOrderedDictTests.test_delitem_hash_collision..Key.__init__ s!  D] rNcUR$r)rVr/s r__hash__BOrderedDictTests.test_delitem_hash_collision..Key.__hash__ zz!rNcVURUR:H$![a gf=f)NF)r|AttributeErrorr0r2s r__eq__@OrderedDictTests.test_delitem_hash_collision..Key.__eq__s,!::44%! !s  ((cUR$rr{r/s r__repr__BOrderedDictTests.test_delitem_hash_collision..Key.__repr__r]rN)rVr|N) rerfrgrhrFr[rardrir3rNrKeyrT s + " !  "rNrfc0SnXS- -nUS-U-U-S-$)NrQrr r3)rXMINSIZErs r blocking_hashCOrderedDictTests.test_delitem_hash_collision..blocking_hashs+G !AFa<$&* *rNr.after)rk.r) r0r>rfri COLLIDINGr collidingblockingrUs rtest_delitem_hash_collision,OrderedDictTests.test_delitem_hash_collision s&&  " " +  )n N }Y/0 ]  7 L M bhhj)S#J+GHrNcURn"SS5nU"5n[S5HnU"5nXCU'M UR[5 [ UR 55 SSS5 UR[5 [ UR 55 SSS5 UR[5 [U5 SSS5 UR[5 UR5 SSS5 g!,(df  N=f!,(df  Nw=f!,(df  N_=f!,(df  g=f)Nc\rSrSrSrSrg)-OrderedDictTests.test_issue24347..Keyi3c[S5$)Ni)rr/s rr[6OrderedDictTests.test_issue24347..Key.__hash__4s  ((rNr3Nrerfrgrhr[rir3rNrrfrs3s )rNrfrO) r>rr?rrErrDrr)r0r>rfrUrrs rtest_issue24347 OrderedDictTests.test_issue243470s&&  ) )]sA%CsG   x (  )   x (  )   x ( H)   x ( GGI) ( ) ( ( ( ( ( ( (s0DD> D#'D4 D D # D14 EcpURn"SS5nU"5nSX2"5'UR5 g)Nc\rSrSrSrSrg)-OrderedDictTests.test_issue24348..KeyiIcg)Nrr3r/s rr[6OrderedDictTests.test_issue24348..Key.__hash__JrrNr3Nrvr3rNrrfr{IrrNrfr)r>r)r0r>rfrUs rtest_issue24348 OrderedDictTests.test_issue24348Fs4&&   ]35  rNcURnU"5nSH2nSH)n[U5S:XaURSS9 X4-nXRU'M+ M4 g)a7 dict resizes after a certain number of insertion operations, whether or not there were deletions that freed up slots in the hash table. During fast node lookup, OrderedDict must correctly respond to all resizes, even if the current "size" is the same as the old one. We verify that here by forcing a dict resize on a sparse odict and then perform an operation that should trigger an odict resize (e.g. popitem). One key aspect here is that we will keep the size of the odict the same at each popitem call. This verifies that we handled the dict resize properly. 0123456789ABCDEFr'FrN)r>rr)r0r>rUc0c1rs rtest_issue24667 OrderedDictTests.test_issue24667RsQ&& ]$B(r7a<JJEJ*g3 )%rNcURnU"5n[RUSS5 URS[ U55 gNspamrNULL)r>rC __setitem__rrrs rtest_dict_setitem"OrderedDictTests.test_dict_setitemks:&& ] VQ' b*rNcURnU"5nSUS'SUS'[RUS5 UR[5 [ U5 SSS5 g!,(df  g=fNrrr ham)r>rC __delitem__r?rrrs rtest_dict_delitem"OrderedDictTests.test_dict_delitemqsW&& ]6 5  V$   x ( H) ( ( A A,cURnU"5nSUS'SUS'[RU5 URS[ U55 g)Nrrr rr)r>rCrrrrs rtest_dict_clear OrderedDictTests.test_dict_clearzsE&& ]6 5  2 b*rNcURnU"5nSUS'SUS'[RUS5 UR[5 [ U5 SSS5 g!,(df  g=fr)r>rCrr?rrrs r test_dict_popOrderedDictTests.test_dict_popsU&& ]6 5  V   x ( H) ( (rcURnU"5nSUS'SUS'[RU5 UR[5 [ U5 SSS5 g!,(df  g=fr)r>rCrr?rrrs rtest_dict_popitem"OrderedDictTests.test_dict_popitemsS&& ]6 5  R   x ( H) ( (s  A A+cURnU"5n[RUSS5 URS[ U55 gr)r>rCrrrrs rtest_dict_setdefault%OrderedDictTests.test_dict_setdefaults8&& ] FA& b*rNcURnU"5n[RUS/5 URS[ U55 g)N)rrr)r>rCrTrrrs rtest_dict_update!OrderedDictTests.test_dict_updates8&& ] B & b*rNc^URm"U4SjS5nSURU'[R"U5nA[R "5 UR U"55 g)Nc&>\rSrSrY"5rSrg)/OrderedDictTests.test_reference_loop..Air3N)rerfrgrhrUrirvsrArs BrNr)r>rUweakrefrefgccollectr)r0rrr>s @rtest_reference_loop$OrderedDictTests.test_reference_loopsP&&   Q KKN   !#rNc"[R"U[UR5 [R"USUR5 [R"USUR5 [R"USUR5 g)Nc4[UR55$r)rr]r&s r.s4>rNc4[UR55$r)rrrs rrrs4 ;KrNc4[UR55$r)rrDrs rrrs4 ?rN)rcheck_free_after_iteratingrr>r/s rtest_free_after_iterating*OrderedDictTests.test_free_after_iteratingse**4t7G7GH**41I4K[K[\**41KTM]M]^**41JDL\L\]rNcURnU"SSSS.5nU"SSSS.5nUR5nUR5nXC-nU[UR55-nU"SSSSS.5nUR U[ U5-U5 UR X#-U5 UR XF5 UR XV5 UR5nXB-nU"SSSSS.5nUR [ U5U-U5 UR X2-U5 UR XF5 UR [X#-5U5 UR [[ U5U-5U5 UR [U[ U5-5U5 UR5nUS -nUS -nUR X&5 UR[5 US- SSS5 UR[5 US - SSS5 UR[5 US - SSS5 UR[5 US - SSS5 UR[5 US -nSSS5 g!,(df  N=f!,(df  N=f!,(df  Nw=f!,(df  Ne=f!,(df  g=f) Nrr)rrr r r$)rr r$)rrr r$)rr r$rr3BAD) r>rrErDrArCrrr?r@ ValueError)r0r>rrr#r&expecteds rtest_merge_operator$OrderedDictTests.test_merge_operators7&& A!* + A!* + FFH FFH  T!'')_1qQ78 T!Wh/ ) % % FFH 1qQ78 a1h/ ) % d15k;/ d47Q;'5 d1tAw;'5668 R R %   y ) H*   y ) F*   y ) I*   y ) F*   z * JA+ ** ) ) ) ) ) ) ) * *s<I08JJ>J#!J40 I> J J # J14 Kc[URS/05R55n[R"5 UR [R "[U555 gr)rr>rDrrr is_trackedr)r0rs r!test_ordered_dict_items_result_gc2OrderedDictTests.test_ordered_dict_items_result_gcsJ $""D":.446 7   d2h/0rNr3N)9rerfrgrhrHrLrVrkrwr~rrrrrrrrrrrrrrrrr rrrrr'r.r3r8rArFrProrwr~rrrrrrrrr rrrr cpython_onlyrrir3rNrrr"s/T01,9\ * DA %BYL"  B < % '4: )VN 8 +?H &8( A'& 0@7; >"%IN, 2+ ++ +    ^ )V  1 1rNrc.\rSrSrSrSrSrSrSrSr g) _TriggerSideEffectOnEqualirrcURRURR:XaUR5 UR=RS- slg)NrT) __class__counttrigger side_effectr`s rra _TriggerSideEffectOnEqual.__eq__sB >>  4>>#9#9 9     !rNcg)Nrr3r/s rr["_TriggerSideEffectOnEqual.__hash__srNc[er)NotImplementedErrorr/s rr%_TriggerSideEffectOnEqual.side_effects!!rNr3N) rerfrgrhrrrar[rrir3rNrrrs EG "rNrc6\rSrSr\r\R rSrSrg)PurePythonOrderedDictTestsic8^^"UU4SjS[5nU"5mUR[RSTS455mUR[RSU"5S455n[R "S5nUR [U[RTU5 URURS5 URT[RS55 URU[RSU"5S455 g)Nc$>\rSrSrUU4SjrSrg)HPurePythonOrderedDictTests.test_issue119004_attribute_error..Keyic >TT grr3r0TODELdict1s rrTPurePythonOrderedDictTests.test_issue119004_attribute_error..Key.side_effect %LrNr3Nrerfrgrhrrirrsrrfr  ! !rNrfr@z('NoneType' object has no attribute 'key'r rr) rr>rCr}reescapeassertRaisesRegexr_operatoreqrArassertDictEqual)r0rfdict2rrrs @@r test_issue119004_attribute_error;PurePythonOrderedDictTests.test_issue119004_attribute_errors ! !+ !  5#!?@  35#!?@iiBC ~sHKKN A& UDMM($;< UDMM1ceS/$BCrNr3N) rerfrgrhpy_collrr>rrir3rNrrrs F%%K DrNrc \rSrSrSr\r\rSr g)CPythonBuiltinDictTestsizYBuiltin dict preserves insertion order. Reuse some of tests in OrderedDict selectively. r3N) rerfrgrh__doc__builtinsrrCr>rir3rNrrrs FKrNrztest_init test_update test_abc test_clear test_delitem test_setitem test_detect_deletion_during_iteration test_popitem test_reinsert test_override_update test_highly_nested test_highly_nested_subclass test_delitem_hash_collision c8\rSrSrSrSrSrSrSrSr Sr g ) CPythonOrderedDictSideEffectsi#c|[R"S5nUR[U[R X5 g)Nz$OrderedDict mutated during iteration)rrr RuntimeErrorrr)r0rrrs rcheck_runtime_error_issue119004=CPythonOrderedDictSideEffects.check_runtime_error_issue119004%s)ii>? |S(++uLrNc^"U4SjS[5nUR[RSU"5S455mUR[RSU"5S455nUR TU5 UR UR S5 URT05 URU[RSU"5S455 g)Nc">\rSrSrU4SjrSrg)PCPythonOrderedDictSideEffects.test_issue119004_change_size_by_clear..Keyi*c&>TR5 grrr0rs rr\CPythonOrderedDictSideEffects.test_issue119004_change_size_by_clear..Key.side_effect+s  rNr3Nrrsrrfr*s   rNrfrrr rr>rCr}rrArrr0rfrrs @r%test_issue119004_change_size_by_clearCCPythonOrderedDictSideEffects.test_issue119004_change_size_by_clear)s +   35#!?@  35#!?@ ,,UE: A& UB' UDMM1ceS/$BCrNc^^"UU4SjS[5nU"5mUR[RSTS455mUR[RSU"5S455nUR TU5 UR UR S5 URT[RS55 URU[RSU"5S455 g)Nc$>\rSrSrUU4SjrSrg)UCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key..Keyi6c >TT grr3rs rraCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key..Key.side_effect7rrNr3Nrrsrrfr6rrNrfrrr rrr0rfrrrs @@r*test_issue119004_change_size_by_delete_keyHCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key5s ! !+ !  5#!?@  35#!?@ ,,UE: A& UDMM($;< UDMM1ceS/$BCrNc^"U4SjS[5nUR[RSU"5S455mUR[RSU"5S455nUR TU5 UR UR S5 URT[RSS55 URU[RSU"5S455 g)Nc">\rSrSrU4SjrSrg)WCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_clear..KeyiCc:>TR5 S=TS'TS'g)Nr#rrrrs rrcCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_clear..Key.side_effectDs *--c U3ZrNr3Nrrsrrfr Cs  . .rNrfrrr )rrr#rrs @r,test_issue119004_change_linked_list_by_clearJCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_clearBs .+ .   35#!?@  35#!?@ ,,UE: A& UDMM*c$BC UDMM1ceS/$BCrNc^^"UU4SjS[5nU"5mUR[RSTS455mUR[RSU"5S455nUR TU5 UR UR S5 URTSSSS.5 URU[RSU"5S455 g)Nc$>\rSrSrUU4SjrSrg)\CPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_delete_key..KeyiPc>TT STS'g)Nr#rr3rs rrhCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_delete_key..Key.side_effectQs%L c rNr3NrrsrrfrPs  ! !rNrfrrr r#)rrrrrs @@r1test_issue119004_change_linked_list_by_delete_keyOCPythonOrderedDictSideEffects.test_issue119004_change_linked_list_by_delete_keyOs ! !+ !   5#!?@  35#!?@ ,,UE: A& U3T$BC UDMM1ceS/$BCrNc^^"UU4SjS[5nU"5mUR[RSTS455mUR[RSU"5S455nUR UR S5 UR TU5 UR UR S5 URT[RS55 URU[RSU"5S455 g)Nc(>\rSrSrSrUU4SjrSrg)`CPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key_in_dict_eq..Keyi^rc >TT grr3rs rrlCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key_in_dict_eq..Key.side_effect`rrNr3N)rerfrgrhrrrirsrrfr^sG ! !rNrfrrr r)rr>rCr}rArrrrs @@r5test_issue119004_change_size_by_delete_key_in_dict_eqSCPythonOrderedDictSideEffects.test_issue119004_change_size_by_delete_key_in_dict_eq]s ! !+ !   5#!?@  35#!?@ A& E5) A& UDMM($;< UDMM1ceS/$BCrNr3N) rerfrgrhrrrr rrrir3rNrrr#s&M D D D DDrNrz0requires the C version of the collections modulec\rSrSr\r\R r\Rr\RS5r Sr Sr \RS5r Srg)CPythonOrderedDictTestsincURn[Rn[RnUR nU"S5nU"S5nU"S5nU"S5nU"S5n U"5n U"X5 SU lU"X5 U R[S5V s/sHoU 4PM sn 5 U"XU-SU--S-S U--SU --5 U R[SS 5V s/sHoU 4PM sn 5 U"XU-S U--S -S U--S U --5 U"U R5U"S55 U"U R5U"S55 U"U R5U"S55 U"S 5n U"[U 5U 5 U"[U R55U 5 U"[U R55U 5 U"[U R55U 5 gs sn fs sn f) N nQ2P3PnPn2Pn2BI2nn2PPPn2Prr$rQr*riP2n2P) r>structcalcsizer calcobjsize check_sizeofrrTrr]rDrr) r0r>r(sizer basicsizekeysize entrysizepnodesizerUritersizes rtest_sizeof_exact)CPythonOrderedDictTests.test_sizeof_exactws&& ??""!!+, 8$UO SMF# ] b b 58,8aq68,- bg%!+a/!I+=( JK 5B<0 d2h! d2779ox( d288:) d299;*-0s  G*$ G/cURnURS5nUR[U5[S55 UR [ 5 [ U5H(up4URU5 URUS5 M* SSS5 UR [ 5 UHnSUS'M SSS5 UR [ 5 UHnUS M SSS5 UR[U5[S55 g!,(df  N=f!,(df  Nn=f!,(df  NU=f)Nr"r*r8r#bdeaf) r>r}rArEr?r enumerater& assertLess)r0r>rUrrs r test_key_change_during_iteration8CPythonOrderedDictTests.test_key_change_during_iterations&&  ! !' * b4=1   | ,!" q!1%&-  | ,3-  | ,sG- b4=1- ,- ,- ,s$8D,D# D4 D # D14 EcURn/SQnU"U5nSHn[X45n[U"55SSn[[R S-5HnUR XGS9 [U"55n[U5 [R"X5n [R"U 5n UR[U 5U5 UR[U5U5 SSS5 M M g!,(df  M=f)Nr)r]rrDr) method_nameprotocol) r>getattrrErrrrrrrrrA) r0r>rGrUr;methrrrr/ unpickleds rtest_iterators_pickling/CPythonOrderedDictTests.test_iterators_picklings&& L  6K2+DDF|AB'H622Q67\\k\FdfBH R+A & QI$$T)_h?$$T"Xx8 GF87GFs *A>C99 D c[R"5 UR5nXl/nUR U5 [ R "U5nUR U5 AAA[R"5 gr)rrr>cycler_rr)r0rrCx_refs r"test_weakref_list_is_not_traversed:CPythonOrderedDictTests.test_weakref_list_is_not_traversedsZ     U A U ue rNr3N)rerfrgrhc_collrr>rr*rr2r8r@rErir3rNrrrns\ F$$K''L ++@2"9" rNrcB\rSrSr\r"SS\R 5rSrg)"PurePythonOrderedDictSubclassTestsic\rSrSrSrg).PurePythonOrderedDictSubclassTests.OrderedDictir3Nrerfrgrhrir3rNrr>rK rNr>r3N)rerfrgrhrrr>rir3rNrrIrIs F g)) rNrIcB\rSrSr\r"SS\R 5rSrg)CPythonOrderedDictSubclassTestsic\rSrSrSrg)+CPythonOrderedDictSubclassTests.OrderedDictir3NrLr3rNrr>rQrMrNr>r3N)rerfrgrhrGrr>rir3rNrrOrOs F f(( rNrOcZ\rSrSr\r"SS\R 5r\RrSr g)*PurePythonOrderedDictWithSlotsCopyingTestsic\rSrSrSrSrg)6PurePythonOrderedDictWithSlotsCopyingTests.OrderedDictirrr3Nrerfrgrh __slots__rir3rNrr>rU rNr>r3N) rerfrgrhrrr>rrrir3rNrrSrSs$ Fg))#00LrNrScZ\rSrSr\r"SS\R 5r\RrSr g)'CPythonOrderedDictWithSlotsCopyingTestsic\rSrSrSrSrg)3CPythonOrderedDictWithSlotsCopyingTests.OrderedDictirVr3NrWr3rNrr>r]rYrNr>r3N) rerfrgrhrGrr>rrrir3rNrr[r[s&Ff((#00LrNr[c*\rSrSr\S5rSrSrg)PurePythonGeneralMappingTestsic.[RUlgrrr> type2testclss r setUpClass(PurePythonGeneralMappingTests.setUpClasss++ rNcdUR5nUR[UR5 gr_empty_mappingr?rrr0r&s rr*PurePythonGeneralMappingTests.test_popitem$    ! (AII.rNr3Nrerfrgrh classmethodrerrir3rNrr_r_s,,/rNr_c*\rSrSr\S5rSrSrg)CPythonGeneralMappingTestsic.[RUlgrrGr>rbrcs rre%CPythonGeneralMappingTests.setUpClasss** rNcdUR5nUR[UR5 grrhrjs rr'CPythonGeneralMappingTests.test_popitemrlrNr3Nrmr3rNrrprps++/rNrpc*\rSrSr\S5rSrSrg)PurePythonSubclassMappingTestsicB"SS[R5nXlg)Nc\rSrSrSrg)@PurePythonSubclassMappingTests.setUpClass..MyOrderedDicti r3NrLr3rNr MyOrderedDictrz  rNr{rardr{s rre)PurePythonSubclassMappingTests.setUpClasss G// % rNcdUR5nUR[UR5 grrhrjs rr+PurePythonSubclassMappingTests.test_popitem rlrNr3Nrmr3rNrrwrws&& /rNrwc*\rSrSr\S5rSrSrg)CPythonSubclassMappingTestsicB"SS[R5nXlg)Nc\rSrSrSrg)=CPythonSubclassMappingTests.setUpClass..MyOrderedDictir3NrLr3rNrr{rr|rNr{rrr}s rre&CPythonSubclassMappingTests.setUpClasss F.. % rNcdUR5nUR[UR5 grrhrjs rr(CPythonSubclassMappingTests.test_popitemrlrNr3Nrmr3rNrrrs&& /rNrcL^\rSrSrU4SjrU4SjrU4SjrU4SjrSrU=r $)SimpleLRUCachei cd>[TU]5 Xl[R SS5Ulg)Ngetsetdelr)superrFr+rCr}counts)r0r+rs rrFSimpleLRUCache.__init__"s&  mm$91= rNcv>URS==S- ss'[TU] U5nURU5 U$)Nrr)rr __getitem__r&)r0itemr|rs rrSimpleLRUCache.__getitem__'s9 Ea#D)  rNc>URS==S- ss'X;aH[U5UR:a/URSS9 X;a[U5UR:aM/[TU]X5 UR U5 g)NrrFr)rrr+rrrr&)r0rr|rs rrSimpleLRUCache.__setitem__-sj Eao#d)tyy"8 LLeL $o#d)tyy"8 C' rNcR>URS==S- ss'[TU] U5 g)Nrr)rrr)r0rrs rrSimpleLRUCache.__delitem__4s$ Ea C rN)rr+) rerfrgrhrFrrrri __classcell__)rs@rrr s>  !!rNrc,\rSrSrSrSrSrSrSrg)SimpleLRUCacheTestsi9cURS5nSUS'SUS'SUS'URURSSSS.5 UR[U5SS/5 URURSSSS.5 g) Nr rt1t2r$t3rr)rbrArrE)r0r#s rtest_add_after_full'SimpleLRUCacheTests.test_add_after_full;sy NN1 $$$ 1Qq#AB a4,/ 1Qq#ABrNcURS5n[SS5HnX!U'M URURSS9S5 URURSS9S5 URURS SS S .5 g) Nr$rr'Fr)rrT)r$r$rr)rbrrArrr0r#rs rr SimpleLRUCacheTests.test_popitemDsx NN1 q!AaD .7 -v6 1Qq#ABrNcURS5n[SS5HnX!U'M URURSSSS.5 URUR S5S5 URURSSSS.5 URUR SS5S5 URURSSSS.5 UR [ URS5 URURSSSS.5 g)Nr$rr'rrr )rbrrArrr?rrs rrSimpleLRUCacheTests.test_popLs NN1 q!AaD 1Qq#AB q1% 1Qq#AB q!a( 1Qq#AB (AEE1- 1Qq#ABrNc URS5n[SS5HnX!U'M UR[U5[[SS555 URURSSSS.5 URUSS5 URURSSSS.5 UR[U5/SQ5 g)Nr$rr'rrr )rr$r )rbrrArErrs rtest_change_order_on_get,SimpleLRUCacheTests.test_change_order_on_getXs NN1 q!AaD a$uQ{"34 1Qq#AB 1q! 1Qq#AB a),rNr3N) rerfrgrhrrrrrir3rNrrr9sCC C-rNrc@\rSrSr"SS\\R 5rSrg)PySimpleLRUCacheTestsicc\rSrSrSrg)PySimpleLRUCacheTests.type2testier3NrLr3rNrrbrerMrNrbr3N) rerfrgrhrrr>rbrir3rNrrrcs NG$7$7 rNrc$\rSrSr\S5rSrg)CSimpleLRUCacheTestsiicL"SS[[R5nXlg)Nc\rSrSrSrg)2CSimpleLRUCacheTests.setUpClass..type2testinr3NrLr3rNrrbrnr|rNrb)rrGr>rb)rdrbs rreCSimpleLRUCacheTests.setUpClassls (:(: ! rNr3N)rerfrgrhrnrerir3rNrrris""rNr__main__)6r contextlibrrrrrrandomrrr'runittestrcollections.abcrtestrr test.supportrr import_fresh_modulerrGcontextmanagerrrrTestCaserrr6methodsetattrr=r skipUnlessrrIrOrSr[BasicTestMappingProtocolr_rprwrrrrrremainr3rNrrs  % *'@  + +M5C4D F  * *=2@1A C ,,E 1E 1P"""D!183D3DD*h//#%*EG ,F  #VW5Ev-NO , HDHDV VOP].;&//]Q]@ )C  &= 11B1B1 VOP1h.?.?1Q1/M$J$J/ VOP/!G!G/Q/ /]%K%K / VOP /-"H"H /Q /!!2'-'-T /1B1B  VOP".0A0A"Q" z MMOrN