ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙa 3gh@s2dZddlZddlZddlZddlZddlZddlZddlmZm Z ddl Z ddl Z ddl m Z ddlZddlZddlmZmZmZmZddlmZmZmZddlmZddlmZdd lmZmZdd lmZmZmZdd lmZm Z m!Z!m"Z"m#Z#dd lm$Z$m%Z%m&Z&m'Z'dd lm(Z(m)Z)ddlm*Z*m+Z+m,Z,m-Z-m.Z.ddlm/Z/m0Z0ddlm1Z1Gdddej2Z3Gdddej2Z4eddZ5Gdddej2Z6Gdddej2Z7ddZ8Gddde7Z9Gdd d e)Z:Gd!d"d"e7Z;Gd#d$d$eZd.d)d*Z?e@d+kr.e?d,d-dS)/zUnit tests for collections.py.N)choice randrange)support) namedtupleCounter OrderedDict_count_elements)UserDict UserStringUserList)ChainMap)deque) Awaitable Coroutine) AsyncIterator AsyncIterableAsyncGenerator)HashableIterableIterator Generator Reversible)Sized ContainerCallable Collection)Set MutableSet)MappingMutableMappingKeysView ItemsView ValuesView)SequenceMutableSequence) ByteStringc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)TestUserObjectscCs0|tt|tt|dj|j|jddS)Nz&{a} should have all the methods of {b}ab)ZassertGreaterEqualsetdirformat__name__)selfr(r)r/4/opt/python39/lib/python3.9/test/test_collections.py_superset_tests  zTestUserObjects._superset_testcCsn|}||j|j||j|jdg|_t|}||j|j||j|j||j|jdS)Ni)copy assertIsNotdata assertEqualtestassertIs)r.objZobj_copyr/r/r0 _copy_test)s zTestUserObjects._copy_testcCs|ttdSN)r1r strr.r/r/r0test_str_protocol6sz!TestUserObjects.test_str_protocolcCs|ttdSr:)r1r listr<r/r/r0test_list_protocol9sz"TestUserObjects.test_list_protocolcCs|ttdSr:)r1r dictr<r/r/r0test_dict_protocol<sz"TestUserObjects.test_dict_protocolcCst}|d||dS)N{)r appendr9r.r8r/r/r0test_list_copy?s zTestUserObjects.test_list_copycCst}d|d<||dS)NabcrB)r r9rDr/r/r0test_dict_copyDszTestUserObjects.test_dict_copyN) r- __module__ __qualname__r1r9r=r?rArErGr/r/r/r0r&s  r&c@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS) TestChainMapc Csrt}d|d<d|d<|}d|d<d|d<||jdddddd g||tdddd |t|d d D]}|||q~tdddd dD]\}}|||d |q|d=||jddiddd g||tdddd |t|d d D]}|||qtdddd dD]\}}|||d |q>|t |t |j dt |j dg| t |fD]|}|||||j|j| ||| |jd|jdt|jdd|jddD]\}}|||qqttjdD]h} tt|| }|||||j|j| ||t|j|jD]\}}| |||qpq$t |tt |fD]V}|||||j|j| ||t|j|jD]\}}| |||qސq|} d| d<|| jddiddiddd g|| jjddiddd g|| dd|| jdddS)Nr(r)cr)rOr'r(r)rOrFd)r(r)rOzz({'c': 30}, {'a': 1, 'b': 2})z({'c': 30}, {'b': 2, 'a': 1})r)r new_childr5mapsitemsr@lenassertIngetreprtyper-r2r3zipr7rangepickleHIGHEST_PROTOCOLloadsdumpsdeepcopyevalparents) r.rOdkeykveZm1Zm2protofr/r/r0 test_basicsPsj     &     "zTestChainMap.test_basicscCsPddd}ddd}t||}|}|||t|t|dS)NZbachZ rembrandt)Zmusicartzvan goghZcarmen)roZopera)r r2updater5r>rX)r.ZbaselineZ adjustmentscmZcombinedr/r/r0 test_orderings     zTestChainMap.test_orderingcCs2|tjig|tddijddigdSNrKrL)r5r rWr<r/r/r0test_constructorszTestChainMap.test_constructorcCsH|t|tii|tddii|tiddidSrs) assertFalser assertTruer<r/r/r0 test_bools zTestChainMap.test_boolcCs*Gdddt}|tdddtddd}tdddd d D]\}}||||q>tdddd d D]\}}|||d |qltd d d d d D]\}}|||v|q||ddd|||ddd||d|t|Wdn1s0YdS)Nc@seZdZddZdS)z2TestChainMap.test_missing..DefaultChainMapcSsdS)Nr/r.rhr/r/r0 __missing__sz>TestChainMap.test_missing..DefaultChainMap.__missing__N)r-rHrIrzr/r/r/r0DefaultChainMapsr{rKrLr'rMrNrPrxr(r)rOrgMTFr(iir)rL) r r@rXr5r[poppopitem assertRaisesKeyError)r.r{rgrirjr/r/r0 test_missings zTestChainMap.test_missingcCsttdddttddddtdd d d d d ttdddtddddddt}|d|d|t|gddS)Nr8[)jh'\ )irgrO Mix)rmr)grOr7)rkr)rKrLrRrUr(r)rOrgrkZ abcdefghij) )r(rK)r)r)rOr)rgr)rkr)rmr)rr)rr)rr)rr)r rr5joinr>rXr.rgr/r/r0test_order_preservations    z$TestChainMap.test_order_preservationcCsBGdddt}|dd}t|}d|_t|||jddS)Nc@seZdZddZddZdS)zKTestChainMap.test_iter_not_calling_getitem_on_maps..DictWithGetItemc_s"d|_tj|g|Ri|dSNF)calledr __init__r.argskwdsr/r/r0rszTTestChainMap.test_iter_not_calling_getitem_on_maps..DictWithGetItem.__init__cSsd|_t||dSNT)rr __getitem__r.itemr/r/r0rszWTestChainMap.test_iter_not_calling_getitem_on_maps..DictWithGetItem.__getitem__N)r-rHrIrrr/r/r/r0DictWithGetItemsrrKr(Fz__getitem__ was called)r r rr*ru)r.rrgrOr/r/r0%test_iter_not_calling_getitem_on_mapss  z2TestChainMap.test_iter_not_calling_getitem_on_mapscCsVttdddtddd}|t|tdddd|t|tdddddS)NrKrLr'rMrNrPrQ)r r@r5rXrr/r/r0test_dict_coercionszTestChainMap.test_dict_coercioncCst}d|d<d|d<ddd}||}||jddddddg|||jd Gd d d t}t}d|d<d|d<|ddd}||}|||jd d D]}|||qtdddd dD]\}}|||d |qdS)z#Tests for changes for issue #16613.rKr(rLr)rMrNrPr'rc@seZdZddZddZdS)z.TestChainMap.test_new_child..lowerdictcSst|tr|}t||Sr:) isinstancer;lowerr@rryr/r/r0rs z:TestChainMap.test_new_child..lowerdict.__getitem__cSst|tr|}t||Sr:)rr;rr@ __contains__ryr/r/r0rs z;TestChainMap.test_new_child..lowerdict.__contains__N)r-rHrIrrr/r/r/r0 lowerdictsrrFrS)r(BCrTN) r rVr5rWr7r@rZrXr[)r.rOmrgrrhrirjr/r/r0test_new_childs$     zTestChainMap.test_new_childc CsTttdddtddd}ttddd td dd }|}tdd d }ddg}||B}||j|jdt|Bg|jdd||O}|||||B}||j|jd|Bg|jdd|||Bj|t|Bg||O}||||t||BWdn1s"0Y|}||O}||j|jdt|Bg|jddGdddt}Gdddt}ttB}|t|t|t|jdtt|B}|t|t|t|jdt|tB}|t|||t|jdtt|B}|t|||t|jdtdS)NrKrLr'rRr)rOrg rU)r(rkrM)r)rgrNr(rO)rOrR)prrc@s eZdZdS)z3TestChainMap.test_union_operators..SubclassNr-rHrIr/r/r/r0SubclasssrcseZdZfddZZS)z6TestChainMap.test_union_operators..SubclassRorcs t|Sr:)super__ror__r.other __class__r/r0rsz>TestChainMap.test_union_operators..SubclassRor.__ror__)r-rHrIr __classcell__r/r/rr0 SubclassRorsr) r r@r2r5rWr TypeErrorr7r]) r.Zcm1Zcm2Zcm3rgpairstmprrr/r/r0test_union_operatorssB , (  (,    z!TestChainMap.test_union_operatorsN) r-rHrIrnrrrtrwrrrrrrr/r/r/r0rJNs< rJTestNTzx y zc@seZdZddZddZddZeej j dkdd d Z eej j dkdd d Z e jeej j dkdd dZe jddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Ze jd'd(Zd)d*Zd+S),TestNamedTuplecCsHtdd}||jd||jd||jt||jtj||jd|t tdd|t tdd|t tdd|t td d |t td d |t td d |t td d |t td dtddtddtdd}| dt |jtdd}| dt |j|t |j dg|t |j gddS)NPointx yr/xyzabc%zefg ghiclassZ9abcrFzefg g%hiz abc classz 8efg 9ghiz_efg ghiz efg efg ghiZPoint0zx1 y2_za b cntzthe quick brown foxzu')theZquick )rr!)rr5r- __slots__rHrtuple_fieldsr ValueError assertNotInr\r_make)r.rrr/r/r0 test_factory2s,     zTestNamedTuple.test_factorycCsRtdddd}||jddd||dd d ||dd ||dtddd d}||jd di||dd d ||dd tdddd}||ji||dd d |t|dWdn1s0Y|t|Wdn1s0Y|t|dd dWdn1sT0Y|ttdddd}Wdn1s0Y|ttdddd}Wdn1s0Y|ttdddd}Wdn1s0Ytdddd}||ji||jjd||ddd|t|dWdn1st0Ytddddgd}||jddd||jjd||dd d ||dd ||dtddtddgd}||jddd||jjd||dd d ||dd ||ddS)Nrr)rrM)defaultsrrMrrKrLrKrL)rKrM)rMrr/rRrrMrNF) rr5_field_defaultsrr assertIsNone__new__ __defaults__iterr.rr/r/r0 test_defaultsOsT & & , . . . (zTestNamedTuple.test_defaultscCstdd}|dd}|td|_Wdn1s:0Y|t|`Wdn1sh0Y|td|d<Wdn1s0Y|t|d=Wdn1s0Y||jd||dddS)Nrrrrrr)rrAttributeErrorrrr5r.rrr/r/r0 test_readonlys   $ " & $zTestNamedTuple.test_readonlyrLz)Docstrings are omitted with -O2 and abovecCs0tdd}||jdd|_||jddS)Nrrz Point(x, y)z2D point)rr5__doc__rr/r/r0test_factory_doc_attrs z$TestNamedTuple.test_factory_doc_attrcCsxtdd}||jjd||jjdd|j_||jjdtdd}||jjdd|j_||jjddS)NrrzAlias for field number 0zAlias for field number 1zdocstring for Point.xVectorzdocstring for Vector.x)rr5rrr)r.rrr/r/r0test_field_docs  zTestNamedTuple.test_field_doccCsHtdddg}tdddg}||jj|jj||jj|jjdS)NPrnQor)rr7rrrrr)r.rrr/r/r0test_field_doc_reusesz#TestNamedTuple.test_field_doc_reusecCsftdd}|t|jd|t|jdd|j_d|j_|t|jd|t|jddS) Nrrz+_tuplegetter(0, 'Alias for field number 0')z+_tuplegetter(1, 'Alias for field number 1')zThe x-coordinatezThe y-coordinatez#_tuplegetter(0, 'The x-coordinate')z#_tuplegetter(1, 'The y-coordinate'))rr5r\rrrrr/r/r0test_field_reprs zTestNamedTuple.test_field_reprcCsNddgddgddgddgdd gd d gfD] \}}|td |d dj|q(dS)N)efgzg%hi)r_1)rFrrFr)Z8efgZ9ghi)Z_0r)rFZ_efg)rFrrghi)rFrZ_2r)rFrr)rFrrNTTrename)r5rr)r.specZrenamedr/r/r0test_name_fixers zTestNamedTuple.test_name_fixercCs$tdddgtd}||jtdS)Nrrrmodule)r collectionsr5rHr.rr/r/r0test_module_parametersz$TestNamedTuple.test_module_parameterc Cstdd}|dd}|||ddd|||ddd|||ddd|||d|||fitddd|t|d |t|d d d |t|d d d Wdn1s0Y|t|d d Wdn1s0Y|t|d|dt||||ddg||j d||j d d d|| tdddz|j d d dWnt yYn 0| dtdd}|ddd}|t|dtdd}|ddd}|t|ddS)Nrrrrr)r)rrrrrKrLrR)ZXXXrrzPoint(x=11, y=22) __weakref__)rKr)rerrorz%Did not detect an incorrect fieldnamezx, y)rr5r@rrr\rr+rr_replace_asdictrZ_failrr/r/r0 test_instances<   * (     zTestNamedTuple.test_instancecCsHtdd}|dd}||t||d|t|d|t|ddg|t|d|t|d|\}}||||f||d|dfd|t|dWdn1s0Y||d d|t|td||j |||j ||t |j Wdn1s:0YdS) NrrrrrrrKrR) rassertIsInstancerr5r>maxr IndexErrorhashrrrrT)r.rrrrr/r/r0test_tuplenesss&     & zTestNamedTuple.test_tuplenessc Cs tdd}||d||gd|t|d||i||jdtdd}||dd||dgd||djd|t|dd ||dddi||djd d d ||djd d }tt ddt |D}t |}td|}|t |}||t t |||t |t t |t |D]\}}|t|||qjt||} tt|t |} || | |jfit|dd f|ddfg} tt |} d | d<d| d<|| t | ||jt |dS)NZerorr/zZero()DotrgrKrKzDot(d=1)rx)rg)rxicss&|]}dddtdDVqdS)rcSsg|]}ttjqSr/)rstring ascii_letters).0rr/r/r0 sz;TestNamedTuple.test_odd_sizes...rN)rr_)r rr/r/r0 s z0TestNamedTuple.test_odd_sizes..Big*)rr5rr\rrrgrr>r*r_rYr enumerategetattrr@r^) r.rrrnamesr r)posnamergZ d_expectedb2Z b2_expectedr/r/r0test_odd_sizessF       ( zTestNamedTuple.test_odd_sizescCstdddd}tfD]j}t|d}t|d}td|jdD]@}||||}|||||j|j|d |||qZregularZlikeconvert field_namesrmessageobjectZ particularto tuple_newr^ module_namer>syswhichr startswithZuserframeindexrr*ZexampleZplainZnicelyexecr!rrZ argumentsclass_namespace namespaceZ functionsZtheirnewZ indexableZgotrbethisrmusedcreatedr` isidentifierrTZModifyZhasrYstringssubclassr\smethodsZ introspectionvariableZ docstringsvaluesZ dictionaryZgreaterZ instantiateZMakeZForrZ automaticallyZ debuggingZ underscoreseenZAliasrkeywordsverbosefunctionZ specifiedZvalid formattedrr[Z docstringZBypassallrroptionZbyZExpectedZmustZdefinedZbut namedtuple_Z environmentsrWr f_globalsZNoteZ interningZeitherrreplacegetterrZbuildrmaprresultwhereZansplitmetadataZworkZValidateZcannotZalsostartrmethodZReturnr@rr;targetsoperatorhelpZup num_fieldsZ Variablesr(ZJythonaddZCreaterZHelperZgeneratetypenameZUsedZ positionaluserr.r2arg_listZFieldZreuse_itemgetterZnumberZ IronPythonTypeZsideZ replacingunpackZthanZ unexpectedsteprrZReturnsZ duplicatekeywordZaddedZrepresentationZ identifiersZeffectrZoffieldsinstanceZBuildZsequencer]r rZcreationZAtdocnamedrepr_fmtriterableZpicklingrZGotbuiltinsZfieldZneedsrrg classmethodZ EncounteredZ accessiblecss|]}|dVqdS)rNr/)r rjr/r/r0r vz5TestNamedTuple.test_name_conflicts..) rr5rrr_rYr@r^rrr\r__getnewargs__)r.rtZnewtwordsr<Z newvaluesr/r/r0test_name_conflicts>s,          z"TestNamedTuple.test_name_conflictscCsFtdd}|t|ddGddd|}|t|dddS)NArrKzA(x=1)c@s eZdZdS)z#TestNamedTuple.test_repr..BNrr/r/r/r0rsrzB(x=1))rr5r\)r.rirr/r/r0 test_repr~s zTestNamedTuple.test_reprcCs|t tdddgd}Wdn1s00Ytdddgdd}||jd|t"tdddgd d}Wdn1s0YdS) NrrrTrFdefrrF)rrrr5rrr/r/r0test_keyword_only_argumentss  . z*TestNamedTuple.test_keyword_only_argumentscCsXGdddtdddg}|dd}||tdd gd |_||jd d idS) Nc@s eZdZdS)zBTestNamedTuple.test_namedtuple_subclass_issue_24931..PointNrr/r/r/r0rsrZ_PointrrrRr)rrR)rrrUw)rr5rrrm__dict__)r.rr(r/r/r0$test_namedtuple_subclass_issue_24931s  z3TestNamedTuple.test_namedtuple_subclass_issue_24931cstdddd}|tj|j|d|tjj |d|tjj |Gfdddt }|dd g}||jd||j d dS) Nrrrrrcs0eZdZeejZeejZdS)z6TestNamedTuple.test_field_descriptor..NewPointN)r-rHrIr`rbrcrrr/rr/r0NewPointsrqrKrL) rrvinspectZisdatadescriptorrr5__get__rr__set__ __delete__rr)r.rrqZnpr/rpr0test_field_descriptors   z$TestNamedTuple.test_field_descriptorcCs|tddjjdidS)Nrr/ __builtins__)r5rr __globals__r<r/r/r0test_new_builtins_issue_43102sz,TestNamedTuple.test_new_builtins_issue_43102N)r-rHrIrrrunittestZskipIfr)flagsoptimizerrrZ cpython_onlyrrrrrrrrrrhrjrlrorvryr/r/r/r0r0s@2     && @   rc@s$eZdZddZddZddZdS) ABCTestCasecGs\t|dd}td|f|}||D].}|}||=td|f|}|t||q(dS)NcWsdSNrr/r9rr/r/r0rdz7ABCTestCase.validate_abstract_methods..r)r@fromkeysr]r2rr)r.rFrZ methodstubsrrZstubsr/r/r0validate_abstract_methodssz%ABCTestCase.validate_abstract_methodscCsxdd}tdtfddi}t|||||||t||tdtfddi}||||t||dS)NcWsdSr~r/rr/r/r0rrdz1ABCTestCase.validate_isinstance..r__hash__)r]r%setattrrrv issubclassassertNotIsInstanceru)r.rFrZstubrr/r/r0validate_isinstances zABCTestCase.validate_isinstancecCsgd}i}|D]}d|d}tt|||<qGddd}|D]>\}}t||sZqF|}|||||jdt||fqFdS)N) ltgtlegeneorandxorsub__c@s@eZdZddZddZeZeZeZeZeZ eZ eZ eZ eZ dS)z.ABCTestCase.validate_comparison..OthercSs d|_dSr right_sider<r/r/r0rsz7ABCTestCase.validate_comparison..Other.__init__cSs d|_dSrrrr/r/r0__eq__sz5ABCTestCase.validate_comparison..Other.__eq__N)r-rHrIrr__lt____gt____le____ge____ne__r__rand____rxor____rsub__r/r/r/r0OthersrzRight side not called for %s.%s)rrQrXhasattrrvrr])r.r]opsZ operatorsoprrrr/r/r0validate_comparisons     zABCTestCase.validate_comparisonN)r-rHrIrrrr/r/r/r0r}s r}ccs dVdSr:r/r/r/r/r0 _test_gensrc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!S)"TestOneTrickPonyABCsc Cs.dd}tjdd}dd}Gddd}Gd d d t}dt|tg}|D].}||t|tt |tt t |qR||g}|D]$}| |t| tt |tq|} || t|} | | t| Gd d d } t| | t| t| t| td} tdS) Ncss dVdSr:r/r/r/r/r0gensz0TestOneTrickPonyABCs.test_Awaitable..gencss dVdSr:r/r/r/r/r0corosz1TestOneTrickPonyABCs.test_Awaitable..corocsdSr:r/r/r/r/r0new_corosz5TestOneTrickPonyABCs.test_Awaitable..new_coroc@seZdZddZdS)z0TestOneTrickPonyABCs.test_Awaitable..Barcss dVdSr:r/r<r/r/r0 __await__sz:TestOneTrickPonyABCs.test_Awaitable..Bar.__await__Nr-rHrIrr/r/r/r0Barsrcs.eZdZddZdfdd ZddZZS) z8TestOneTrickPonyABCs.test_Awaitable..MinimalCorocSs|Sr:r/r.valuer/r/r0sendsz=TestOneTrickPonyABCs.test_Awaitable..MinimalCoro.sendNcst|||dSr:rthrowr.typvaltbrr/r0rsz>TestOneTrickPonyABCs.test_Awaitable..MinimalCoro.throwcss dVdSr:r/r<r/r/r0r szBTestOneTrickPonyABCs.test_Awaitable..MinimalCoro.__await__)NNr-rHrIrrrrr/r/rr0 MinimalCorosrc@s eZdZdS)z5TestOneTrickPonyABCs.test_Awaitable..CoroLikeNrr/r/r/r0CoroLike!rdr)types coroutinerintr%rrrurr]r\rrvcloseregisterrr gc_collect r.rrrrr non_samplesrsamplesrOrr/r/r0test_Awaitables2        z#TestOneTrickPonyABCs.test_Awaitablec CsHdd}tjdd}dd}Gddd}Gd d d t}dt|t|g}|D].}||t|tt|tt t|qV|g}|D]$}| |t | tt|t q|} || t|} | | t| Gd d d } | t| t| t| tGd d d } |t| t|t| tdS)Ncss dVdSr:r/r/r/r/r0r)sz0TestOneTrickPonyABCs.test_Coroutine..gencss dVdSr:r/r/r/r/r0r,sz1TestOneTrickPonyABCs.test_Coroutine..corocsdSr:r/r/r/r/r0r0sz5TestOneTrickPonyABCs.test_Coroutine..new_coroc@seZdZddZdS)z0TestOneTrickPonyABCs.test_Coroutine..Barcss dVdSr:r/r<r/r/r0r4sz:TestOneTrickPonyABCs.test_Coroutine..Bar.__await__Nrr/r/r/r0r3srcs.eZdZddZdfdd ZddZZS) z8TestOneTrickPonyABCs.test_Coroutine..MinimalCorocSs|Sr:r/rr/r/r0r8sz=TestOneTrickPonyABCs.test_Coroutine..MinimalCoro.sendNcst|||dSr:rrrr/r0r:sz>TestOneTrickPonyABCs.test_Coroutine..MinimalCoro.throwcss dVdSr:r/r<r/r/r0r<szBTestOneTrickPonyABCs.test_Coroutine..MinimalCoro.__await__)NNrr/r/rr0r7src@s.eZdZddZd ddZddZdd ZdS) 5TestOneTrickPonyABCs.test_Coroutine..CoroLikecSsdSr:r/rr/r/r0rTs:TestOneTrickPonyABCs.test_Coroutine..CoroLike.sendNcSsdSr:r/rr/r/r0rVsz;TestOneTrickPonyABCs.test_Coroutine..CoroLike.throwcSsdSr:r/r<r/r/r0rXs;TestOneTrickPonyABCs.test_Coroutine..CoroLike.closecSsdSr:r/r<r/r/r0rZs?TestOneTrickPonyABCs.test_Coroutine..CoroLike.__await__)NN)r-rHrIrrrrr/r/r/r0rSs rc@s$eZdZddZddZddZdS)rcSsdSr:r/rr/r/r0r`srcSsdSr:r/r<r/r/r0rbsrcSsdSr:r/r<r/r/r0rdsrN)r-rHrIrrrr/r/r/r0r_s)rrrrr%rrurr]r\rrrvrrrr/r/r0test_Coroutine(s2       z#TestOneTrickPonyABCs.test_Coroutinec Csttttg}|D].}||t|tt|tt t|qdt t t t ttt ttttg }|D].}||t|tt|tt t|qv|ttGdddt}|t|d|tt ||td|tddS)NcseZdZfddZZS)z-TestOneTrickPonyABCs.test_Hashable..Hcs tSr:)rrr<rr/r0r|sz6TestOneTrickPonyABCs.test_Hashable..H.__hash__)r-rHrIrrr/r/rr0H{srrr) bytearrayr>r*r@rrrurr]r\rfloatcomplexr;r frozensetr%bytesrrvrrr5rrr)r.rrrrr/r/r0 test_Hashableis&        z"TestOneTrickPonyABCs.test_HashablecCsGddd}|t|t|t|tdtgg}|D].}||t|tt|ttt|q>| td| tddS)Nc@seZdZddZdS)z3TestOneTrickPonyABCs.test_AsyncIterable..AIcSs|Sr:r/r<r/r/r0 __aiter__sz=TestOneTrickPonyABCs.test_AsyncIterable..AI.__aiter__N)r-rHrIrr/r/r/r0AIsrr) rvrrrr%rrur]r\rr)r.rrrr/r/r0test_AsyncIterables    z'TestOneTrickPonyABCs.test_AsyncIterablecCsGddd}|t|t|t|tdtgg}|D].}||t|tt|ttt|q>Gddd}||t| tdddS)Nc@seZdZddZddZdS)z3TestOneTrickPonyABCs.test_AsyncIterator..AIcSs|Sr:r/r<r/r/r0rsz=TestOneTrickPonyABCs.test_AsyncIterator..AI.__aiter__cstdSr:StopAsyncIterationr<r/r/r0 __anext__sz=TestOneTrickPonyABCs.test_AsyncIterator..AI.__anext__N)r-rHrIrrr/r/r/r0rsrc@seZdZddZdS)z:TestOneTrickPonyABCs.test_AsyncIterator..AnextOnlycstdSr:rr<r/r/r0rszDTestOneTrickPonyABCs.test_AsyncIterator..AnextOnly.__anext__N)r-rHrIrr/r/r/r0 AnextOnlysrrr) rvrrrr%rrur]r\r)r.rrrrr/r/r0test_AsyncIterators   z'TestOneTrickPonyABCs.test_AsyncIteratorc Cshgd}|D].}||t|tt|ttt|q tttt t t t t t t tdddDg }|D].}||t|tt|ttt|qGdddt}|t |g|tt||td|tdGdd d }Gd d d |}|t|t|t|t|t|t|t|tdS) N)NrQ @?css|] }|VqdSr:r/r rr/r/r0r rdz5TestOneTrickPonyABCs.test_Iterable..r/cseZdZfddZZS)z-TestOneTrickPonyABCs.test_Iterable..Ics tSr:)r__iter__r<rr/r0rsz6TestOneTrickPonyABCs.test_Iterable..I.__iter__)r-rHrIrrr/r/rr0Isrrc@seZdZddZdS)z.TestOneTrickPonyABCs.test_Iterable..ItcSstgSr:rr<r/r/r0rrdz7TestOneTrickPonyABCs.test_Iterable..It.__iter__Nr-rHrIrr/r/r/r0Itsrc@seZdZdZdS)z5TestOneTrickPonyABCs.test_Iterable..ItBlockedNrr/r/r/r0 ItBlockedsr)rrrurr]r\rr;rr>r*rr@keysrXr<rrrvr5rrr)r.rrrrrrr/r/r0 test_Iterables0       z"TestOneTrickPonyABCs.test_Iterablec Csddddttg}|D].}||t|tt|ttt|qtdddDt gt gg}|D].}||t|tt|ttt|qlt t t tttttttttttttg}|D]0}||t|tt|ttt|q|ttttt|ttttt|tttttGdddt}|tt |g|tt||td d Gd d d }Gd dd|}|t|t|t|t|t|t|t|tGddd}Gddd|} Gddd|} |t|t|t|t|t| t|t| t|t| t|t| tdS)Nrrrcss|] }|VqdSr:r/rr/r/r0r rdz7TestOneTrickPonyABCs.test_Reversible..r/c@seZdZddZddZdS)z/TestOneTrickPonyABCs.test_Reversible..RcSs ttSr:rr>r<r/r/r0rsz8TestOneTrickPonyABCs.test_Reversible..R.__iter__cSs ttSr:rr<r/r/r0 __reversed__sz.R.__reversed__Nr-rHrIrrr/r/r/r0Rsrrrc@seZdZddZdS)z7TestOneTrickPonyABCs.test_Reversible..RevNoItercSstgSr:reversedr<r/r/r0rrdzDTestOneTrickPonyABCs.test_Reversible..RevNoIter.__reversed__Nr-rHrIrr/r/r/r0 RevNoItersrc@seZdZddZdS)z9TestOneTrickPonyABCs.test_Reversible..RevPlusItercSstgSr:rr<r/r/r0rrdzBTestOneTrickPonyABCs.test_Reversible..RevPlusIter.__iter__Nrr/r/r/r0 RevPlusItersrc@seZdZddZddZdS)z1TestOneTrickPonyABCs.test_Reversible..RevcSstgSr:rr<r/r/r0rrdz:TestOneTrickPonyABCs.test_Reversible..Rev.__iter__cSstgSr:rr<r/r/r0rrdz>TestOneTrickPonyABCs.test_Reversible..Rev.__reversed__Nrr/r/r/r0Revsrc@seZdZdZdS)z:TestOneTrickPonyABCs.test_Reversible..RevItBlockedNrr/r/r/r0 RevItBlockedsrc@seZdZdZdS)z;TestOneTrickPonyABCs.test_Reversible..RevRevBlockedNrr/r/r/r0 RevRevBlockedsr)r*rrrrurr]r\rrrrr;rr>rrrXr<rr@rrvr#rrr5rrr) r.rrZnon_reversiblesrrrrrrrr/r/r0test_ReversiblesN      "z$TestOneTrickPonyABCs.test_Reversiblec Cs|ddddddg}|D].}||t|tt|ttt|qttdttddd Dg}|D].}||t|tt|ttt|qlt t t t t ttt t t g }|D].}||t|tt|ttt|q|ttttt|ttttt|ttttt|ttttt|ttttt|tttttGd d d t}Gd d d |}|tt|g|tt||tt ||tt||tt|g|tt||tt ||tt||tdddGddd}Gddd}Gddd} |t|t|t|t|t|t|t|t|t| t|t| tGddd} Gddd} |t| t|t| t|t| t|t| tGddd} Gddd| } |t| t|t| tdS)NrrrcSsd|S)NrLr/rr/r/r0rrdz6TestOneTrickPonyABCs.test_Collection..rdcss|] }|VqdSr:r/rr/r/r0r rdz7TestOneTrickPonyABCs.test_Collection..r/c@s$eZdZddZddZddZdS)z1TestOneTrickPonyABCs.test_Collection..ColcSs ttSr:rr<r/r/r0rsz:TestOneTrickPonyABCs.test_Collection..Col.__iter__cSsdSr~r/r<r/r/r0__len__sz9TestOneTrickPonyABCs.test_Collection..Col.__len__cSsdSrr/rr/r/r0r sz>TestOneTrickPonyABCs.test_Collection..Col.__contains__Nr-rHrIrrrr/r/r/r0Colsrc@s eZdZdS)z4TestOneTrickPonyABCs.test_Collection..DerColNrr/r/r/r0DerCol"rdrrrrc@seZdZddZddZdS)z7TestOneTrickPonyABCs.test_Collection..ColNoItercSsdSr~r/r<r/r/r0r/rdz?TestOneTrickPonyABCs.test_Collection..ColNoIter.__len__cSsdSrr/rr/r/r0r0rdzDTestOneTrickPonyABCs.test_Collection..ColNoIter.__contains__N)r-rHrIrrr/r/r/r0 ColNoIter.src@seZdZddZddZdS)z7TestOneTrickPonyABCs.test_Collection..ColNoSizecSstgSr:rr<r/r/r0r2rdz@TestOneTrickPonyABCs.test_Collection..ColNoSize.__iter__cSsdSrr/rr/r/r0r3rdzDTestOneTrickPonyABCs.test_Collection..ColNoSize.__contains__N)r-rHrIrrr/r/r/r0 ColNoSize1src@seZdZddZddZdS)z7TestOneTrickPonyABCs.test_Collection..ColNoContcSstgSr:rr<r/r/r0r5rdz@TestOneTrickPonyABCs.test_Collection..ColNoCont.__iter__cSsdSr~r/r<r/r/r0r6rdz?TestOneTrickPonyABCs.test_Collection..ColNoCont.__len__N)r-rHrIrrr/r/r/r0 ColNoCont4src@s eZdZddZddZdZdS)z7TestOneTrickPonyABCs.test_Collection..SizeBlockcSstgSr:rr<r/r/r0r?rdz@TestOneTrickPonyABCs.test_Collection..SizeBlock.__iter__cSsdSrr/r<r/r/r0r@rdzDTestOneTrickPonyABCs.test_Collection..SizeBlock.__contains__N)r-rHrIrrrr/r/r/r0 SizeBlock>src@s eZdZddZddZdZdS)z7TestOneTrickPonyABCs.test_Collection..IterBlockcSsdSr~r/r<r/r/r0rCrdz?TestOneTrickPonyABCs.test_Collection..IterBlock.__len__cSsdSrr/r<r/r/r0rDrdzDTestOneTrickPonyABCs.test_Collection..IterBlock.__contains__N)r-rHrIrrrr/r/r/r0 IterBlockBsrc@s$eZdZddZddZddZdS)z5TestOneTrickPonyABCs.test_Collection..ColImplcSs ttSr:rr<r/r/r0rLsz>TestOneTrickPonyABCs.test_Collection..ColImpl.__iter__cSsdSr~r/r<r/r/r0rNsz=TestOneTrickPonyABCs.test_Collection..ColImpl.__len__cSsdSrr/rr/r/r0rPszBTestOneTrickPonyABCs.test_Collection..ColImpl.__contains__Nrr/r/r/r0ColImplKsrc@seZdZdZdS)z4TestOneTrickPonyABCs.test_Collection..NonColN)r-rHrIrr/r/r/r0NonColRsr)rrrurr]r\rrrr*rr@rr;rr>rrXr<rrvr#rrrrr5rrr)r.Znon_collectionsrZnon_col_iterablesrrrrrrrrrrr/r/r0test_Collectionsp         z$TestOneTrickPonyABCs.test_Collectionc Cs dddddddgitg }|D].}||t|tt|ttt|qtttt tt tt tt tttt tt tt tt tdddDg }|D].}||t|tt|ttt|q|td d Gd d d }||tdS) Nrrrrdrr/css|] }|VqdSr:r/rr/r/r0r crdz5TestOneTrickPonyABCs.test_Iterator..__next__rc@seZdZddZdS)z4TestOneTrickPonyABCs.test_Iterator..NextOnlycss dVdSNrKr/r<r/r/r0rlsz=TestOneTrickPonyABCs.test_Iterator..NextOnly.__next__N)r-rHrIrr/r/r/r0NextOnlyksr)r*rrrurr]r\rrr;rr>r@rrrXr<rrrvr)r.rrrrr/r/r0 test_IteratorXs$      z"TestOneTrickPonyABCs.test_Iteratorc CsGddd}Gddd}Gddd}dddd d d d gittd tg|||g}|D].}||t|tt|ttt|q`Gd dd}Gdddt}dd}|dd||g} | D]:}||t ||t| tt|ttt|q| tdd|} | | t| | | dt| |d| d|| |t| jt|td| jttd|t| jtGdddt} |t| jGdddt} |t| jdS)Nc@s.eZdZddZddZddZd dd ZdS) z4TestOneTrickPonyABCs.test_Generator..NonGen1cSs|Sr:r/r<r/r/r0rsrdz=TestOneTrickPonyABCs.test_Generator..NonGen1.__iter__cSsdSr:r/r<r/r/r0rtrdz=TestOneTrickPonyABCs.test_Generator..NonGen1.__next__cSsdSr:r/r<r/r/r0rurdz:TestOneTrickPonyABCs.test_Generator..NonGen1.closeNcSsdSr:r/rr/r/r0rvrdz:TestOneTrickPonyABCs.test_Generator..NonGen1.throw)NN)r-rHrIrrrrr/r/r/r0NonGen1rsrc@s,eZdZddZddZddZddZd S) z4TestOneTrickPonyABCs.test_Generator..NonGen2cSs|Sr:r/r<r/r/r0ryrdz=TestOneTrickPonyABCs.test_Generator..NonGen2.__iter__cSsdSr:r/r<r/r/r0rzrdz=TestOneTrickPonyABCs.test_Generator..NonGen2.__next__cSsdSr:r/r<r/r/r0r{rdz:TestOneTrickPonyABCs.test_Generator..NonGen2.closecSs|Sr:r/rr/r/r0r|rdz9TestOneTrickPonyABCs.test_Generator..NonGen2.sendN)r-rHrIrrrrr/r/r/r0NonGen2xsrc@s&eZdZddZddZdddZdS) z4TestOneTrickPonyABCs.test_Generator..NonGen3cSsdSr:r/r<r/r/r0rrdz:TestOneTrickPonyABCs.test_Generator..NonGen3.closecSs|Sr:r/rr/r/r0rrdz9TestOneTrickPonyABCs.test_Generator..NonGen3.sendNcSsdSr:r/rr/r/r0rrdz:TestOneTrickPonyABCs.test_Generator..NonGen3.throw)NN)r-rHrIrrrr/r/r/r0NonGen3~srrrrrdrr/c@s6eZdZddZddZddZddZd d d Zd S) z0TestOneTrickPonyABCs.test_Generator..GencSs|Sr:r/r<r/r/r0rrdz9TestOneTrickPonyABCs.test_Generator..Gen.__iter__cSsdSr:r/r<r/r/r0rrdz9TestOneTrickPonyABCs.test_Generator..Gen.__next__cSsdSr:r/r<r/r/r0rrdz6TestOneTrickPonyABCs.test_Generator..Gen.closecSs|Sr:r/rr/r/r0rrdz5TestOneTrickPonyABCs.test_Generator..Gen.sendNcSsdSr:r/rr/r/r0rrdz6TestOneTrickPonyABCs.test_Generator..Gen.throw)NN)r-rHrIrrrrrr/r/r/r0Gens rcs&eZdZddZdfdd ZZS)z7TestOneTrickPonyABCs.test_Generator..MinimalGencSs|Sr:r/rr/r/r0rsz.MinimalGen.sendNcst|||dSr:rrrr/r0rsz=TestOneTrickPonyABCs.test_Generator..MinimalGen.throw)NN)r-rHrIrrrr/r/rr0 MinimalGensrcss dVdSrr/r/r/r/r0rsz0TestOneTrickPonyABCs.test_Generator..gencssdVSr:r/r/r/r/r0rrdz5TestOneTrickPonyABCs.test_Generator..rrrLz^huhu$Zhuhuc@seZdZddZddZdS)z8TestOneTrickPonyABCs.test_Generator..FailOnClosecSs|Sr:r/rr/r/r0rrdz=TestOneTrickPonyABCs.test_Generator..FailOnClose.sendcWstdSr:rr.rr/r/r0rrdz>TestOneTrickPonyABCs.test_Generator..FailOnClose.throwNr-rHrIrrr/r/r/r0 FailOnClosesrc@seZdZddZddZdS)z@TestOneTrickPonyABCs.test_Generator..IgnoreGeneratorExitcSs|Sr:r/rr/r/r0rrdzETestOneTrickPonyABCs.test_Generator..IgnoreGeneratorExit.sendcWsdSr:r/rr/r/r0rrdzFTestOneTrickPonyABCs.test_Generator..IgnoreGeneratorExit.throwNrr/r/r/r0IgnoreGeneratorExitsr)r*rrrrurr]r\rrrvrr7rnextr5rrrrrZassertRaisesRegex StopIteration RuntimeError) r.rrrrrrrrrmgenrrr/r/r0test_Generatorqs@      z#TestOneTrickPonyABCs.test_GeneratorcCsJGddd}Gddd}Gddd}dddd d d d gittd tg|||g}|D].}||t|tt|ttt|q`Gd dd}Gdddt}dd}|||g} | D]:}||t ||t| tt|ttt|q| tdddd} |} | | | | | | d| | |d| | d|| | |t| | tWdn1s0YGdddt} |t| | Wdn1s0YGdddt} |t| | Wdn1s<0YdS)Nc@s.eZdZddZddZddZd dd ZdS) z:TestOneTrickPonyABCs.test_AsyncGenerator..NonAGen1cSs|Sr:r/r<r/r/r0rrdzDTestOneTrickPonyABCs.test_AsyncGenerator..NonAGen1.__aiter__cSsdSr:r/r<r/r/r0rrdzDTestOneTrickPonyABCs.test_AsyncGenerator..NonAGen1.__anext__cSsdSr:r/r<r/r/r0acloserdzATestOneTrickPonyABCs.test_AsyncGenerator..NonAGen1.acloseNcSsdSr:r/rr/r/r0athrowrdzATestOneTrickPonyABCs.test_AsyncGenerator..NonAGen1.athrow)NN)r-rHrIrrr r r/r/r/r0NonAGen1sr c@s,eZdZddZddZddZddZd S) z:TestOneTrickPonyABCs.test_AsyncGenerator..NonAGen2cSs|Sr:r/r<r/r/r0rrdzDTestOneTrickPonyABCs.test_AsyncGenerator..NonAGen2.__aiter__cSsdSr:r/r<r/r/r0rrdzDTestOneTrickPonyABCs.test_AsyncGenerator..NonAGen2.__anext__cSsdSr:r/r<r/r/r0r rdzATestOneTrickPonyABCs.test_AsyncGenerator..NonAGen2.aclosecSs|Sr:r/rr/r/r0asendrdz@TestOneTrickPonyABCs.test_AsyncGenerator..NonAGen2.asendN)r-rHrIrrr rr/r/r/r0NonAGen2src@s&eZdZddZddZdddZdS) z:TestOneTrickPonyABCs.test_AsyncGenerator..NonAGen3cSsdSr:r/r<r/r/r0r rdzATestOneTrickPonyABCs.test_AsyncGenerator..NonAGen3.aclosecSs|Sr:r/rr/r/r0rrdz@TestOneTrickPonyABCs.test_AsyncGenerator..NonAGen3.asendNcSsdSr:r/rr/r/r0r rdzATestOneTrickPonyABCs.test_AsyncGenerator..NonAGen3.athrow)NN)r-rHrIr rr r/r/r/r0NonAGen3srrrrrdrr/c@s6eZdZddZddZddZddZd d d Zd S) z5TestOneTrickPonyABCs.test_AsyncGenerator..GencSs|Sr:r/r<r/r/r0rrdz?TestOneTrickPonyABCs.test_AsyncGenerator..Gen.__aiter__csdSr:r/r<r/r/r0rrdz?TestOneTrickPonyABCs.test_AsyncGenerator..Gen.__anext__csdSr:r/r<r/r/r0r rdz.Gen.aclosecs|Sr:r/rr/r/r0rrdz;TestOneTrickPonyABCs.test_AsyncGenerator..Gen.asendNcsdSr:r/rr/r/r0r rdz.Gen.athrow)NN)r-rHrIrrr rr r/r/r/r0rs rcs&eZdZddZdfdd ZZS)z=TestOneTrickPonyABCs.test_AsyncGenerator..MinimalAGencs|Sr:r/rr/r/r0rszCTestOneTrickPonyABCs.test_AsyncGenerator..MinimalAGen.asendNcst|||IdHdSr:)rr rrr/r0r szDTestOneTrickPonyABCs.test_AsyncGenerator..MinimalAGen.athrow)NN)r-rHrIrr rr/r/rr0 MinimalAGensrcSs dVdSrr/r/r/r/r0rsz5TestOneTrickPonyABCs.test_AsyncGenerator..genrr c Ss^d}z|dWqtyV}z,|jr2|jdnd}WYd}~qZWYd}~qd}~00q|Sr~)rrr)rrJexr/r/r0 run_asyncs$z;TestOneTrickPonyABCs.test_AsyncGenerator..run_asyncrLc@seZdZddZddZdS)z=TestOneTrickPonyABCs.test_AsyncGenerator..FailOnClosecs|Sr:r/rr/r/r0rrdzCTestOneTrickPonyABCs.test_AsyncGenerator..FailOnClose.asendcstdSr:rrr/r/r0r rdzDTestOneTrickPonyABCs.test_AsyncGenerator..FailOnClose.athrowNr-rHrIrr r/r/r/r0rsrc@seZdZddZddZdS)zETestOneTrickPonyABCs.test_AsyncGenerator..IgnoreGeneratorExitcs|Sr:r/rr/r/r0rrdzKTestOneTrickPonyABCs.test_AsyncGenerator..IgnoreGeneratorExit.asendcsdSr:r/rr/r/r0r rdzLTestOneTrickPonyABCs.test_AsyncGenerator..IgnoreGeneratorExit.athrowNrr/r/r/r0rsr)r*rrrrurr]r\rrrvrr7rrrr5rr rrr r)r.r rrrrrrrrrr rrr/r/r0test_AsyncGenerators@       . . z(TestOneTrickPonyABCs.test_AsyncGeneratorc CsddddtdddDg}|D].}||t|tt|ttt|q ttt t t t t t t t g }|D].}||t|tt|ttt|q|td|tddS)Nrrrcss|] }|VqdSr:r/rr/r/r0r  rdz2TestOneTrickPonyABCs.test_Sized..r/r)rrrrurr]r\rr;rr>r*rr@rrXr<rrvrrr.rrrr/r/r0 test_Sized s       zTestOneTrickPonyABCs.test_Sizedc CsddddtdddDg}|D].}||t|tt|ttt|q ttt t t t t t t g }|D].}||t|tt|ttt|q|td|tddS)Nrrrcss|] }|VqdSr:r/rr/r/r0r rdz6TestOneTrickPonyABCs.test_Container..r/r)rrrrurr]r\rr;rr>r*rr@rrXrrvrrrr/r/r0test_Containers       z#TestOneTrickPonyABCs.test_Containerc CsdddddddgittdddDg }|D].}||t|tt|ttt|q.d d ttt t t j gj g}|D].}| |t|tt|ttt|q||td |td dS) Nrrrrrdr/css|] }|VqdSr:r/rr/r/r0r 1rdz5TestOneTrickPonyABCs.test_Callable..cSsdSr:r/r/r/r/r0r6rdz4TestOneTrickPonyABCs.test_Callable..__call__)r*rrrrurr]r\rr%rYr>rCrrvrrrr/r/r0 test_Callable-s$      z"TestOneTrickPonyABCs.test_CallablecCsLtttttttfD]4}Gddd|}|t||| tt |qdS)Nc@s eZdZdS)z7TestOneTrickPonyABCs.test_direct_subclassing..CNrr/r/r/r0rCsr) rrrrrrrrvrrurr.rrr/r/r0test_direct_subclassingAsz,TestOneTrickPonyABCs.test_direct_subclassingcCsXtttttttfD]@}Gddd}|t|||j | || t||qdS)Nc@seZdZdZdS)z1TestOneTrickPonyABCs.test_registration..CN)r-rHrIrr/r/r/r0rJsr) rrrrrrrrurr-rrvrr/r/r0test_registrationHs  z&TestOneTrickPonyABCs.test_registrationN)r-rHrIrrrrrrrrrr rrrrrrr/r/r/r0rs 2A"9XGQrc@s>eZdZdddZddZddZdd Zd d Zd d ZdS)WithSetr/cCst||_dSr:)r*r4)r.itr/r/r0rRszWithSet.__init__cCs t|jSr:rYr4r<r/r/r0rUszWithSet.__len__cCs t|jSr:rr4r<r/r/r0rXszWithSet.__iter__cCs ||jvSr:r4rr/r/r0r[szWithSet.__contains__cCs|j|dSr:)r4rTrr/r/r0rT^sz WithSet.addcCs|j|dSr:)r4discardrr/r/r0r#aszWithSet.discardN)r/) r-rHrIrrrrrTr#r/r/r/r0rPs  rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/S)0TestCollectionABCscCs\ttfD]"}||t|t|tq|tdddGdddt}||dS)Nrrrc@s$eZdZddZddZddZdS)z*TestCollectionABCs.test_Set..MySetcSsdSrr/r.rr/r/r0rpsz7TestCollectionABCs.test_Set..MySet.__contains__cSsdSr~r/r<r/r/r0rrsz2TestCollectionABCs.test_Set..MySet.__len__cSstgSr:rr<r/r/r0rtsz3TestCollectionABCs.test_Set..MySet.__iter__Nr-rHrIrrrr/r/r/r0MySetosr')r*rrrrvrrr)r.sampler'r/r/r0test_Setjs  zTestCollectionABCs.test_SetcCs8Gdddt}||}}|t|t|kdS)Nc@s4eZdZddZddZddZddZd d Zd S) z8TestCollectionABCs.test_hash_Set..OneTwoThreeSetcSsgd|_dS)NrKrLrRcontentsr<r/r/r0rzszATestCollectionABCs.test_hash_Set..OneTwoThreeSet.__init__cSs ||jvSr:r+r%r/r/r0r|szETestCollectionABCs.test_hash_Set..OneTwoThreeSet.__contains__cSs t|jSr:rYr,r<r/r/r0r~sz@TestCollectionABCs.test_hash_Set..OneTwoThreeSet.__len__cSs t|jSr:rr,r<r/r/r0rszATestCollectionABCs.test_hash_Set..OneTwoThreeSet.__iter__cSs|Sr:)_hashr<r/r/r0rszATestCollectionABCs.test_hash_Set..OneTwoThreeSet.__hash__N)r-rHrIrrrrrr/r/r/r0OneTwoThreeSetys r0)rrvr)r.r0r(r)r/r/r0 test_hash_Setxs z TestCollectionABCs.test_hash_SetcCsLGdddt}|d}|d}|d}||||||dS)Nc@s,eZdZddZddZddZddZd S) z5TestCollectionABCs.test_isdisjoint_Set..MySetcSs ||_dSr:r+r.itrr/r/r0rsz>TestCollectionABCs.test_isdisjoint_Set..MySet.__init__cSs ||jvSr:r+r%r/r/r0rszBTestCollectionABCs.test_isdisjoint_Set..MySet.__contains__cSs t|jSr:r.r<r/r/r0rsz>TestCollectionABCs.test_isdisjoint_Set..MySet.__iter__cSstdd|jDS)NcSsg|]}|qSr/r/rr/r/r0r rdzQTestCollectionABCs.test_isdisjoint_Set..MySet.__len__..r-r<r/r/r0rsz=TestCollectionABCs.test_isdisjoint_Set..MySet.__len__Nr-rHrIrrrrr/r/r/r0r'sr'r*)rrU)rKrUr5)rrv isdisjointrur.r's1s2s3r/r/r0test_isdisjoint_Sets  z&TestCollectionABCs.test_isdisjoint_SetcCsGdddt}|d}|d}|d}|d}|||k|||k|||k|||k|||k||||||dS)Nc@s,eZdZddZddZddZddZd S) z3TestCollectionABCs.test_equality_Set..MySetcSs ||_dSr:r+r2r/r/r0rsz.MySet.__init__cSs ||jvSr:r+r%r/r/r0rsz@TestCollectionABCs.test_equality_Set..MySet.__contains__cSs t|jSr:r.r<r/r/r0rsz.MySet.__iter__cSstdd|jDS)NcSsg|]}|qSr/r/rr/r/r0r rdzOTestCollectionABCs.test_equality_Set..MySet.__len__..r-r<r/r/r0rsz;TestCollectionABCs.test_equality_Set..MySet.__len__Nr4r/r/r/r0r'sr'rr)rRr)rrvrur5assertNotEqual)r.r'r8r9r:Zs4r/r/r0test_equality_Sets  z$TestCollectionABCs.test_equality_SetcCs<Gdddt}|d}|d}||@}|||ddS)Nc@s,eZdZddZddZddZddZd S) z5TestCollectionABCs.test_arithmetic_Set..MySetcSs ||_dSr:r+r2r/r/r0rsz>TestCollectionABCs.test_arithmetic_Set..MySet.__init__cSs ||jvSr:r+r%r/r/r0rszBTestCollectionABCs.test_arithmetic_Set..MySet.__contains__cSs t|jSr:r.r<r/r/r0rsz>TestCollectionABCs.test_arithmetic_Set..MySet.__iter__cSstdd|jDS)NcSsg|]}|qSr/r/rr/r/r0r rdzQTestCollectionABCs.test_arithmetic_Set..MySet.__len__..r-r<r/r/r0rsz=TestCollectionABCs.test_arithmetic_Set..MySet.__len__Nr4r/r/r/r0r'sr'r*)rRrrU)rR)rr5r7r/r/r0test_arithmetic_Sets  z&TestCollectionABCs.test_arithmetic_SetcCsT|tt|ttt|tt|ttt|tddddddS)NrrrrTr#) rr*rrvrrrrurr<r/r/r0test_MutableSets z"TestCollectionABCs.test_MutableSetcCs,td}|tdM}|t|tddS)NabcdZcdefZcd)rr5r*r.r9r/r/r0test_issue_5647s z"TestCollectionABCs.test_issue_5647cCs\Gdddt}gd}||}|}|t|t|d||||||dS)Nc@sLeZdZdgZdddZddZddZd d Zd d Zd dZ ddZ dS)z1TestCollectionABCs.test_issue_4920..MySetZ__sNcSs|dur g}t||_dSr:)r* _MySet__s)r.rXr/r/r0rsz:TestCollectionABCs.test_issue_4920..MySet.__init__cSs ||jvSr:)rC)r.rjr/r/r0rsz>TestCollectionABCs.test_issue_4920..MySet.__contains__cSs t|jSr:)rrCr<r/r/r0rsz:TestCollectionABCs.test_issue_4920..MySet.__iter__cSs t|jSr:)rYrCr<r/r/r0rsz9TestCollectionABCs.test_issue_4920..MySet.__len__cSs||jv}|j||Sr:)rCrTr.rjrJr/r/r0rTs  z5TestCollectionABCs.test_issue_4920..MySet.addcSs||jv}|j||Sr:)rCr#rDr/r/r0r#s  z9TestCollectionABCs.test_issue_4920..MySet.discardcSsdtt|S)Nz MySet(%s))r\r>r<r/r/r0__repr__sz:TestCollectionABCs.test_issue_4920..MySet.__repr__)N) r-rHrIrrrrrrTr#rEr/r/r/r0r's r')rU+rLrKrK)rrZ assertEqualsrYrrZ)r.r'rXr9rEr/r/r0test_issue_4920s z"TestCollectionABCs.test_issue_4920cCs~t}ttd}t|}||8}|||t|}||N}|||t|}||M}|||||O}|||dS)Nr)rr_r5)r.emptyfullr9r/r/r0test_issue8750s    z!TestCollectionABCs.test_issue8750cCshGdddt}Gdddt}|}|}|||k|||k|||k|||kdS)Nc@s$eZdZddZddZddZdS)z;TestCollectionABCs.test_issue16373..MyComparableSetcSsdSrr/r%r/r/r0rszHTestCollectionABCs.test_issue16373..MyComparableSet.__contains__cSsdSr~r/r<r/r/r0rszCTestCollectionABCs.test_issue16373..MyComparableSet.__len__cSstgSr:rr<r/r/r0rszDTestCollectionABCs.test_issue16373..MyComparableSet.__iter__Nr&r/r/r/r0MyComparableSetsrKc@s4eZdZddZddZddZddZd d Zd S) z>TestCollectionABCs.test_issue16373..MyNonComparableSetcSsdSrr/r%r/r/r0rszKTestCollectionABCs.test_issue16373..MyNonComparableSet.__contains__cSsdSr~r/r<r/r/r0rszFTestCollectionABCs.test_issue16373..MyNonComparableSet.__len__cSstgSr:rr<r/r/r0rszGTestCollectionABCs.test_issue16373..MyNonComparableSet.__iter__cSstSr:NotImplementedr%r/r/r0r szETestCollectionABCs.test_issue16373..MyNonComparableSet.__le__cSstSr:rLr%r/r/r0r szETestCollectionABCs.test_issue16373..MyNonComparableSet.__lt__N)r-rHrIrrrrrr/r/r/r0MyNonComparableSets rN)rrurv)r.rKrNcsZncsr/r/r0test_issue16373s z"TestCollectionABCs.test_issue16373cCsGdddt}td}tj}||||g}|t||dt||dg}|D]}|D]}|||qVqN|||d|||d|| |d|| |ddS)Nc@s$eZdZddZddZddZdS)z:TestCollectionABCs.test_issue26915..CustomSequencecSs ||_dSr:_seqr.seqr/r/r0rszCTestCollectionABCs.test_issue26915..CustomSequence.__init__cSs |j|Sr:rQr.r-r/r/r0rszFTestCollectionABCs.test_issue26915..CustomSequence.__getitem__cSs t|jSr:)rYrRr<r/r/r0rszBTestCollectionABCs.test_issue26915..CustomSequence.__len__Nr-rHrIrrrr/r/r/r0CustomSequencesrWnanrrrKrL) r#rrZNEVER_EQr!r"rZr5r-count)r.rWrXr8rTZ containers containerelemr/r/r0test_issue26915s  z"TestCollectionABCs.test_issue26915cCs|t|t|dSr:)ZassertSetEqualr*)r.r8r9r/r/r0 assertSameSet/sz TestCollectionABCs.assertSameSetcCs(Gdddt}|gdd}|dh}||||d|j|ddh||d hB}||||d|j|hd ||dh@}||||d|j|dh||dd hA}||||d|j|hd ||dd gN}||||d|j|hd |d S) z=Verify _from_iterable overridden to an instance method works.c@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)zOTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterablecSs |s td||_t||_dS)Nzcreated_by must be specified)r created_byr*_values)r.r<r^r/r/r0r6szXTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__init__cSst||dS)N from_iterable)r])r.r<r/r/r0_from_iterable<sz^TestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable._from_iterablecSs ||jvSr:r_rr/r/r0r?sz\TestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__contains__css|jEdHdSr:rbr<r/r/r0rBszXTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__iter__cSs t|jSr:)rYr_r<r/r/r0rEszWTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__len__cSs|j|dSr:)r_rTrr/r/r0rTHszSTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.addcSs|j|dSr:)r_r#rr/r/r0r#KszWTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.discardN) r-rHrIrrarrrrTr#r/r/r/r0SetUsingInstanceFromIterable5srcr*r6rKr`rLrRr>rKrLrRr>rKrLrN)rrr5r^)r.rcimplactualr/r/r0test_Set_from_iterable3s,          z)TestCollectionABCs.test_Set_from_iterablecCs(Gdddt}td}td}td}|d}|d}|d}td}td} td} ||@} |||@| |||@| |||@| ||| @| ||B} |||B| |||B| |||B| ||| B| ||} ||} |||| |||| |||| |||| |||| |||| ||| | |||| ||A} |||A| |||A| |||A| ||| A| |||k|||k|||k|||k|||k|||k|||k|||k|||k|t|| kWdn1sh0Y|t||kWdn1s0Y|t|| kWdn1s0Y|||k|||k|||k|||k|||k|||k|||k|||k|||k|t|| kWdn1s0Y|t||kWdn1s0Y|t|| kWdn1s0Y|||k|||k|||k|||k|||k|||k|||k|||k|||k|t|| kWdn1s0Y|t||kWdn1s0Y|t|| kWdn1s0Y|||k|||k|||k|||k|||k|||k|||k|||k|||k|t|| kWdn1s0Y|t||kWdn1s0Y|t|| kWdn1s0Y|||k|||k|||k|||k|||k|||k||| k|||k||| k|||k|||k|||k|||k|||k|||k||| k|||k||| kdS) Nc@s6eZdZd ddZddZddZdd Zd d Zd S)zLTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSetr/cSs*g|_|D]}||jvr |j|q dSr:)r4rC)r.elementsr[r/r/r0rns zUTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__init__cSs ||jvSr:r")r.r[r/r/r0rsszYTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__contains__cSs t|jSr:r!r<r/r/r0ruszUTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__iter__cSs t|jSr:r r<r/r/r0rwszTTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__len__cSs d|jS)Nz Set({!r}))r,r4r<r/r/r0rEyszUTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__repr__N)r/)r-rHrIrrrrrEr/r/r/r0ListSetms  rhrFZbcdZabcdeZabccbaZbcddcbZ abcdeedcba)rr*r>r]rvrurr)r.rhZr1Zr2Zr3f1f2Zf3l1l2l3targetZ fwd_targetZ rev_targetr/r/r0(test_Set_interoperability_with_real_setsks  ( ( ( ( ( ( ( ( ( ( ( (z;TestCollectionABCs.test_Set_interoperability_with_real_setscCsidhdhdhdhdhhdddddhhd d d httthtd hthhtd htd hdhttjdtjdg}|D]&}t|}|jt|t ||dqdS)NrKrgrF>rKrLrRrrSe>rr)abr(FTrX>rSi,)msg) r%rrr_r)maxsizer5rrr/)r.Zsetsr9fsr/r/r0test_Set_hash_matches_frozensetsz2TestCollectionABCs.test_Set_hash_matches_frozensetcCsltfD]"}||t|t|tq|tddddGdddt}|||tt |dS)Nrrrrc@s$eZdZddZddZddZdS)z2TestCollectionABCs.test_Mapping..MyMappingcSsdSr~r/r<r/r/r0rsz:TestCollectionABCs.test_Mapping..MyMapping.__len__cSstdSr:)r)r.rr/r/r0rsz>TestCollectionABCs.test_Mapping..MyMapping.__getitem__cSstdS)Nr/rr<r/r/r0rsz;TestCollectionABCs.test_Mapping..MyMapping.__iter__N)r-rHrIrrrr/r/r/r0 MyMappingsrx) r@rrrvrrrrrr)r.r(rxr/r/r0 test_Mappings   zTestCollectionABCs.test_Mappingc CsDtfD]"}||t|t|tq|tdddddddS)Nrrrr __setitem__ __delitem__)r@rrrvrrr.r(r/r/r0test_MutableMappings   z&TestCollectionABCs.test_MutableMappingcCst}d|d<||t||t||t||tt}d|d<|dhB}||tt|d|d<| t |ddgt}d|d<|dhB}||tt|d|d<| |ddhdS)NrUredorangeZblue)rrR)r~rU) r rrrr rXr!r*r>r5sorted)r.ZmymaprTr/r/r0test_MutableMapping_subclass&s(  z/TestCollectionABCs.test_MutableMapping_subclasscCsttttfD]"}||t|t|tq |tdt|ttt|t dt|tt t|ttt| tdddddS)Nrrdrrrr) rr>rr;rr#rvrr_ memoryviewrr|r/r/r0 test_Sequence?s z TestCollectionABCs.test_Sequencec sGdddt}fdd}ttfD]}|d}ddgttdt|d }||}t|d hBD]d}||||ftdt|d D]>}|||||ftdt|d D]} |||||| fqqqdq$dS) Nc@s&eZdZd ddZddZddZdS) zATestCollectionABCs.test_Sequence_mixins..SequenceSubclassr/cSs ||_dSr:rTrSr/r/r0rMszJTestCollectionABCs.test_Sequence_mixins..SequenceSubclass.__init__cSs |j|Sr:rrUr/r/r0rPszMTestCollectionABCs.test_Sequence_mixins..SequenceSubclass.__getitem__cSs t|jSr:)rYrTr<r/r/r0rSszITestCollectionABCs.test_Sequence_mixins..SequenceSubclass.__len__N)r/rVr/r/r/r0SequenceSubclassLs rc szz|j|}WnFtyTt|j|Wdn1sF0YYn"0|j|}||d||fdS)Nz %r.index%s)r-rrr5)Zseq1Zseq2Z index_argsZexpectedrer<r/r0assert_index_sameWs  . zBTestCollectionABCs.test_Sequence_mixins..assert_index_same abracadabraiirRrT)r#r>r;r_rYr*) r.rrtyZ nativeseqZindexesZseqseqletterrNstopr/r<r0test_Sequence_mixinsKs  z'TestCollectionABCs.test_Sequence_mixinscCs~ttfD]"}||t|t|tqtttfD]"}| |t| t|tq6| t dt| tt tdS)Nrd) rrrr%rvrr;r>rrrurr|r/r/r0test_ByteStringns z"TestCollectionABCs.test_ByteStringc CstttfD]"}||t|t|tq ttt fD]"}| |t| t|tq8|ttt| tddddddddS)Nrrrrrzr{insert) rr;rrr$rurr>rr rrvrr|r/r/r0test_MutableSequencexs  z'TestCollectionABCs.test_MutableSequencecCs4Gdddt}|}|d|d|t|d||dd|||dd||t|d|d|t|d|d 7}|t|d ||d d ||t|dd }|}|||||||||t|t||t |t |dS)Nc@s<eZdZddZddZddZddZd d Zd d Zd S)zOTestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclasscSs g|_dSr:lstr<r/r/r0rszXTestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclass.__init__cSs||j|<dSr:rr.r-rr/r/r0rzsz[TestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclass.__setitem__cSs |j|Sr:rrUr/r/r0rsz[TestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclass.__getitem__cSs t|jSr:)rYrr<r/r/r0rszWTestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclass.__len__cSs |j|=dSr:rrUr/r/r0r{sz[TestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclass.__delitem__cSs|j||dSr:)rrrr/r/r0rszVTestCollectionABCs.test_MutableSequence_mixins..MutableSequenceSubclass.insertN) r-rHrIrrzrrr{rr/r/r/r0MutableSequenceSubclasss rr)rKrLrRrrUrRrKrrr5rrNZABCD) r$rCextendr5rYreverserremoveclearr>)r.rZmssrXZmss2r/r/r0test_MutableSequence_mixinss2     z.TestCollectionABCs.test_MutableSequence_mixinsN)r-rHrIr)r1r;r=r>r?rBrGrJrPr\r]rfrorwryr}rrrrrrr/r/r/r0r$ds08  #  r$c@seZdZddZddZdS)CounterSubclassWithSetItemcOs"d|_tj|g|Ri|dSrrrrrr/r/r0rsz#CounterSubclassWithSetItem.__init__cCsd|_t|||dSr)rrrz)r.rhrr/r/r0rzsz&CounterSubclassWithSetItem.__setitem__N)r-rHrIrrzr/r/r/r0rsrc@seZdZddZddZdS)CounterSubclassWithGetcOs"d|_tj|g|Ri|dSrrrr/r/r0rszCounterSubclassWithGet.__init__cCsd|_t|||Sr)rrr[)r.rhdefaultr/r/r0r[szCounterSubclassWithGet.getN)r-rHrIrr[r/r/r/r0rsrc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdS) TestCounterc Cstd}||tdddd||tdddd||t||t|ttt|ttt|t|d|t| d|t | gd|t | gd|t |gd|t | gd||d d||d d || d d || d d||d dd||d dd||tdddd|t|d||gdtdD]$}|||gdd|q|d|d|dd7<|d d8<|d =|d =|dd8<d|d<|dd7<||tdd dddd|d|d||dd|d|tdD]}|\}}|||q|||i|t|d|ttjd|tt||tddd|jdd |td!||d"|d#|||td$d%ddd&||ddd||dd||ddd||dddS)'NZabcabarRrLrKrQr5)rRrLrK))r(rRr~rOrKr)rTrrOTFrz!Counter({'a': 3, 'b': 2, 'c': 1})rUrZaaabbcr(rgrrkrmr)r(r)rgrkrmZaaaaffffz Counter()rFr')rOZPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbA aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbZcdci+rr|) rr5rr@rrvrrYsumr<r>rrXrr[r\ most_commonr_rrgrrrrrNotImplementedErrorrrrrpr setdefault)r.rOrr[Zcntr/r/r0rnsx           zTestCounter.test_basicscCs|ttdddg|ttdddg|ttdddg|ttd|ttdd|ttjdS)Nrr<r.rrararraNr/)r5r>rrXrrrr<r/r/r0 test_init s zTestCounter.test_initcs|ttdgd|ttdgd|ttdgdd}d}d d tt||Dfd d }t|t|}}||| ||| ||||||||||||B||||@t|t|}}||7}|||t|t|}}||8}|||t|t|}}||O}|||t|t|}}||M}|||t|t|}}| ||||t|t|}}| ||||dS) Nr)r(rUr~)rErLr)rgrKZ xyzpdqqdpzyx))rrL)rrL)rTrL)rrL)rgrL)rrLzabracadabra simsalabim)r(r(r(r(r(r(r(r)r)r)rErErOrg r9r9rrrrlZaaabbcdddeefggghhijjjkklZabbcccdeefffhkkllllmmnnocSsi|]\}}||qSr/r/)r rrr/r/r0 %rdz7TestCounter.test_order_preservation..csfdd|D}|t|kS)z6Return true if the letters occur in the expected ordercsg|] }|qSr/r/)r rorderr/r0r (rdzRTestCounter.test_order_preservation..correctly_ordered..)r)rTZ positionsrr/r0correctly_ordered&sz>TestCounter.test_order_preservation..correctly_ordered) r5r>rrXrgrr@rrvrpsubtract)r.Zpsqsrrrr/rr0rsL   z#TestCounter.test_order_preservationcCst}|jdd|t|dgt}|jdd|t|dgt}|jdd|t|dg|ttjd|ttjii|ttjdS)Nrr<rrrr)rrpr5r>rXrrr.rOr/r/r0 test_updateKs   zTestCounter.test_updatec stdfdd}||t|tttjdD]F}j|d&|tt |WdqP1s0YqP|t t t}| |||tdS)Nz)which witch had which witches wrist watchcs*d|f}|||dS)Nz copy: %s words: %s)r3r5)duprtr.rgr/r0check]s z'TestCounter.test_copying..checkrK)rl) rrLr2rdr_r`raZsubTestrbrcrer\rp)r.rrlZ update_testr/rr0 test_copyingYs  6 zTestCounter.test_copyingcCsXGdddt}|d}|}||||t|t||t|t|dS)Nc@s eZdZdS)z1TestCounter.test_copy_subclass..MyCounterNrr/r/r/r0 MyCounternsrZslartibartfast)rr2r5rYr])r.rrOrgr/r/r0test_copy_subclassms  zTestCounter.test_copy_subclasscCsxd}|tt|t||tt|tt||tt|tt||tt|t|dS)Nz%she sells sea shells by the sea shore)r5rrrgr*r@rXrAr/r/r0test_conversionsvs  zTestCounter.test_conversionscCs6tdddd}|D]}|||v|||qdS)NrrrrQ)rrvrZ)r.rOr[r/r/r0"test_invariant_for_the_in_operator~sz.TestCounter.test_invariant_for_the_in_operatorc Cstddddt}|t|tddd}tdD]}ttdd |D}|jd d dd ttd d |D}|jd d ddtjddftjddftjddftjddffD]\\}}|||}|D],} |||| || || || ||fq| dd | Dqq6d}tdD]}ttdd |D}ttdd |D}tjt jftjt jftjt jffD]B\}} |||} | t | t | } || t | d qxq&dS)NrrrrQrr@rrcss|]}|tddfVqdSrrNrr r[r/r/r0r rdz7TestCounter.test_multiset_operations..rKrrkrmrcss|]}|tddfVqdSrrrr/r/r0r rdrrrcSstd||Sr~rrr/r/r0rrdz6TestCounter.test_multiset_operations..cSstd||Sr~rrr/r/r0rrdcSs td||Sr~rrr/r/r0rrdcSstdt||Sr~)rminrr/r/r0rrdcss|]}|dkVqdS)rNr/rr/r/r0r rdZabcdefrScss|]}|tddfVqdSrrLNrrr/r/r0r rdcss|]}|tddfVqdSrrrr/r/r0r rd)rr5r@r_rp__add____sub____or____and__rvr<r*rgr) r.rOrgrrrZ counteropZnumberoprJrZsetopZcounter_result set_resultr/r/r0test_multiset_operationss<            z$TestCounter.test_multiset_operationscCstddd}tddd}||||t||kWdn1sL0Y|t||kWdn1s~0Y|t||kWdn1s0Y|t||kWdn1s0YdS)NrKrr'r)rr<rr)r.rrr/r/r0$test_subset_superset_not_implementeds    & & & z0TestCounter.test_subset_superset_not_implementedc Csd}tdD]}ttdd|D}|jddddttd d|D}|jdddd tjtjftjtjftjtj ftj tj ffD]H\}}| }t |}|||} |||} || | |t | |qq dS) Nr@rrcss|]}|tddfVqdSrrrr/r/r0r rdz6TestCounter.test_inplace_operations..rKrrrcss|]}|tddfVqdSrrrr/r/r0r rdr)r_rr@rp__iadd__r__isub__r__ior__r__iand__rr2idr5) r.rgrrrZ inplace_opZ regular_oprOZc_idZregular_resultZinplace_resultr/r/r0test_inplace_operationss"        z#TestCounter.test_inplace_operationsc CsPtddddddd}|jdd d dd d d d||tdddddddddtddddddd}|tdd d dd d d d||tdddddddddtd}|d||tddddddt}|jdd|t|dgt}|jdd|t|dg|ttjd|ttjii|ttjdS)NrrrUrrr(r)rOrgrkrrKrLrrMrNi)r(r)rOrgrkrmririr)r(r)rOrgrkrmrrZaaabbcdZ aaaabbccerrrr<)r.r)rar)rrr5r>rXrrrr/r/r0 test_subtracts$     zTestCounter.test_subtractc CsNtddddddd}|t| tddddd|t| tdd dS) NrrrUrrrr)rOrgrkrr)rr5r@rr/r/r0 test_unaryszTestCounter.test_unarycCs0tddd}t|}|d||d|dS)NrLr'z'a': 2z 'b': None)rr\rZ)r.rOrEr/r/r0test_repr_nonsortables  z!TestCounter.test_repr_nonsortablec Cstd}t}t||||ddddddt}t||||tgdtd}||j|t|ddddddtd}||j|t|dddddddS)NrrUrLrK)r(rEr)rOrgr)r(r)rOrgrE) r>r@rr5rrrvrr)r.ZelemsrgrrOr/r/r0test_helper_functions     z TestCounter.test_helper_functionN)r-rHrIrnrrrrrrrrrrrrrrr/r/r/r0rs<9 'rcCs8tjtd}t|tttttg}t j |t t|dS)Nr) doctestZ DocTestSuiterrrr$rrJr&rZ run_unittestZ run_doctest)r?ZNamedTupleDocsZ test_classesr/r/r0 test_main s  r__main__T)r?)N)Arrr2rrrrQr`randomrrrr)r6rrrzrrrrr r r r r collections.abcrrrrrrrrrrrrrrrrrrr r!r"r#r$r%ZTestCaser&rJrrr}rrrr$rrrrr-r/r/r/r0sj    0a  ;`Z  G