a 4źdgyĪć@søddlZddlmZddlmZddlZddlZddlZddlZddl Z ddl Z ddl m Z e   d”j ZGdd„de j ƒZGdd „d e j ƒZd ZGd d „d ejƒZd ZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'd Z(d!Z)d"Z*Gd#d$„d$ejƒZ+Gd%d&„d&ƒZ,Gd'd(„d(e,ƒZ-Gd)d*„d*e-ejƒZ.Gd+d,„d,e,ƒZ/Gd-d.„d.e/ƒZ0Gd/d0„d0ƒZ1Gd1d2„d2e0ƒZ2Gd3d4„d4e0ƒZ3Gd5d6„d6e2ejƒZ4Gd7d8„d8e3ejƒZ5Gd9d:„d:e2ejƒZ6Gd;d<„d„d>e2ejƒZ8Gd?d@„d@e3ejƒZ9GdAdB„dBe2ejƒZ:GdCdD„dDe3ejƒZ;GdEdF„dFe2ejƒZGdKdL„dLe>ejƒZ?GdMdN„dNe>ejƒZ@GdOdP„dPejƒZAeBdQkr“e C”dS)RéN)Śsupport)Ś_2G)Ś_array_reconstructorŚuc@s eZdZdS)Ś ArraySubclassN)Ś__name__Ś __module__Ś __qualname__©r r ś+/usr/local/lib/python3.9/test/test_array.pyrsrc@seZdZddd„ZdS)ŚArraySubclassWithKwargsNcCstj |”dS©N)ŚarrayŚ__init__)ŚselfŚtypecodeŚnewargr r r rsz ArraySubclassWithKwargs.__init__)N)rrr rr r r r r sr Z ubBhHiIlLfdqQc@seZdZdd„Zdd„ZdS)ŚMiscTestcCsD| ttj”|jttjdd| ttjd”| ttjd”dS)Né*)ZspamŚxxŚx)Ś assertRaisesŚ TypeErrorrŚ ValueError©rr r r Śtest_bad_constructorszMiscTest.test_bad_constructorcCsjt d”}||dd…<| t|ƒd”| t||ƒd”| t|dƒd”||7}| t|ƒd”dS)NŚBré)rŚ assertEqualŚlen©rŚar r r Ś test_empty%s  zMiscTest.test_emptyN)rrr rr"r r r r rsré’’’’ééréééééé é é é é ééééééééc@s$eZdZdd„Zdd„Zdd„ZdS)ŚArrayReconstructorTestcCs°| ttdddd”| tttddd”| tttjddd”| tttjddd”| tttjddd”| tttjdtd”| tttjddd”| tttjddd ”dS) NŚŚbróś?éŚdr2óa)rrŚarray_reconstructorŚstrrrŚUNKNOWN_FORMATrr r r Ś test_errorNs0’’ ’ ’ ’ ’ ’ ’z!ArrayReconstructorTest.test_errorc Cs8gd¢tdgd¢fgd¢tdgd¢fgd¢tdgd ¢fgd¢td gd ¢fgd ¢td gd ¢fgd ¢tdgd ¢fddgtdgd¢fddgtdgd¢fddgtdgd¢fddgt dgd¢fdgt dgd¢fdgt dgd¢fdgt dgd¢fdgt dgd¢fdgt dgd¢fdgt dgd¢fdgt dgd¢fdgt dgd¢fdgtd d!td"ƒtd#ƒd$gfdgtd%d!td"ƒtd#ƒd$gfd&gtd'd(td"ƒtd#ƒd$gfd&gtd)d(td"ƒtd#ƒd$gff}|D]†}|\}}}}tj|g|¢RŽ}|D]\}zt ||”} WntyYqŅYn0ttj|||ƒ} |j| | d* | | |”d+qҐq¬dS),N)rŚHŚIŚLz=BBBB)é€éré’)r:ŚhŚiŚlz=bbb)i€’’’rHr)rDrErFzHHHH)rJrKrLzhhhrErFzIIIIrKrLziiizQQQQzqqq)lģ’’’’rl’’’’)lū’’’rOrŚfzffffr>zddddś{0!r} != {1!r}; testcase={2!r}©Śmsg)Ś UNSIGNED_INT8Ś SIGNED_INT8ŚUNSIGNED_INT16_LEŚUNSIGNED_INT16_BEŚSIGNED_INT16_LEŚSIGNED_INT16_BEŚUNSIGNED_INT32_LEŚUNSIGNED_INT32_BEŚSIGNED_INT32_LEŚSIGNED_INT32_BEŚUNSIGNED_INT64_LEŚUNSIGNED_INT64_BEŚSIGNED_INT64_LEŚSIGNED_INT64_BEŚIEEE_754_FLOAT_LEŚfloatŚIEEE_754_FLOAT_BEŚIEEE_754_DOUBLE_LEŚIEEE_754_DOUBLE_BEŚstructŚpackrŚ OverflowErrorr@rŚformat) rŚ testcasesŚtestcaseZvalid_typecodesŚ mformat_codeZ struct_fmtŚvaluesZarraystrrr!r:r r r Ś test_numbers`s¢ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’’’’’’’’’’’’’Ņ1   ’ ’z#ArrayReconstructorTest.test_numbersc Csrd}tdftdftdftdff}|D]H}|\}}t d|”}ttjd|| |”ƒ}|j||d |||”dq$dS) NuBonne JournĆ©e š ŒŠš ‡z UTF-16-LEz UTF-16-BEz UTF-32-LEz UTF-32-BErrRrS) ŚUTF16_LEŚUTF16_BEŚUTF32_LEŚUTF32_BErr@Śencoderrk)rZteststrrlrmrnŚencodingr!r:r r r Ś test_unicodeŸsü ’ ’z#ArrayReconstructorTest.test_unicodeN)rrr rCrprwr r r r r8Ls?r8c@sŠ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"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=d>„Z!d?d@„Z"dAdB„Z#dCdD„Z$dEdF„Z%dGdH„Z&dIdJ„Z'dKdL„Z(dMdN„Z)dOdP„Z*dQdR„Z+dSdT„Z,dUdV„Z-dWdX„Z.e/ 0e1e2dYƒdZ”d[d\„ƒZ3d]d^„Z4d_d`„Z5e6j7dadb„ƒZ8e6j7dcdd„ƒZ9dedf„Z:e6j7dgdh„ƒZ;didj„ZŚitr!rKr r r Śtest_iterator_pickles8     zBaseTest.test_iterator_picklecCsšt |j|j”}| t|ƒt|jƒ”t|ƒ}t|ƒ}|D] }t|ƒq:| |j”| t|ƒg”| t|ƒ|jg”| t|ƒt|jƒ|jg”dSr ) rrrƒrr¢r£r„r‚Śoutside)rr!ZexhitZempitrr r r Śtest_exhausted_iteratorAs  z BaseTest.test_exhausted_iteratorc Csrt |j|j”}| d|jd”| t|ƒdt|jƒ”| |d|d”| t|j”| t|jd”| t|jdd”t |j|j”}| d|jd”| |t |j|jdd…|jdd…|jdd…””t |j|j”}| d|jd”| |t |j|jdd…|j””t |j|j”}| d|jd”| |t |j|j|jdd…””dS)Nrr$r#éü’’éč)rrrƒŚinsertrrrrr r r r Ś test_insertMs8(žžžžzBaseTest.test_insertc Cst |jd|j”}| t|j”t tj”t tjdƒ}z¼| |”|  ”t |j”}t tjdƒ}| t|j ”|  |t |jƒ”|  |t |j|j””| ||”| t|j |t |jƒd”|  ||”|  ”W|jsź|  ”t tj”n|js|  ”t tj”0dS)Nr%ŚwbŚrbr$)rrrƒrrŚtofilerŚunlinkŚTESTFNŚopenŚcloseŚfromfilerrr‹ŚEOFErrorŚclosed©rr!rPr:r r r Śtest_tofromfilens,        žzBaseTest.test_tofromfilec Csdt |j”}ttjdƒ}z0| t|j|t|j ƒ”W|  ”t  tj”n|  ”t  tj”0dS)Nr±) rrr¶rrµrŚOSErrorrørrƒr·r“)rr!rPr r r Śtest_fromfile_ioerror„s  ’zBaseTest.test_fromfile_ioerrorc Csęt |jd|j”}ttjdƒ}z¤| |”| ”t |j”}ttjdƒ}| |t |jƒ”|  |t |j|j””|  ||”| |t |jƒ”|  ||”| ”W|j sø| ”t  tj”n|j sŌ| ”t  tj”0dS)Nr%r±r²)rrrƒr¶rrµŚwriter·rørrr‹rŗr“r»r r r Śtest_filewrites&       žzBaseTest.test_filewritecCs~t |jd|j”}t |j”}| t|jd”| t|j”| t|jd”| t|jdg”| | ””| ||”dS)Nr%r)rrrƒrrŚtolistr¤r©rr!r:r r r Śtest_tofromlist¢s zBaseTest.test_tofromlistcCsØt |jd|j”}t |j”}| t|jd”| t|j”| t|jd”| | ””t |jt| ”ƒ”}| ||”| ||”|j dkr¤| t |jd”dS)Nr%rr$óx) rrrƒrrŚtobytesŚ frombytesŚ bytearrayrr~r)rr!r:Ścr r r Śtest_tofrombytes¬s    zBaseTest.test_tofrombytescCs.t |j|j”}t |j|”}| ||”dSr ©rrrƒrrĀr r r Śtest_fromarray¹szBaseTest.test_fromarraycCsVt |jd|j”}| |tt|ƒdtjiƒ”t |j”}| t|ƒd|j”dS)Nr%rz array('%s'))rrrƒrŚevalŚreprr r r r Ś test_repr¾s zBaseTest.test_reprcCs t |jd|j”}t|ƒdS©Nr%)rrrƒrAr r r r Śtest_strÅszBaseTest.test_strcCsģt |j|j”}| |dkd”| |dkd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”t |j|j”}t |j|j”}| |d|kd”| |d|kd”| |d|kd”| |d|kd”| |d|kd”| |d|kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”dS)NrFTr%)rrrƒr•ŚsmallerexampleŚ biggerexample)rr!ZalŚabr r r Śtest_cmpÉs:zBaseTest.test_cmpc Cs„t |j|j”t |j|jddd…”}| |t |j|j|jddd…””t | ””}| t|j|”| t|jd”dS)Nr#Śbad)rrrƒrr}rrŚ__add__rĀr r r Śtest_addķs’žzBaseTest.test_addc CsÖt |j|jddd…”}|}|t |jd|j”7}| ||”| |t |j|jddd…d|j””t |j|j”}||7}| |t |j|j|j””t | ””}| t|j|”| t|j d”dS)Nr#r%rÕ) rrrƒr•rr}rrrÖŚ__iadd__rĀr r r Ś test_iaddśs" "žžzBaseTest.test_iaddcCsdt |j|j”}| |t |jd|j””t |j|j”d}| |t |j|jd””dt |j|j”}| |t |j””dt |j|j”}| |t |j””dt |j|jdd…”}| |t |j|dgd””| t|jd”dS)Nr'rr#r$rÕ)rrrƒrrrŚ__mul__r r r r Śtest_muls4žž ž žžzBaseTest.test_mulcCsüt |j|j”}|}|d9}| ||”| |t |jd|j””|d9}| ||”| |t |j””|d9}| ||”| |t |j””|d9}| ||”| |t |j””t |j|j”}|d9}| |t |j””| t|jd”dS)Nr'rr®r#rÕ)rrrƒr•rrrŚ__imul__rĀr r r Ś test_imul0s* ž   zBaseTest.test_imulcCsźt |j|j”}| |d|jd”| |d|jd”| |d|jd”| |d|jd”| |t|jƒd|jd”| |t|jƒ |jd”| t|j”| t|jt|jƒ”| t|jt|jƒ d”dS)Nrr#r$) rrrƒrzrrrŚ __getitem__Ś IndexErrorr r r r Ś test_getitemMs zBaseTest.test_getitemcCsØt |j|j”}|d|d<| |d|d”t |j|j”}|d|d<| |d|d”t |j|j”}|d|d<| |d|d”t |j|j”}|d|d<| |d|d”t |j|j”}|d|t|jƒd<| |d|d”t |j|j”}|d|t|jƒ <| |d|d”| t|j”| t|jd”| t|jdd”| t|jt|jƒ|jd”| t|jt|jƒ d|jd”dS)Nr#rr$) rrrƒrzrrrŚ __setitem__rßr r r r Ś test_setitemYs>    żżzBaseTest.test_setitemc Cs>t |j|j”}|d=| |t |j|jdd…””t |j|j”}|d=| |t |j|jdd…””t |j|j”}|t|jƒd=| |t |j|jdd…””t |j|j”}|t|jƒ =| |t |j|jdd…””| t|j”| t|jd”| t|jt|jƒ”| t|jt|jƒ d”dS)Nrr$r#) rrrƒrrrrŚ __delitem__rßr r r r Ś test_delitem€s8žžžžzBaseTest.test_delitemc Cst |j|j”}| |dd…|”| |dd…t |j|jdd…””| |dd…t |j|jdd…””| |dd…t |j|jdd…””| |dd…t |j|jdd…””| |dd…t |j””| |dd…t |j””| |dd…t |j””| |dd…|”| |dd…|”| |dd…t |j””| |dd…|”| |dd…t |j””dS)Nr$r#r%r®r­éŠrŹr r r r Ś test_getslice¢sR ž ž ž ž  ž  ž  ž  ž  žzBaseTest.test_getslicec Cs~t |j|j”}ddddddtjdddd f }|D]H}|D]>}|dd…D],}| t||||…ƒt|ƒ|||…”qHq8q0dS© Nrr$rr5édr#éž’’’iį’’’霒’’)rrrƒŚsysŚmaxsizerr¢)rr!ŚindicesŚstartŚstopŚstepr r r Śtest_extended_getsliceŌs’zBaseTest.test_extended_getslicec Cs:t |j|j”}||dd…<| |t |j|j|jdd…””t |j|j”}||dd…<| |t |j|j|jdd…””t |j|j”}||dd…<| |t |j|jdd…|j””t |j|j”}||dd…<| |t |j|jdd…|j””t |j|j”}||dd…<| |t |j|jdd…|j|jdd…””t |j|j”}||dd…<| |t |jd|j””t |j|j”}||dd…<| |t |j|j””t |j|j”}||dd…<| |t |j|j””t |j|j”}||dd…<| |t |jd|j””t |j|j”}||dd…<| |t |j|jdd…|j|jdd…””t |j|j”}||dd…<| |t |jd|j””t |j|j”}| t|jtddƒd”| t|jtddƒd”t | ””}| t|jtddƒ|”| t|jtddƒ|”dS)Nr$r#r®r%r­rrå) rrrƒrrrrįŚslicer}rĀr r r Ś test_setsliceąs– ž ž ž ž  žž ž ž ž ž *ž žzBaseTest.test_setslicec CsŽddddddtjdddd f }|D]ø}|D]®}|dd…D]œ}t |j|j”}t|ƒ}||||…}| ”|||||…<t |j|”||||…<| |t |j|””||||…=||||…=| |t |j|””q8q(q dSrē)rėrģrrrƒr¢Śreverser)rrķrīrļršr!rFr§r r r Śtest_extended_set_del_slice9s  z$BaseTest.test_extended_set_del_slicecCsnd|j}t |j|”}| t|j”|D]}| | |”| |””q*| t|jd”| t|j|j”dSrĻ) rƒrrrrr|rrr«©rrƒr!rr r r Ś test_indexMs zBaseTest.test_indexcCsrd|j}t |j|”}| t|j”|D]}| | |”| |””q*| | |j”d”| | d”d”dS)Nr%r)rƒrrrrŚcountrr«rör r r Ś test_countVs zBaseTest.test_countcCs |jD]b}d|j}t |j|”}| |”}|d|…||dd…}| |”| |t |j|””qt |j|j”}| t|j|j”| t|jd”dS)Nr%r$) rƒrrr|Śremoverrrr«)rrrƒr!ŚposZexample2r r r Ś test_remove_s    zBaseTest.test_removec Csht |j”}| t|j”t |jd|j”}| t|jdd”| t|jd”| t|jt|ƒ”| t|jt|ƒ d”| | d”|jd”|  |t |j|jdd…|j””| | d”|jd”|  |t |j|jdd…|jdd…|j””| | d”|jd”| | ”|jd”|  |t |j|jdd…|jdd…””dS)Nr%rr$rrr#) rrrrߌpoprƒrrrzrr r r r Śtest_popms. ž*ž$žzBaseTest.test_popc CsNt |j|j”}| t|jd”| ”| |t |j|jddd…””dS)Nrr#)rrrƒrrrōrr r r r Ś test_reverseˆsžzBaseTest.test_reversec Cst |j|j”}| t|j”| t |j|jddd…””| |t |j|j|jddd…””t |j|j”}| |”| |t |j|j|j””t | ””}| t|j|”t |j|j”}| |jddd…”| |t |j|j|jddd…””dS©Nr#)rrrƒrrŚextendrr}rĀr r r Ś test_extend‘s* ž žžzBaseTest.test_extendcCsŠt |jt|jƒ”}t |j|j”}| ||”| ttj|jd”Gdd„dƒ}| ttj|j|ƒ”dd„}| ttj|j|ƒ”dS)Nr,c@seZdZdd„ZdS)z;BaseTest.test_constructor_with_iterable_argument..AcSst‚dSr ©Ś UnicodeErrorrr r r Ś__iter__µszDBaseTest.test_constructor_with_iterable_argument..A.__iter__N)rrr rr r r r ŚA“srcsst‚dVdSr rr r r r rŗsz;BaseTest.test_constructor_with_iterable_argument..B)rrr£rƒrrrr)rr!r:rrr r r Ś'test_constructor_with_iterable_argument«s z0BaseTest.test_constructor_with_iterable_argumentcCsVz ddl}Wnty(| d”Yn0t |j”}t|ƒg}| |”| ”dS)Nrzgc module not available)ŚgcŚ ImportErrorŚskipTestrrr£r‚Zcollect)rrr!rLr r r Śtest_coveritertraverseæs     zBaseTest.test_coveritertraversecCs t |j|j”}t|ƒ}| ”}| | ”|”| | ”d|d”| t|j|d”| | ”|”| t|j |dd…”| | ”|”| t|j |d”| | ”|”| t|j d”| | ”|”| t|j |  ””| | ”|”| t|j| ””| | ”|”|jdkrP| t|j| ””| | ”|”| ttj|d”| | ”|”| ttj|d”| | ”|”| ttj|tddƒ|”| | ”|”| ttj|d”| | ”|”| ttj|tddƒ”| | ”|”dS)Nrr$rr%)rrrƒŚ memoryviewrÅrrŚ BufferErrorr‚rrśrżr¤rĮrĘŚ fromunicodeŚ tounicodeŚoperatorŚimulŚsetitemrņŚdelitem)rr!ŚmZexpectedr r r Ś test_bufferÉs< zBaseTest.test_buffercCsDt |j|j”}t |”}| | ”| ””d}| tt |”dSr ) rrrƒŚweakrefŚproxyrrÅrŚReferenceErrorr)rŚsŚpr r r Ś test_weakrefģs  zBaseTest.test_weakrefŚ getrefcountztest needs sys.getrefcount()cCs\tdƒD]}t dtdƒ”}qt d”}tdƒD]}t dtdƒ”}q0| |t d””dS)Nr,ré@)r”rrėrr)rrKr:Śrcr r r Śtest_bug_782369ós    zBaseTest.test_bug_782369cCstddddS)Nr:r$)r)r rr r r Śtest_subclass_with_kwargsższ"BaseTest.test_subclass_with_kwargscCs&t dd”}| t|ƒ|jd”dS)NrDs1234r&)rrrr~r r r r Śtest_create_from_bytess zBaseTest.test_create_from_bytescCsBt |j|j”}t d”}| ”d|j}t ||||”dS)NŚPn2Pir$)rrrƒrŚ calcvobjsizer…r~Ś check_sizeof)rr!ŚbasesizeZ buffer_sizer r r Śtest_sizeof_with_buffers z BaseTest.test_sizeof_with_buffercCs(t |j”}t d”}t |||”dS)Nr")rrrr#r$)rr!r%r r r Śtest_sizeof_without_buffers  z#BaseTest.test_sizeof_without_buffercCsŠ|jdkrØ| t”}t |jd”}Wdƒn1s80Y| dt|jƒ”| t”&}t |jt dd””}Wdƒn1sŠ0Y| dt|jƒ”n$t |jd”}t |jt dd””}dS)NrŚfoozcannot use a strzcannot use a unicode array)rrrrZassertInrAŚ exception)rŚcmr!r r r Śtest_initialize_with_unicodes  , 4z%BaseTest.test_initialize_with_unicodecCs*ddlm}t dd”}| t||”dS)Nr)Śgetbuffer_with_null_viewrr;)Z _testcapir,rrr )rr,r!r r r Śtest_obsolete_write_lock s  z!BaseTest.test_obsolete_write_lockcCs0t |ttj|jf”t |ttj|jf”dSr )rZcheck_free_after_iteratingr£rrŚreversedrr r r Śtest_free_after_iterating&s  ’ ’z"BaseTest.test_free_after_iteratingN)=rrr rzr}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ąrāräręrńrórõr÷rłrüržr’rrr rrŚunittestZ skipUnlessŚhasattrrėrr r!rZ cpython_onlyr&r'r+r-r/r r r r rx°st  % !   $ ! '"2 Y    # ’     rxcseZdZ‡fdd„Z‡ZS)Ś StringTestcs:tƒ ”t |j|j”}| t|jd|jdd…”dS)Nrr%)Śsuperrārrrƒrrrįr ©Ś __class__r r rā.s zStringTest.test_setitem)rrr rāŚ __classcell__r r r4r r2,sr2c@s8eZdZdZdZdZdZedƒZdZ dd„Z d d „Z d S) Ś UnicodeTestru☺u☺﻾u☺Ś3r%cCsš| ttjdd”t dd”}| d”| d”| d”| d”| ”}| |d”| |jt”d }t d|”}| t|ƒd ”| t|j”dS) Nr:r(ruĀ Ć‚įˆ“ś r9u abcÿሓuĀ Ć‚įˆ“ abcÿሓu="'a\b€ÿሓu+array('u', '\x00="\'a\\b\x80Ćæ\x00\x01ሓ')) rrrrrrr~Ś sizeof_wcharrĶ)rr!rr r r rw;s        žzUnicodeTest.test_unicodecCsDtdkrd}n | d”t d|”}| t|j”| tt|”dS)Nr&s’’’’zspecific to 32-bit wchar_tr)r:r rrrrrA)rZ invalid_strr!r r r Śtest_issue17223Os   zUnicodeTest.test_issue17223N) rrr rrƒrŃrŅrAr«rrwr;r r r r r73sr7c@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)Ś NumberTestcCsvt |jtdƒ”}| |dd…|”| |ddd…t |jgd¢””| |ddd…t |jddg””| |ddd…t |jgd¢””| |ddd…t |jgd ¢””| |ddd…t |jddg””| |d d …|”| |d d d…|ddd…”| |d d d…t |jgd¢””| |d d d…t |jg””| |ddd…t |jg””dS)Nr'r%©rr%r&r$rr#)r&rr%r$rré)r&r%rrźrčr®rår­i0ų’’©rrr”rr r r r Ś test_extslice]s$$$$$ $ zNumberTest.test_extslicecCst |jtdƒ”}|ddd…=| |t |jddg””t |jtdƒ”}|ddd…=| |t |jgd¢””t |jtdƒ”}|ddd…=| |t |jgd¢””t |jtdƒ”}|ddd …=| |t |jgd ¢””t |jtdƒ”}|d ddd >…=dS) Nr'r%r$rr=ré)rr%rr&r,r®) r$r%rr&r'r(r)r*r+r+iMr>r r r r Ś test_delsliceks    zNumberTest.test_delslicecCs4t |jtdƒ”}t |jdgd”|ddd…<| |t |jgd¢””t |jtdƒ”}t |jdgd”|ddd…<| |t |jgd¢””t |jtd ƒ”}||ddd …<| |t |jgd ¢””t |jtdƒ”}|dd…}|dd…}t |jtdƒ”}||dd…<||tddƒ<||dd…<dS) Nr,rr'r%) rr$rrrr'rr)rr+réü’’’) rr,r%rr&r,r(r)r*r,r&r#)rr%r$r)rrr”rrņ)rr!r:rČZinsr r r Śtest_assignment|s    zNumberTest.test_assignmentcCsft |jtdƒ”}| t|ƒttdƒƒ”t |jdg”}| |d|vd”| |d|vd”dS)Nr,r6r#Tr)rrr”rr¢rĀr r r Śtest_iterationcontainsŽs z!NumberTest.test_iterationcontainscCs”t |j|g”}||d<| ttj|j|dg”| t|jd|d”t |j|g”}||d<| ttj|j|dg”| t|jd|d”dSr)rrrrjrį)rŚlowerŚupperr!r r r Ścheck_overflow•szNumberTest.check_overflowcCsP|j}Gdd„dtjƒ}||jgd¢dƒ}| |dd”| tt|dd”dS) Nc@s*eZdZdgZdd„Zdd„Zdd„ZdS) z6NumberTest.test_subclassing..ExaggeratingArrayŚoffsetcSstj |||”Sr )rŚ__new__)Śclsrr§rGr r r rHŖsz>NumberTest.test_subclassing..ExaggeratingArray.__new__cSs ||_dSr )rG)rrr§rGr r r r­sz?NumberTest.test_subclassing..ExaggeratingArray.__init__cSstj ||”|jSr )rrŽrG)rrKr r r rްszBNumberTest.test_subclassing..ExaggeratingArray.__getitem__N)rrr Ś __slots__rHrrŽr r r r ŚExaggeratingArray§srK)rr(r)r-r&rr)ZcolorZblue)rrrzrŚAttributeErrorŚsetattr)rrrKr!r r r Śtest_subclassing„s  zNumberTest.test_subclassingcCs.t dtdƒ”}t |j|”}| ||”dS)Nr:r,)rr”rrrĀr r r Śtest_frombytearrayøszNumberTest.test_frombytearrayN) rrr r?r@rBrCrFrNrOr r r r r<[sr<c@seZdZdd„ZdS)ŚIntegerNumberTestcCs€t |j”}| d”| t”| d”Wdƒn1s@0Y| t”d|d<Wdƒn1sr0YdS)NrgE@r)rrr‚rrr r r r Śtest_type_error¾s    ( z!IntegerNumberTest.test_type_errorN)rrr rQr r r r rP½srPc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) ŚIntablecCs ||_dSr ©Z_num)rŚnumr r r rĒszIntable.__init__cCs|jSr rSrr r r Ś __index__ÉszIntable.__index__cCs|jSr rSrr r r Ś__int__ĖszIntable.__int__cCstt|ƒt|ƒƒSr ©rRr‡©rŚotherr r r Ś__sub__ĶszIntable.__sub__cCstt|ƒt|ƒƒSr rWrXr r r rÖĻszIntable.__add__N)rrr rrUrVrZrÖr r r r rRĘs rRc@s0eZdZgd¢Zgd¢Zgd¢ZdZdd„ZdS)ŚSignedNumberTest)r#rr$rrH)r#rr$ré~)r#rr$é+rHécCsht |j”}dttd|jddƒƒ}ttd|jddƒƒd}| ||”| t|ƒt|ƒ”dS)Nr#r%r*r$©rrr‡Śpowr~rFrR©rr!rDrEr r r Ś test_overflowŲs   zSignedNumberTest.test_overflowN)rrr rƒrŃrŅr«rbr r r r r[Ņs r[c@s8eZdZgd¢Zgd¢Zgd¢ZdZdd„Zdd„Zd S) ŚUnsignedNumberTest)rr$r3r^rrI)rr$r3r^réž)rr$r3r^r]rIéŖcCsLt |j”}d}ttd|jdƒƒd}| ||”| t|ƒt|ƒ”dS)Nrr%r*r$r_rar r r rbås   z UnsignedNumberTest.test_overflowc Cst|jƒ}t |j|j”}| |”| |t |j|j|j””t |j|j”}| tt|ƒƒ”| |t |j|j|jddd…””dSr)ŚbytesrƒrrrrrĒr.)rrr!r r r Śtest_bytes_extendģs  žžz$UnsignedNumberTest.test_bytes_extendN) rrr rƒrŃrŅr«rbrgr r r r rcßs rcc@seZdZdZdZdS)ŚByteTestr:r$N©rrr rrr r r r rhžsrhc@seZdZdZdZdS)ŚUnsignedByteTestrr$Nrir r r r rjsrjc@seZdZdZdZdS)Ś ShortTestrJr%Nrir r r r rksrkc@seZdZdZdZdS)ŚUnsignedShortTestrDr%Nrir r r r rl srlc@seZdZdZdZdS)ŚIntTestrKr%Nrir r r r rmsrmc@seZdZdZdZdS)ŚUnsignedIntTestrEr%Nrir r r r rnsrnc@seZdZdZdZdS)ŚLongTestrLr&Nrir r r r rosroc@seZdZdZdZdS)ŚUnsignedLongTestrFr&Nrir r r r rpsrpc@seZdZdZdZdS)Ś LongLongTestŚqr*Nrir r r r rqsrqc@seZdZdZdZdS)ŚUnsignedLongLongTestŚQr*Nrir r r r rs"srsc@s@eZdZgd¢Zgd¢Zgd¢ZdZdd„Zdd„Zd d „Z d S) ŚFPTest)ēEĄrrējų@g _ Ā)rvrrrwg _ Ā)rvrrrwg _ Br^cCs| ||”dSr )ZassertAlmostEqualryr r r rz,szFPTest.assertEntryEqualcCsŒt |jtdƒg”}t |jtdƒg”}| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”| ||kd”dS)NŚnanTF)rrrdr•rĀr r r Śtest_nan/szFPTest.test_nancCs†t |j|j”}| t|jd”|jdvr‚t |j|j”}| ”|jdkrZ| ||”n| |  ”|  ””| ”| ||”dS)Nrr‰r$) rrrƒrrrŠr~rr‹rÅrĀr r r rŒ9s  zFPTest.test_byteswapN) rrr rƒrŃrŅr«rzryrŒr r r r ru&s ruc@seZdZdZdZdS)Ś FloatTestrPr&Nrir r r r rzIsrzc@seZdZdZdZdd„ZdS)Ś DoubleTestr>r*cCs–ddlm}t ddgd”}z||dd9}WntyDYn 0| d”t dgd¢”}z||d dWnty†Yn 0| d”dS) Nr)rģr>r#ir$z6Array of size > maxsize created - MemoryError expected)gĖII‹ æ@gńŌČSū! @r#r)rėrģrŚ MemoryErrorZfail)rrģr!r:r r r Śtest_alloc_overflowQs    zDoubleTest.test_alloc_overflowN)rrr rrr}r r r r r{Msr{c@sLeZdZdZdd„Zejedddd„ƒZejedddd „ƒZ ejed dd d „ƒZ ejeddd d„ƒZ ejedddd„ƒZ ejedddd„ƒZ ejedddd„ƒZejedddd„ƒZejedddd„ƒZejedddd„ƒZejedddd„ƒZejedddd„ƒZejedddd „ƒZejed!dd"d#„ƒZd$S)%ŚLargeArrayTestr:cCsBt |jgd¢”|d}|t |jdg|dgd¢”7}|S)N)rr$r%rr&r'r(r)r*éc©r*r+r,r-)rr)rŚsizeŚbaser r r rƒfs$zLargeArrayTest.exampleg@)ZmemusecCs"| |”}| t|ƒ|d”dS)Nr&)rƒrr©rrrƒr r r Śtest_example_datals z LargeArrayTest.test_example_datacCsx| |”}| |dd”| ||d d”| ||d”| |dd”| ||dd”| |dd”dS)Nrr&r*rArr-r#)rƒrrƒr r r Ś test_accessqs zLargeArrayTest.test_accessg @cCs | |”}| t|dd…ƒgd¢”| t|dd…ƒgd¢”|dd…}| t|ƒ|d”| |dd”| |dd ”~|ddd…}| t|ƒ|d d”| t|dd…ƒgd ¢”|drģ| t|d d…ƒd dg”n| t|d d…ƒdd g”dS)Nr&©rr$r%rrAr€r$r#r%rr,r')rr%r&r(rér+r-r*)rƒrr¢r)rrrƒŚpartr r r Ś test_slice{s  zLargeArrayTest.test_slicecCs6| |”}| | d”|d”| | d”d”dS)Nrr*r-r$)rƒrrųrƒr r r rłs zLargeArrayTest.test_countcCs(| |”}| d”| |dd”dS)Nr.r#)rƒr‚rrƒr r r Ś test_append“s  zLargeArrayTest.test_appendcCsP| |”}| tgd¢ƒ”| t|ƒ|d”| t|dd…ƒgd¢”dS©N)r.r/r0r1r*éų’’’)r*r+r,r-r.r/r0r1)rƒrr£rrr¢rƒr r r r™s zLargeArrayTest.test_extendcCsP| |”}| d”| t|ƒ|d”| t|dd…ƒgd¢tdƒ”dS)Nsabcdr*r‹r€)rƒrĘrrr¢rƒr r r Śtest_frombytes s  zLargeArrayTest.test_frombytescCsL| |”}| gd¢”| t|ƒ|d”| t|dd…ƒgd¢”dSrŠ)rƒr¤rrr¢rƒr r r Ś test_fromlist§s zLargeArrayTest.test_fromlistcCsZ| |”}| | d”d”| | d”d”| | d”d”| | d”|d”dS)Nrr$r)r-r)rƒrr|rƒr r r r÷®s  zLargeArrayTest.test_indexcCs~| |”}| dd”| dd”| |dd”| t|ƒ|d”| |dd”| |dd”| ||dd”dS)Nrr.r,r/r$r0r))rƒrÆrrrƒr r r r°¶s   zLargeArrayTest.test_insertcCs°| |”}| | d”d”| |dd”| | |d”d”| ||dd”| | d”d”| |dd”| t|ƒ|d”| | ”d”| t|ƒ|”dS)Nrr$r,r-r%r)rƒrrżrrƒr r r ržĮs zLargeArrayTest.test_popcCs~| |”}| d”| t|ƒ|d”| |dd”| d”| t|ƒ|d”| ||d”| ||dd”dS)Nrrr$r,r%r+r-)rƒrśrrrƒr r r rüĪs   zLargeArrayTest.test_removecCs®| |”}| ”| t|ƒ|d”| |dd”| |dd”| |dd”| ”| t|ƒ|d”| t|dd…ƒgd¢”| t|dd…ƒgd ¢”dS) Nr&rr-rr*r#r†rAr€)rƒrōrrr¢rƒr r r r’Łs zLargeArrayTest.test_reverseg@&@cCsj| |”}| ”}| t|ƒt|ƒ”| |dd…t|dd…ƒ”| |dd…t|dd…ƒ”dS)Nr*r‹)rƒrĮrrr¢)rrrƒZlsr r r Ś test_tolistēs   zLargeArrayTest.test_tolistN)rrr rrƒrZ bigmemtestrr„r…rˆrłr‰rrŒrr÷r°ržrür’rŽr r r r r~cs<                      r~Ś__main__)Dr0ŚtestrZ test.supportrrr—rrhrėrrr@r~r:rr r{ZTestCaserrBrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrerfrgrqrrrsrtr8rxr2r7r<rPrRr[rcrhrjrkrlrmrnrorprqrsrurzr{r~rŚmainr r r r ŚsŒ    d(b   #