a zelh@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/I/opt/bitninja-python-dojo/embedded/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&Zd'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 |||qsplitunpack isidentifierrrarg_listZ debuggingresultrallnamedindexmapmethodZplainZuseZ IronPythonZ environmentsZhasrrYbeZrepresentationclass_namespace module_name namespaceZ automaticallyZAtZsidevariableZbutZ instantiateZModifyrZFieldkeywordsr@rexecmessageZCreateZeffectZGotseenvaluesr(Z dictionarystepusedZJythonZdefinedrinstancehelpnewtoZExpectedrepr_fmtZanrZthanZ particularthisZNoteZ underscoreZBypassZ functionsr[ZForZgotr Z introspectionZReturndoc tuple_new field_namesrmuser startswithrZ VariablesrZ argumentsZ duplicateZfieldr.ZbuildrZValidaterZ interning classmethodrTfunctionstringsrr;ZAliasZnicelyrZworkfieldsZcreationrmetadatawhereZneedsZHelperr num_fieldsZbytypenamer^Zadded formattedZ indexableZ accessibleZUsedverboseZlikerZtheirZ docstringsrgZgreaterrsZeitherZReturnsZalsoZmustZofrgetterrZnumberr] f_globalsZMaker`ZcannotZvalidZ identifiersmethodsZ positionalreplacerWr\ZBuildrZuprZ replacingZ specifiedr*ZregularTyper2keywordstartcreatedrr>iterableobjectZ docstringtargetsframeZsequenceroperatorbuiltinsZexampleconvertZgenerate namedtuple_roptionrr!whichaddsysZ unexpectedZpicklingsubclassZ EncounteredZreuse_itemgetterrcss|]}|dVqdS)rNr/)r rjr/r/r0r vz5TestNamedTuple.test_name_conflicts..) rr5rrr_rYr@r^rrr\r__getnewargs__)r.rtZnewtwordsr5Z 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-rHrIrrrunittestZskipIfrbflagsoptimizerrrZ cpython_onlyrrrrrrrrrrhrjrlrorvryr/r/r/r0r0s>2     && @  rc@s$eZdZddZddZddZdS) ABCTestCasecGs\t|dd}td|f|}||D].}|}||=td|f|}|t||q(dS)NcWsdSNrr/rNrr/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]rXsetattrrrv 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)rr[rXhasattrrvrr])r.r8opsZ 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 coroutinerintrXrrrurr]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/r0r/sz5TestOneTrickPonyABCs.test_Coroutine..new_coroc@seZdZddZdS)z0TestOneTrickPonyABCs.test_Coroutine..Barcss dVdSr:r/r<r/r/r0r3sz:TestOneTrickPonyABCs.test_Coroutine..Bar.__await__Nrr/r/r/r0r2srcs.eZdZddZdfdd ZddZZS) z8TestOneTrickPonyABCs.test_Coroutine..MinimalCorocSs|Sr:r/rr/r/r0r7sz=TestOneTrickPonyABCs.test_Coroutine..MinimalCoro.sendNcst|||dSr:rrrr/r0r9sz>TestOneTrickPonyABCs.test_Coroutine..MinimalCoro.throwcss dVdSr:r/r<r/r/r0r;szBTestOneTrickPonyABCs.test_Coroutine..MinimalCoro.__await__)NNrr/r/rr0r6src@s.eZdZddZd ddZddZdd ZdS) 5TestOneTrickPonyABCs.test_Coroutine..CoroLikecSsdSr:r/rr/r/r0rSs:TestOneTrickPonyABCs.test_Coroutine..CoroLike.sendNcSsdSr:r/rr/r/r0rUsz;TestOneTrickPonyABCs.test_Coroutine..CoroLike.throwcSsdSr:r/r<r/r/r0rWs;TestOneTrickPonyABCs.test_Coroutine..CoroLike.closecSsdSr:r/r<r/r/r0rYs?TestOneTrickPonyABCs.test_Coroutine..CoroLike.__await__)NN)r-rHrIrrrrr/r/r/r0rRs rc@s$eZdZddZddZddZdS)rcSsdSr:r/rr/r/r0r_srcSsdSr:r/r<r/r/r0rasrcSsdSr:r/r<r/r/r0rcsrN)r-rHrIrrrr/r/r/r0r^s)rrrrrXrrurr]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/rr0Hzsrrr) bytearrayr>r*r@rrrurr]r\rfloatcomplexr;r frozensetrXbytesrrvrrr5rrr)r.rrrrr/r/r0 test_Hashablehs&        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) rvrrrrXrrur]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) rvrrrrXrrur]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@keysrXr5rrrvr5rrr)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>rrrXr5rr@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/r0rsz>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/r0r/rdzDTestOneTrickPonyABCs.test_Collection..ColNoIter.__contains__N)r-rHrIrrr/r/r/r0 ColNoIter-src@seZdZddZddZdS)z7TestOneTrickPonyABCs.test_Collection..ColNoSizecSstgSr:rr<r/r/r0r1rdz@TestOneTrickPonyABCs.test_Collection..ColNoSize.__iter__cSsdSrr/rr/r/r0r2rdzDTestOneTrickPonyABCs.test_Collection..ColNoSize.__contains__N)r-rHrIrrr/r/r/r0 ColNoSize0src@seZdZddZddZdS)z7TestOneTrickPonyABCs.test_Collection..ColNoContcSstgSr:rr<r/r/r0r4rdz@TestOneTrickPonyABCs.test_Collection..ColNoCont.__iter__cSsdSr~r/r<r/r/r0r5rdz?TestOneTrickPonyABCs.test_Collection..ColNoCont.__len__N)r-rHrIrrr/r/r/r0 ColNoCont3src@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/r0rBrdz?TestOneTrickPonyABCs.test_Collection..IterBlock.__len__cSsdSrr/r<r/r/r0rCrdzDTestOneTrickPonyABCs.test_Collection..IterBlock.__contains__N)r-rHrIrrrr/r/r/r0 IterBlockAsrc@s$eZdZddZddZddZdS)z5TestOneTrickPonyABCs.test_Collection..ColImplcSs ttSr:rr<r/r/r0rKsz>TestOneTrickPonyABCs.test_Collection..ColImpl.__iter__cSsdSr~r/r<r/r/r0rMsz=TestOneTrickPonyABCs.test_Collection..ColImpl.__len__cSsdSrr/rr/r/r0rOszBTestOneTrickPonyABCs.test_Collection..ColImpl.__contains__Nrr/r/r/r0ColImplJsrc@seZdZdZdS)z4TestOneTrickPonyABCs.test_Collection..NonColN)r-rHrIrr/r/r/r0NonColQsr)rrrurr]r\rrrr*rr@rr;rr>rrXr5rrvr#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 brdz5TestOneTrickPonyABCs.test_Iterator..__next__rc@seZdZddZdS)z4TestOneTrickPonyABCs.test_Iterator..NextOnlycss dVdSNrKr/r<r/r/r0rksz=TestOneTrickPonyABCs.test_Iterator..NextOnly.__next__N)r-rHrIrr/r/r/r0NextOnlyjsr)r*rrrurr]r\rrr;rr>r@rrrXr5rrrvr)r.rrrrr/r/r0 test_IteratorWs$      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/r0rrrdz=TestOneTrickPonyABCs.test_Generator..NonGen1.__iter__cSsdSr:r/r<r/r/r0rsrdz=TestOneTrickPonyABCs.test_Generator..NonGen1.__next__cSsdSr:r/r<r/r/r0rtrdz:TestOneTrickPonyABCs.test_Generator..NonGen1.closeNcSsdSr:r/rr/r/r0rurdz:TestOneTrickPonyABCs.test_Generator..NonGen1.throw)NN)r-rHrIrrrrr/r/r/r0NonGen1qsrc@s,eZdZddZddZddZddZd S) z4TestOneTrickPonyABCs.test_Generator..NonGen2cSs|Sr:r/r<r/r/r0rxrdz=TestOneTrickPonyABCs.test_Generator..NonGen2.__iter__cSsdSr:r/r<r/r/r0ryrdz=TestOneTrickPonyABCs.test_Generator..NonGen2.__next__cSsdSr:r/r<r/r/r0rzrdz:TestOneTrickPonyABCs.test_Generator..NonGen2.closecSs|Sr:r/rr/r/r0r{rdz9TestOneTrickPonyABCs.test_Generator..NonGen2.sendN)r-rHrIrrrrr/r/r/r0NonGen2wsrc@s&eZdZddZddZdddZdS) z4TestOneTrickPonyABCs.test_Generator..NonGen3cSsdSr:r/r<r/r/r0r~rdz: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_Generatorps@      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)rr&exr/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@rrXr5rrvrrr.rrrr/r/r0 test_Sizeds       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 0rdz5TestOneTrickPonyABCs.test_Callable..cSsdSr:r/r/r/r/r0r5rdz4TestOneTrickPonyABCs.test_Callable..__call__)r*rrrrurr]r\rrXrYr>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/r0rBsr) rrrrrrrrvrrurr.rrr/r/r0test_direct_subclassing@sz,TestOneTrickPonyABCs.test_direct_subclassingcCsXtttttttfD]@}Gddd}|t|||j | || t||qdS)Nc@seZdZdZdS)z1TestOneTrickPonyABCs.test_registration..CN)r-rHrIrr/r/r/r0rIsr) rrrrrrrrurr-rrvrr/r/r0test_registrationGs  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/r0rQszWithSet.__init__cCs t|jSr:rYr4r<r/r/r0rTszWithSet.__len__cCs t|jSr:rr4r<r/r/r0rWszWithSet.__iter__cCs ||jvSr:r4rr/r/r0rZszWithSet.__contains__cCs|j|dSr:)r4rarr/r/r0ra]sz WithSet.addcCs|j|dSr:)r4discardrr/r/r0r#`szWithSet.discardN)r/) r-rHrIrrrrrar#r/r/r/r0rOs  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/r0rosz7TestCollectionABCs.test_Set..MySet.__contains__cSsdSr~r/r<r/r/r0rqsz2TestCollectionABCs.test_Set..MySet.__len__cSstgSr:rr<r/r/r0rssz3TestCollectionABCs.test_Set..MySet.__iter__Nr-rHrIrrrr/r/r/r0MySetnsr')r*rrrrvrrr)r.sampler'r/r/r0test_Setis  zTestCollectionABCs.test_SetcCs8Gdddt}||}}|t|t|kdS)Nc@s4eZdZddZddZddZddZd d Zd S) z8TestCollectionABCs.test_hash_Set..OneTwoThreeSetcSsgd|_dS)NrKrLrRcontentsr<r/r/r0ryszATestCollectionABCs.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/r0OneTwoThreeSetxs r0)rrvr)r.r0r(r)r/r/r0 test_hash_Setws 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)Nrrrrar#) rr*rrvrrrrurr<r/r/r0test_MutableSets z"TestCollectionABCs.test_MutableSetcCs,td}|tdM}|t|tddS)NabcdZcdefZcd)rr5r*r.rNr/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:)rCrar.rjr&r/r/r0ras  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-rHrIrrrrrrar#rEr/r/r/r0r's r')rU+rLrKrK)rrZ assertEqualsrYrrZ)r.r'rXrNrFr/r/r0test_issue_4920s z"TestCollectionABCs.test_issue_4920cCs~t}ttd}t|}||8}|||t|}||N}|||t|}||M}|||||O}|||dS)Nr)rr_r5)r.emptyfullrNr/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/r0rszETestCollectionABCs.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.r5r^r/r/r0r5szXTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__init__cSst||dS)N from_iterable)r])r.r5r/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/r0rAszXTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__iter__cSs t|jSr:)rYr_r<r/r/r0rDszWTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.__len__cSs|j|dSr:)r_rarr/r/r0raGszSTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.addcSs|j|dSr:)r_r#rr/r/r0r#JszWTestCollectionABCs.test_Set_from_iterable..SetUsingInstanceFromIterable.discardN) r-rHrIrrarrrrar#r/r/r/r0SetUsingInstanceFromIterable4srcr*r6rKr`rLrRr>rKrLrRr>rKrLrN)rrr5r^)r.rcimplactualr/r/r0test_Set_from_iterable2s,          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/r0rms zUTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__init__cSs ||jvSr:r")r.r[r/r/r0rrszYTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__contains__cSs t|jSr:r!r<r/r/r0rtszUTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__iter__cSs t|jSr:r r<r/r/r0rvszTTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__len__cSs d|jS)Nz Set({!r}))r,r4r<r/r/r0rExszUTestCollectionABCs.test_Set_interoperability_with_real_sets..ListSet.__repr__N)r/)r-rHrIrrrrrEr/r/r/r0ListSetls  rhrFZbcdZabcdeZabccbaZbcddcbZ abcdeedcba)rr*r>r]rvrurr)r.rhZr1Zr2Zr3f1f2Zf3l1l2l3targetZ fwd_targetZ rev_targetr/r/r0(test_Set_interoperability_with_real_setsjs  ( ( ( ( ( ( ( ( ( ( ( (z;TestCollectionABCs.test_Set_interoperability_with_real_setscCsidhdhdhdhdhhdddddhhd d d httthtd hthhtd htd hdhttjdtjdg}|D]&}t|}|jt|t ||dqdS)NrKrgrF>rKrLrRrrSe>r)r(abrFTrX>rSi,)msg) rXrrr_rbmaxsizer5rrr/)r.ZsetsrNfsr/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/r0rLszJTestCollectionABCs.test_Sequence_mixins..SequenceSubclass.__init__cSs |j|Sr:rrUr/r/r0rOszMTestCollectionABCs.test_Sequence_mixins..SequenceSubclass.__getitem__cSs t|jSr:)rYrTr<r/r/r0rRszITestCollectionABCs.test_Sequence_mixins..SequenceSubclass.__len__N)r/rVr/r/r/r0SequenceSubclassKs rc szz|j|}WnFtyTt|j|Wdn1sF0YYn"0|j|}||d||fdS)Nz %r.index%s)r)rrr5)Zseq1Zseq2Z index_argsZexpectedrer<r/r0assert_index_sameVs  . zBTestCollectionABCs.test_Sequence_mixins..assert_index_same abracadabraiirRrT)r#r>r;r_rYr*) r.rrtyZ nativeseqZindexesZseqseqletterrUstopr/r<r0test_Sequence_mixinsJs  z'TestCollectionABCs.test_Sequence_mixinscCs~ttfD]"}||t|t|tqtttfD]"}| |t| t|tq6| t dt| tt tdS)Nrd) rrrr%rvrr;r>rrrurr|r/r/r0test_ByteStringms 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_MutableSequencews  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$cs08  #  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@rrvrrYsumr5r>rrXrr[r\ most_commonr_rrgrrrrrNotImplementedErrorrrrrpr setdefault)r.rOrr[Zcntr/r/r0rnsx           zTestCounter.test_basicscCs|ttdddg|ttdddg|ttdddg|ttd|ttdd|ttjdS)Nrr<r.rrWrWrrWNr/)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~)rFrLr)rgrKZ xyzpdqqdpzyx))rrL)rrL)rTrL)rrL)rgrL)rrLzabracadabra simsalabim)r(r(r(r(r(r(r(r)r)r)rFrFrOrg rNrNrrrrlZaaabbcdddeefggghhijjjkklZabbcccdeefffhkkllllmmnnocSsi|]\}}||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_updateJs   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) rr"r2rdr_r`raZsubTestrbrcrer\rp)r.rrlZ update_testr/rr0 test_copyingXs  6 zTestCounter.test_copyingcCsXGdddt}|d}|}||||t|t||t|t|dS)Nc@s eZdZdS)z1TestCounter.test_copy_subclass..MyCounterNrr/r/r/r0 MyCountermsrZslartibartfast)rr2r5rYr])r.rrOrgr/r/r0test_copy_subclassls  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_conversionsus  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__rvr5r*rgr) r.rOrgrrrZ counteropZnumberopr&rZsetopZcounter_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)rWr)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.rOrFr/r/r0test_repr_nonsortables  z!TestCounter.test_repr_nonsortablec Cstd}t}t||||ddddddt}t||||tgdtd}||j|t|ddddddtd}||j|t|dddddddS)NrrUrLrK)r(rFr)rOrgr)r(r)rOrgrF) 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)rMZNamedTupleDocsZ test_classesr/r/r0 test_main s  r__main__T)rM)N)Arrr2rrrr[r`randomrrrrbr6rrrzrrrrr r r r r collections.abcrrrrrrrrrrrrrrrrrrr r!r"r#r$r%ZTestCaser&rJrrr}rrrr$rrrrr-r/r/r/r0sj    0a ;`Z  G