a 4êdg5Dã@sRddlZddlZddlmZddlmZmZddlmZm Z Gdd„dej ƒZ dS)éN)Ú cmp_to_key)ÚsupportÚ seq_tests)Ú ALWAYS_EQÚNEVER_EQcsüeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Z‡fd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Z‡fd/d0„Z‡fd1d2„Zd3d4„Zd5d6„Zd7d8„Z‡ZS)9Ú CommonTestcCsž| | g¡| ¡¡| gd¢¡}| ¡| || g¡¡| gd¢¡}| gd¢¡| || gd¢¡¡| |¡}| t|ƒt|ƒ¡| ||¡dS)N©ééé)ééé)Ú assertEqualÚ type2testÚ__init__ZassertNotEqualÚid©ÚselfÚaÚb©rú+/usr/local/lib/python3.9/test/list_tests.pyÚ test_inits zCommonTest.test_initcCs@g}d}| t|¡|dWdƒn1s20YdS)Nú'list indices must be integers or slicesr©ÚassertRaisesRegexÚ TypeError©rrÚmsgrrrÚtest_getitem_error"szCommonTest.test_getitem_errorcCs@g}d}| t|¡d|d<Wdƒn1s20YdS)NrÚpythonrrrrrrÚtest_setitem_error(szCommonTest.test_setitem_errorcCs´g}gd¢}| |¡}| |¡}| t|ƒt|ƒ¡| t|ƒt|ƒ¡| t|ƒt|ƒ¡| t|ƒd¡| t|ƒd¡| |¡| d¡| t|ƒd¡| t|ƒd¡dS)N©rr r z [0, 1, 2]r z[0, 1, 2, [...], 3])rrÚstrÚreprÚappend)rZl0Úl2Za0Úa2rrrÚ test_repr.s    zCommonTest.test_reprcCs>| g¡}tt ¡dƒD]}| |g¡}q| tt|¡dS)Néd)rÚrangeÚsysÚgetrecursionlimitÚ assertRaisesÚRecursionErrorr%)rrÚirrrÚtest_repr_deep?s zCommonTest.test_repr_deepc CsÚ| tdƒ¡}| |¡| tddƒ¡| |¡| d¡zŠttjdƒ}| t|ƒ¡Wdƒn1sn0Yttjdƒ$}|  |  ¡t |ƒ¡Wdƒn1s®0YWt   tj¡nt   tj¡0dS)NéÈiÚwÚr)rr+r&ÚextendÚopenrZTESTFNÚwriter$rÚreadr%ÚosÚremove)rÚdÚforrrÚ test_printEs   ,4zCommonTest.test_printcCs¢| tdƒ¡}| t|jtdddƒgd¢¡| t|jtddƒd¡| t|jtdddƒddg¡| t|jdd¡gd¢|tdddƒ<| || gd ¢¡¡dS) Néré rr r Úxr )rr r r r r rér é r?é é é éééééé) rr+r.Ú ValueErrorÚ __setitem__ÚslicerÚ __getitem__r©rrrrrÚtest_set_subscriptSszCommonTest.test_set_subscriptc Csx| tdƒ¡}t|ƒ}| t|ƒ| tdddƒ¡¡| tt|¡| tt| ¡ƒƒ| ¡¡| tt tgd¢ƒ¡dS)Nr>rKéÿÿÿÿr) rr+ÚreversedrÚlistr.Ú StopIterationÚnextrÚlen)rrr4rrrÚ test_reversed^sÿzCommonTest.test_reversedcCsÄ| ddg¡}d|d<d|d<| || ddg¡¡d|d<| || ddg¡¡d|d<| || ddg¡¡| t|jdd¡| t|jdd¡| g¡}| t|jdd¡| t|jdd¡| t|j¡| gd ¢¡}d|d<d|d<d |d<| || gd ¢¡¡d |d<d |d<d|d<| || gd¢¡¡d|d<d|d<| || gd¢¡¡d|d<d|d<| || gd¢¡¡d}| t|¡d|d<Wdƒn1s¶0YdS)Nrr r*r2rRéþÿÿÿéýÿÿÿr ©rr r r r r )r r r r r r rrA)r rrAr r éXéc)r rrAr\r]érB)r rrAr^rBrr!r)rrr.Ú IndexErrorrMrrrrrrÚ test_setitemhs@ zCommonTest.test_setitemcCsÂ| ddg¡}|d=| |dg¡|d=| |g¡| ddg¡}|d=| |dg¡|d=| |g¡| ddg¡}| t|jd¡| t|jd¡| g¡}| t|jd¡| t|j¡dS)Nrr rYrRrZr )rrr.r_Ú __delitem__rrPrrrÚ test_delitems    zCommonTest.test_delitemcCsHddg}| |¡}tddƒD]ø}|d|…|d|…<| ||¡|dd…}|d|…|d|…<| ||¡||d…||d…<| ||¡|dd…}||d…||d…<| ||¡tddƒD]P}|||…|||…<| ||¡|dd…}|||…|||…<| ||¡qÂq|dd…}ddg|dd…<| |gd¢¡g|dd…<| |g¡| gd¢¡}||dd…<| || gd ¢¡¡| gd¢¡}||dd…<| || gd ¢¡¡| gd¢¡}||dd…<| || gd ¢¡¡| g¡}ttd ƒƒ|dd…<| || td ƒ¡¡| t|jtddd ƒ¡| t|j¡dS)Nrr rZr rYrR)rYrRrr )r r r r r )r r r r r r )r r r r r r )r r r r r r r r?r )rr+rÚtupler.rrMrN)rÚlrr0r(ÚjZaa2rrrÚ test_setslice£sL                zCommonTest.test_setslicecCs®| ddg¡}|dd…=|dd…=| || g¡¡| ddg¡}|dd…=|dd…=| || g¡¡| ddg¡}|dd…=| || dg¡¡| ddg¡}|dd…=| || dg¡¡| ddg¡}|dd…=|dd…=| || g¡¡| ddg¡}|dd…=|dd…=| || g¡¡| ddg¡}|dd…=| || dg¡¡| ddg¡}|dd…=| || dg¡¡| ddg¡}|dd…=| || g¡¡dS)Nrr r rYrR)rrrPrrrÚ test_delsliceÑs>             zCommonTest.test_delslicecCsP| g¡}| d¡| d¡| d¡| || gd¢¡¡| t|j¡dS)Nrr r r#)rr&rr.rrPrrrÚ test_appendús     zCommonTest.test_appendcCsú| dg¡}| d¡}|dd…}| |¡| |||¡| | g¡¡| |||¡| |¡| || gd¢¡¡| d¡}| d¡| |tdƒ¡| t|jd¡| t|j¡Gdd„dƒ}| gd ¢¡}| |ƒ¡| |gd ¢¡dS) Nr)rr )rrr rrr ÚspamÚeggsÚspameggsc@s$eZdZdd„Zdd„Zdd„ZdS)z*CommonTest.test_extend..CustomItercSs|S©Nr©rrrrÚ__iter__sz3CommonTest.test_extend..CustomIter.__iter__cSst‚dSrl)rUrmrrrÚ__next__sz3CommonTest.test_extend..CustomIter.__next__cSstjSrl)r,ÚmaxsizermrrrÚ__length_hint__sz:CommonTest.test_extend..CustomIter.__length_hint__N)Ú__name__Ú __module__Ú __qualname__rnrorqrrrrÚ CustomItersru)r r r r )rr5rrTr.r)rZa1r(rrurrrÚ test_extends$        zCommonTest.test_extendcCsš| gd¢¡}| dd¡| dd¡| dd¡| |gd¢¡|dd…}| dd¡| d d ¡| d d ¡| || gd ¢¡¡| t|j¡dS)Nr#rrYr rRr ©rYrRrrr r Úfooi8ÿÿÿÚleftr2Úright) ryrYrRrrrxr r rz)rÚinsertrr.rrrrrÚ test_insert$s       zCommonTest.test_insertcCs–| gd¢¡}| ¡| |ddg¡| d¡| |dg¡| t|jd¡| d¡| |g¡| t|j¡| t|jdd¡| gd¢¡}dS)N)rRrr rRrr é*)rr?r>éé()rÚpoprr.r_rrPrrrÚtest_pop3s   zCommonTest.test_popcs&| gd¢¡}| d¡| |ddg¡| d¡| |dg¡| d¡| |g¡| t|jd¡| t|j¡| ddg¡}| t|jt¡| |ddg¡| t¡| |dg¡| tg¡}| d¡| |g¡| tg¡}| t¡| |g¡| tg¡}| t|jt¡Gdd„dtƒ‰G‡fdd„dƒ}| gd ¢¡}| ˆ|j|ƒ¡G‡fd d „d ƒ}| d ¡}| d ¡| || d¡¡| d ¡| || d¡¡| t|jd ¡| || d¡¡| dd|ƒd g¡}| |¡}| ˆ|jd ¡t ||ƒD]\}}|  ||¡q dS)N)rrr r rr c@s eZdZdS)z&CommonTest.test_remove..BadExcN)rrrsrtrrrrÚBadExc[sr‚cseZdZ‡fdd„ZdS)z&CommonTest.test_remove..BadCmpcs|dkrˆƒ‚dS)Nr Fr©rÚother©r‚rrÚ__eq___sz-CommonTest.test_remove..BadCmp.__eq__N©rrrsrtr†rr…rrÚBadCmp^srˆ)rr r r cseZdZ‡fdd„ZdS)z'CommonTest.test_remove..BadCmp2cs ˆƒ‚dSrlrrƒr…rrr†hsz.CommonTest.test_remove..BadCmp2.__eq__Nr‡rr…rrÚBadCmp2gsr‰Z abcdefghcijÚcZ abdefghcijZ abdefghijrr) rr:rr.rLrrrÚ ExceptionÚzipÚassertIs)rrrˆr‰r;Úer@Úyrr…rÚ test_remove@sN                zCommonTest.test_removecs–tƒ ¡| gd¢¡‰ˆ d¡| tˆjddd¡| ˆ| gd¢¡¡Gdd„dƒ‰| ¡‰‡‡fdd „td ƒDƒˆdd…<| tˆjd¡dS) Nrwrr r ©rYrRrr r c@seZdZdd„Zdd„ZdS)z&CommonTest.test_index..EvilCmpcSs ||_dSrl©Úvictim)rr“rrrr„sz/CommonTest.test_index..EvilCmp.__init__cSs|jdd…=dS)NFr’rƒrrrr††s z-CommonTest.test_index..EvilCmp.__eq__N)rrrsrtrr†rrrrÚEvilCmpƒsr”csg|] }ˆˆƒ‘qSrr)Ú.0Ú_©r”rrrÚ Šóz)CommonTest.test_index..r*) ÚsuperÚ test_indexrr:r.rLÚindexrr+rm©Ú __class__r—rr›{s   zCommonTest.test_indexcCsZ| gd¢¡}|dd…}| ¡| |gd¢¡| ¡| ||¡| t|jd¡dS)Nr‘©r r rrRrYr})rÚreverserr.r©rÚuÚu2rrrÚ test_reverseŽs  zCommonTest.test_reversecCsˆ| gd¢¡}| ¡| |g¡| g¡}| ¡| |g¡| g¡}| d¡| ¡| d¡| |dg¡| t|jd¡dS)N)r r r r r )rÚclearrr&r.r©rr¢rrrÚ test_clear˜s      zCommonTest.test_clearcCsØ| gd¢¡}| ¡}| |gd¢¡| g¡}| ¡}| |g¡| ddg¡}| ¡}| d¡| |ddg¡| ||dg¡| ddddgd g¡}| ¡}| ||¡| |d|d¡| t|jd¡dS) Nrrrr0r r r r r )rÚcopyrr&rr.r)rr¢ÚvrrrÚ test_copy©s     zCommonTest.test_copycs| ddg¡}| ¡| |ddg¡| gd¢¡}| ¡| || gd¢¡¡| t|jdd¡dd„}|jt|ƒd| || gd¢¡¡d d „}| td ƒ¡‰ˆjt|ƒd| tˆjd ¡‡fd d„}|jtˆjt|ƒd| tˆjdddd¡dS)Nr rrŸr‘r}cSs ||kr dS||krdSdSdS)Nrr rRr)rrrrrÚrevcmpÌs z$CommonTest.test_sort..revcmp)ÚkeycSs2|d|d}}||krdS||kr*dSdSdS)Nr rArrRr r)r@rZxmodZymodrrrÚ myComparison×s z*CommonTest.test_sort..myComparisonrDr cs*ˆ d¡||krdS||kr"dSdSdS)Nr rrR)r&)r@r©ÚzrrÚselfmodifyingComparisonäs  z5CommonTest.test_sort..selfmodifyingComparison)rÚsortrr.rrr+rL)rr¢r«r­r°rr®rÚ test_sortÁs&  ÿzCommonTest.test_sortcCs*| d¡}d|dd…<| |tdƒ¡dS)NriÚhr Zham)rrrTr¦rrrÚ test_sliceñs  zCommonTest.test_slicecsltƒ ¡| ddg¡}|}|ddg7}| ||¡| d¡}|d7}| || d¡¡| t|jd¡dS)Nrr r r rirjrk)ršÚ test_iaddrrrr.rÚ__iadd__r¡rrrrµös    zCommonTest.test_iaddcs8tƒ ¡| g¡}t|ƒ}|d9}| t|ƒ|¡dS)Nr?)ršÚ test_imulrrr)rÚsZoldidrrrr·s   zCommonTest.test_imulcCs@| gd¢¡}|ddd…=| || ddg¡¡| tdƒ¡}|ddd…=| || gd¢¡¡| tdƒ¡}|ddd…=| || gd¢¡¡| td ƒ¡}|ddd …=| || gd ¢¡¡| td ƒ¡}d gd|ddd…<| || gd ¢¡¡| td ƒ¡}d gd|ddd…<| || gd¢¡¡| tdƒ¡}||ddd …<| || gd¢¡¡| td ƒ¡}|dd…}|dd…}| ddg¡|dd…<| ddg¡|tddƒ<| ddg¡|dd…<| ||¡| ||¡| td ƒ¡}ttdƒƒ|ddd…<| || gd¢¡¡| td ƒ¡}|dddd>…=dS)Nr[r r r r )rr r rY)rr r r r?iè) r r r r r rrAr^rBrR) rRr rRr rRr rRrArRrBéüÿÿÿ) rr?r r r r?rrAr^r?r )r r r rZtwoÚelements) rr r r r r r rAr rBrBiM)rrr+rNrc)rrrrŠrrrÚtest_extendedslicing sD        zCommonTest.test_extendedslicingcCs$Gdd„dtƒ}| tt|ƒ¡dS)Nc@seZdZdd„ZdS)z9CommonTest.test_constructor_exception_handling..FcSst‚dSrl)ÚKeyboardInterruptrmrrrrn6szBCommonTest.test_constructor_exception_handling..F.__iter__N)rrrsrtrnrrrrÚF5sr½)Úobjectr.r¼rT)rr½rrrÚ#test_constructor_exception_handling3sz.CommonTest.test_constructor_exception_handlingcCsv| gd¢¡}t|ƒ}t|ƒ}|D] }t|ƒq"| d¡| t|ƒg¡| t|ƒdg¡| || gd¢¡¡dS)NrrB)r r r rB)rÚiterrVr&rrT)rrZexhitZempitr@rrrÚtest_exhausted_iterator:s  z"CommonTest.test_exhausted_iterator) rrrsrtrr r"r)r1r=rQrXr`rbrfrgrhrvr|rrr›r¤r§rªr²r´rµr·r»r¿rÁÚ __classcell__rrrrr s8  %.) ! ;  0 )r) r,r9Ú functoolsrÚtestrrZ test.supportrrrrrrrÚs