a 5êdg8ã@s"ddlZddlZddlmZmZmZmZmZmZddl Tddl m Z ddl m Z ddlmZmZddlmZmZddlmZdd lmZmZmZdd lmZmZz ddlZWneyÂdZYn0dd lm Z dd l!m"Z"dd l#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ddl+m,Z,zddl-m.Z.Wney@dZ.Yn0ddl/m0Z1ddl2m3Z3ddl4m5Z5m6Z6ddl7m8Z8m9Z9m:Z:ddl;mm?Z?m@Z@ddlAmBZBddlCmDZDm0Z0ddlEmFZFmGZGmHZHddlIZIddlImJZJeJdƒZKeJdƒZLeJdƒZMGd d!„d!ejNƒZOePd"kre Q¡dS)#éN)Ú defaultdictÚdequeÚ OrderedDictÚCounterÚUserDictÚUserList)Ú*)ÚFuture)Ú _WorkItem)ÚAbstractContextManagerÚAbstractAsyncContextManager)Ú ContextVarÚToken)ÚField)ÚpartialÚ partialmethodÚcached_property)ÚMailboxÚ _PartialFile)ÚSequenceMatcher)Údircmp)Ú FileInput)Úchain)ÚMorsel)Ú ValueProxy)Ú ApplyResult)Ú ShareableList)Ú SimpleQueue)ÚDirEntry)ÚPatternÚMatch)Ú GenericAliasÚMappingProxyTypeÚAsyncGeneratorType)ÚTemporaryDirectoryÚSpooledTemporaryFile)Ú SplitResultÚ ParseResult)Ú_AssertRaisesContext)ÚQueuer)ÚWeakSetÚ ReferenceTypeÚref)ÚTypeVarÚTÚKÚVcF@s~eZdZeeeeeee e e e e eeeeeeeeeeeeeeeeeee e!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;ee?e@eAeBeCeDeEeFeGeHgFZIeJdur²eI KeJjLeJjMf¡dd„ZNdd„ZOdd„ZPdd „ZQd d „ZRd d „ZSdd„ZTdd„ZUdd„ZVdd„ZWdd„ZXdd„ZYdd„ZZdd„Z[dd„Z\d d!„Z]d"d#„Z^d$d%„Z_d&d'„Z`d(d)„Zad*d+„Zbd,d-„Zcd.d/„Zdd0d1„Zed2d3„ZfdS)4ÚBaseTestNc Cs„|jD]x}|durq|j}| d|›¡D|t}| |j|¡| |jtf¡| |jd¡Wdƒq1st0YqdS)NúTesting ©) Ú generic_typesÚ__name__ÚsubTestÚintÚassertIsÚ __origin__Ú assertEqualÚ__args__Ú__parameters__©ÚselfÚtÚtnameÚaliasr3r3ú2/usr/local/lib/python3.9/test/test_genericalias.pyÚtest_subscriptableWs zBaseTest.test_subscriptablec Cs€tttttfD]l}|j}| d|›¡B| t¡|tWdƒn1sR0YWdƒq1sp0YqdS©Nr2) r7ÚstrÚfloatÚSizedÚHashabler5r6Ú assertRaisesÚ TypeError)r>r?r@r3r3rBÚtest_unsubscriptablebs  zBaseTest.test_unsubscriptablec CsþtttttttfD]æ}|j}| d|›¡¼|t }|  |ƒ|ƒ¡|turŒ|  |t ddgƒƒtddd¡|  |dddtddd¡nN|turÂdd„}||ƒ}t|ƒ}|  |d |d ¡n|  |t d ƒƒ|d ƒ¡Wdƒq1sî0YqdS) Nr2)Úaé)ÚbérMrO)rLrNcSsdS)NÚvaluer3r3r3r3rBÚdefaultssz*BaseTest.test_instantiate..defaultÚtest)rMrOé) ÚtupleÚlistÚdictÚsetÚ frozensetrrr5r6r7r:Úiter)r>r?r@rArQrLÚdr3r3rBÚtest_instantiateis zBaseTest.test_instantiatecCsVtt}|ƒ}| |d¡| |dg¡| |d¡}| |d¡| | |¡d¡dS)NZfoorrM)rUr7Úappendr:Ú __getitem__Ú__len__)r>r?rLÚxr3r3rBÚtest_unbound_methods{s   zBaseTest.test_unbound_methodscCs6Gdd„dttƒ}| |jtf¡| |jt¡dS)Nc@s eZdZdS)z$BaseTest.test_subclassing..CN©r5Ú __module__Ú __qualname__r3r3r3rBÚC…srd)rUr7r:Ú __bases__Ú __class__Útype)r>rdr3r3rBÚtest_subclassing„szBaseTest.test_subclassingcCsHttdf}| t tdƒ¡dddœ¡| | tdƒ¡dddœ¡dS)NrO)rrM)rVr7r:ÚfromkeysÚrange©r>r?r3r3rBÚtest_class_methodsŠs zBaseTest.test_class_methodscCs>tt}| t¡|tWdƒn1s00YdS©N)rUr7rIrJrkr3r3rBÚtest_no_chainings zBaseTest.test_no_chainingcCsHGdd„dtƒ}|t}| |j|¡| |jtf¡| |jd¡dS)Nc@s eZdZdS)z.BaseTest.test_generic_subclass..MyListNrar3r3r3rBÚMyList•sror3)rUr7r8r9r:r;r<)r>ror?r3r3rBÚtest_generic_subclass”s zBaseTest.test_generic_subclasscCs‚Gdd„dtƒ}| tttƒd¡| ttdƒd¡| tttdfƒd¡| t|tƒ d¡¡| tttƒƒd ¡dS) Nc@s eZdZdS)z"BaseTest.test_repr..MyListNrar3r3r3rBrosroz list[str]r3zlist[()].ztuple[int, ...]z(.BaseTest.test_repr..MyList[int]z[])rUr:ÚreprrErTr7Ú assertTrueÚendswith)r>ror3r3rBÚ test_reprœs zBaseTest.test_reprcCsTddl}| tt¡}| t|ƒd¡| |jt¡| |jtf¡| |j d¡dS)Nrz list[int]r3) Útypesr!rUr7r:rEr8r9r;r<)r>rurLr3r3rBÚtest_exposed_type¥s  zBaseTest.test_exposed_typecCs`ddlm}m}m}tttf}| |jttf¡| |j d¡ttt f}| |jtt f¡| |j t f¡tt tf}| |jt tf¡| |j t f¡tt t f}| |jt t f¡| |j t t f¡tt t f}| |jt t f¡| |j t f¡t t} | | jtf¡| | j d¡t t } | | jt f¡| | j t f¡t t t } | | jt t f¡| | j t f¡t |t } | | j|t f¡| | j t f¡t |t t f} | | j|t t ff¡| | j t t f¡t |t tf}| |j|t tff¡| |j t f¡t |t t gt f}| |j|t t gt ff¡| |j t t f¡dS)Nr)ÚListÚDictÚCallabler3)ÚtypingrwrxryrVrEr7r:r;r<r0r/r.rU)r>rwrxryZD0ZD1aZD1bZD2aZD2bZL0ZL1ZL2ZL3ZL4aZL4bZL5r3r3rBÚtest_parameters­sJ       zBaseTest.test_parameterscCsÄddlm}m}m}m}| ttttt¡| t t tftt t tf¡| t ttft t t tf¡| t t t ft tft t tf¡| t ttftt ttf¡| ttttttt¡| tt ttft tt t tf¡| tt t tfttt t tf¡| tt t t ft tftt t tf¡| t tttft t t ttf¡| t|ttt|t¡| t|t t ft tft|t tf¡| t|t t ft tft|t tf¡| t|t t gt ft tft|t tgt f¡| t t|tft t t |tf¡|  t¡Xtttt ttft tft t tft tft ttft tfWdƒn1s¶0YdS)Nr)rwrxÚUnionry)rzrwrxr|ryr:rUr.r7rVrEr/r0rIrJ)r>rwrxr|ryr3r3rBÚtest_parameter_chainingÔs.  $  ((,( ,,ÿ(  z BaseTest.test_parameter_chainingcCsp| tttt¡| tttftttf¡| tttftttf¡| ttt¡| ttt¡dSrm)r:rUr7rVrEZassertNotEqual©r>r3r3rBÚ test_equalityïs zBaseTest.test_equalitycCsL| tgtƒ¡| t¡tgttƒWdƒn1s>0YdSrm)rrÚ isinstancerUrIrJrEr~r3r3rBÚtest_isinstanceös zBaseTest.test_isinstancecCs\Gdd„dtƒ}| t|tƒ¡| t¡t|ttƒWdƒn1sN0YdS)Nc@s eZdZdS)z#BaseTest.test_issubclass..LNrar3r3r3rBÚLüór‚)rUrrÚ issubclassrIrJrE)r>r‚r3r3rBÚtest_issubclassûs zBaseTest.test_issubclasscCsNtt}|ddiƒ}| t|tƒ¡|ƒ}| ||ƒ|¡| |dƒt¡dS)NÚTestr3r)rgr7rrr€r:)r>r?r†rRr3r3rBÚtest_type_generics  zBaseTest.test_type_genericcCsFGdd„dtƒ}| t¡|tWdƒn1s80YdS)Nc@s eZdZdS)z3BaseTest.test_type_subclass_generic..MyTypeNrar3r3r3rBÚMyType srˆ)rgrIrJr7)r>rˆr3r3rBÚtest_type_subclass_generic s z#BaseTest.test_type_subclass_genericcCsRtttƒ}t |¡}t |¡}| |j|j¡| |j|j¡| |j |j ¡dSrm) r!rUr.ÚpickleÚdumpsÚloadsr:r9r;r<)r>rAÚsÚloadedr3r3rBÚ test_pickles    zBaseTest.test_picklecCsBtjttttf}| |jttttf¡| |jd¡dS)Nr3)rzr|rUr7rEr:r;r<©r>rLr3r3rBÚ test_unionszBaseTest.test_unioncCsLtjttttdff}| |jttttdff¡| |jtf¡dS)N.)rzr|rUr.rTr:r;r<rr3r3rBÚtest_union_genericszBaseTest.test_union_genericcCs>ttttƒƒ}| | ttƒ¡¡dD]}| ||¡q(dS)N)r9r;r<)rWÚdirrUr7rrÚ issupersetZassertIn)r>Zdir_of_gen_aliasZgeneric_alias_propertyr3r3rBÚtest_dir!szBaseTest.test_dirc Csj|jD]^}|durq|j}| d|›¡*|t}| t|ƒƒ|¡Wdƒq1sZ0YqdSrD)r4r5r6r7r:r,r=r3r3rBÚ test_weakref's zBaseTest.test_weakrefcCs8| t¡ttdWdƒn1s*0YdS)N©Zbad)rIrJr!rFr~r3r3rBÚtest_no_kwargs0s zBaseTest.test_no_kwargscCsvGdd„dtƒ}|ttƒ}Gdd„dtƒ}| |tt¡| t¡|tttdWdƒn1sh0YdS)Nc@s eZdZdS)z>BaseTest.test_subclassing_types_genericalias..SubClassNrar3r3r3rBÚSubClass6rƒr™cseZdZ‡fdd„Z‡ZS)z9BaseTest.test_subclassing_types_genericalias..Badcstƒj|g|¢Ri|¤ŽdSrm)ÚsuperÚ__new__)ÚclsÚargsÚkwargs©rfr3rBr›9szABaseTest.test_subclassing_types_genericalias..Bad.__new__)r5rbrcr›Ú __classcell__r3r3rŸrBÚBad8sr¡r—)r!rUr7r:rIrJ)r>r™rAr¡r3r3rBÚ#test_subclassing_types_genericalias5s   z,BaseTest.test_subclassing_types_genericaliasc CsJtttgtf}| d¡@| |jt¡| |jtttf¡| |j d¡Wdƒn1s`0Y| d¡|  |t ¡Wdƒn1s–0Y| d¡"| t |ƒƒ|¡Wdƒn1sÒ0Y| d¡Tt  |¡}t  |¡}| |j|j¡| |j|j¡| |j |j ¡Wdƒn1sB0Y| d¡ôtttgtf}tttgtf}tdtf}| |ttttgtf¡| |tttftttgtf¡| |ttdtf¡|tttf}| t|ƒ d¡d d ¡| t|tƒ d¡d d ¡| |ttttgtf¡Wdƒn1sR0Y| d ¡XGd d„dtƒ}|tgtf}| |ƒj|¡| |ƒj|tgtf¡Wdƒn1sÆ0Y| d¡Ztjttgtf} tttgtf} | | j| j¡| t| jƒt| jƒ¡Wdƒn1s<0YdS)NzTesting subscriptionr3zTesting instance checkszTesting weakrefzTesting picklingzTesting TypeVar substitution.Ú.éÿÿÿÿzCallable[[int, ~V], str]zCallable[[int, dict], str]zTesting type erasurec@seZdZdd„ZdS)z&BaseTest.test_abc_callable..C1cSsdSrmr3r~r3r3rBÚ__call__fsz/BaseTest.test_abc_callable..C1.__call__N)r5rbrcr¥r3r3r3rBÚC1esr¦zCTesting collections.abc.Callable's consistency with typing.Callable)ryr7rErFr6r8r9r:r;r<ZassertIsInstancer!r,rŠr‹rŒr.r/r0rqÚsplitrVrfÚ__orig_class__rzÚhash) r>rArrŽr¦ZC2ZC3ZC4rLÚc1Úc2r3r3rBÚtest_abc_callable@sH , * 0   0  "< : zBaseTest.test_abc_callable)gr5rbrcrgrTrUrVrWrXÚ enumeraterrrrrrrrrrr rrrr r Ú AwaitableÚ CoroutineÚ AsyncIterableÚ AsyncIteratorÚAsyncGeneratorÚ GeneratorÚIterableÚIteratorÚ ReversibleÚ ContainerÚ Collectionrrr rrÚSetÚ MutableSetÚMappingÚMutableMappingÚ MappingViewÚKeysViewÚ ItemsViewÚ ValuesViewÚSequenceÚMutableSequencer"r#rrr$r%r)rr(r&r'rrr*r+r,rÚ MPSimpleQueuer r rr4ÚctypesÚextendÚArrayZ LibraryLoaderrCrKr[r`rhrlrnrprtrvr{r}rrr…r‡r‰rr‘r’r•r–r˜r¢r¬r3r3r3rBr10s|ß"   '  r1Ú__main__)RZunittestrŠÚ collectionsrrrrrrÚcollections.abcÚconcurrent.futuresr Zconcurrent.futures.threadr Ú contextlibr r Z contextvarsr rZ dataclassesrÚ functoolsrrrZmailboxrrrÄÚ ImportErrorZdifflibrÚfilecmprZ fileinputrÚ itertoolsrZ http.cookiesrZmultiprocessing.managersrZmultiprocessing.poolrZmultiprocessing.shared_memoryrÚmultiprocessing.queuesrrÃÚosrÚrerr rur!r"r#Útempfiler$r%Ú urllib.parser&r'Z unittest.caser(Úqueuer)Úweakrefr*r+r,rzr-r.r/r0ZTestCaser1r5Úmainr3r3r3rBÚsX                   G