a ze@sdZddlZddlmZddlmZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z e djZGddde j ZGd d d e j Zd ZGd d d ejZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'd Z(d!Z)d"Z*d#Z+Gd$d%d%ejZ,Gd&d'd'Z-Gd(d)d)e-Z.Gd*d+d+e.ejZ/Gd,d-d-e-Z0Gd.d/d/e0Z1Gd0d1d1Z2Gd2d3d3e1Z3Gd4d5d5e1Z4Gd6d7d7e3ejZ5Gd8d9d9e4ejZ6Gd:d;d;e3ejZ7Gdd?d?e3ejZ9Gd@dAdAe4ejZ:GdBdCdCe3ejZ;GdDdEdEe4ejZGdJdKdKe0Z?GdLdMdMe?ejZ@GdNdOdOe?ejZAGdPdQdQejZBeCdRkreDdS)Sz(Test the arraymodule. Roger E. Masse N)support)_2G)_array_reconstructoruc@s eZdZdS) ArraySubclassN)__name__ __module__ __qualname__r r C/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_array.pyrsrc@seZdZdddZdS)ArraySubclassWithKwargsNcCstj|dSN)array__init__)selftypecodenewargr r r rsz ArraySubclassWithKwargs.__init__)N)rrr rr r r r r sr Z ubBhHiIlLfdqQc@seZdZddZddZdS)MiscTestcCsD|ttj|jttjdd|ttjd|ttjddS)N*)Zspamxxx) assertRaises TypeErrorr ValueErrorrr r r test_bad_constructorszMiscTest.test_bad_constructorcCsjtd}||dd<|t|d|t||d|t|dd||7}|t|ddS)NBr)r assertEquallenrar r r test_empty%s  zMiscTest.test_emptyN)rrr rr"r r r r rsrr c@s$eZdZddZddZddZdS)ArrayReconstructorTestcCs|ttdddd|tttddd|tttjddd|tttjddd|tttjddd|tttjdtd|tttjddd|tttjddd dS) Nbr?dr2a)rrarray_reconstructorstrrrUNKNOWN_FORMATrr r r test_errorNs0      z!ArrayReconstructorTest.test_errorc Cs8gdtdgdfgdtdgdfgdtdgd fgdtd gd fgd td gd fgd tdgd fddgtdgdfddgtdgdfddgtdgdfddgt dgdfdgt dgdfdgt dgdfdgt dgdfdgt dgdfdgt dgdfdgt dgdfdgt dgdfdgt dgdfdgtd 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||} WntyYqYn0ttj|||} |j| | d*| | |d+qҐqdS),N)rHILz=BBBB)r)r:hilz=bbb)irHr)rDrErFzHHHH)rJrKrLzhhhrErFzIIIIrKrLziiizQQQQzqqq)lrl)lrOrfzffffr>zdddd{0!r} != {1!r}; testcase={2!r}msg) UNSIGNED_INT8 SIGNED_INT8UNSIGNED_INT16_LEUNSIGNED_INT16_BESIGNED_INT16_LESIGNED_INT16_BEUNSIGNED_INT32_LEUNSIGNED_INT32_BESIGNED_INT32_LESIGNED_INT32_BEUNSIGNED_INT64_LEUNSIGNED_INT64_BESIGNED_INT64_LESIGNED_INT64_BEIEEE_754_FLOAT_LEfloatIEEE_754_FLOAT_BEIEEE_754_DOUBLE_LEIEEE_754_DOUBLE_BEstructpackr OverflowErrorr@rformat) r testcasestestcaseZvalid_typecodes mformat_codeZ struct_fmtvaluesZarraystrrr!r:r r r test_numbers`s          1    z#ArrayReconstructorTest.test_numbersc Csrd}tdftdftdftdff}|D]H}|\}}td|}ttjd|||}|j||d|||dq$dS) NuBonne Journée 𠌊𠍇z UTF-16-LEz UTF-16-BEz UTF-32-LEz UTF-32-BErrRrS) UTF16_LEUTF16_BEUTF32_LEUTF32_BErr@encoderrk)rZteststrrlrmrnencodingr!r:r r r test_unicodes  z#ArrayReconstructorTest.test_unicodeN)rrr rCrprwr r r r r8Ls?r8c@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/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.e/0e1e2dYdZd[d\Z3d]d^Z4d_d`Z5e6j7dadbZ8e6j7dcddZ9dedfZ:e6j7dgdhZ;didjZitr!rKr r r test_iterator_pickles8     zBaseTest.test_iterator_picklecCst|j|j}|t|t|jt|}t|}|D] }t|q:||j|t|g|t||jg|t|t|j|jgdSr ) rrrrrrrroutside)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|jddt|j|j}|d|jd||t|j|jdd|jdd|jddt|j|j}|d|jd||t|j|jdd|jt|j|j}|d|jd||t|j|j|jdddS)Nrr$r#)rrrinsertrrrrr r r r test_insertMs8(zBaseTest.test_insertc Cst|jd|j}|t|jttjt tjd}z||| t|j}t tjd}|t|j | |t |j| |t|j|j||||t|j |t |jd| ||| W|js| ttjn|js| ttj0dS)Nr%wbrbr$)rrrrrtofilerunlinkTESTFNopenclosefromfilerrrEOFErrorclosedrr!rPr:r r r test_tofromfilens,        zBaseTest.test_tofromfilec Csdt|j}ttjd}z0|t|j|t|j W| t tjn| t tj0dS)Nr) rrrrrrOSErrorrrrrr)rr!rPr r r test_fromfile_ioerrors  zBaseTest.test_fromfile_ioerrorc Cst|jd|j}ttjd}z|||t|j}ttjd}||t |j| |t|j|j| ||||t |j| |||W|j s|t tjn|j s|t tj0dS)Nr%rr)rrrrrrwriterrrrrrrrr r r test_filewrites&       zBaseTest.test_filewritecCs~t|jd|j}t|j}|t|jd|t|j|t|jd|t|jdg|||||dS)Nr%r)rrrrrtolistrrrr!r:r r r test_tofromlists zBaseTest.test_tofromlistcCst|jd|j}t|j}|t|jd|t|j|t|jd||t|jt|}|||||||j dkr|t |jddS)Nr%rr$x) rrrrrtobytes frombytes bytearrayrr~r)rr!r:cr r r test_tofrombytess    zBaseTest.test_tofrombytescCs.t|j|j}t|j|}|||dSr rrrrrr r r test_fromarrayszBaseTest.test_fromarraycCsVt|jd|j}||tt|dtjit|j}|t|d|jdS)Nr%rz array('%s'))rrrrevalreprr r r r test_reprs zBaseTest.test_reprcCs t|jd|j}t|dSNr%)rrrrAr r r r test_strszBaseTest.test_strcCst|j|j}||dkd||dkd|||kd|||kd|||kd|||kd|||kd|||kdt|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|||kddS)NrFTr%)rrrrsmallerexample biggerexample)rr!Zalabr r r test_cmps:zBaseTest.test_cmpc Cst|j|jt|j|jddd}||t|j|j|jdddt|}|t|j||t|jddS)Nr#bad)rrrrr}rr__add__rr r r test_addszBaseTest.test_addc Cst|j|jddd}|}|t|jd|j7}|||||t|j|jdddd|jt|j|j}||7}||t|j|j|jt|}|t|j||t|j ddS)Nr#r%r) rrrrrr}rrr__iadd__rr r r test_iadds" "zBaseTest.test_iaddcCsdt|j|j}||t|jd|jt|j|jd}||t|j|jddt|j|j}||t|jdt|j|j}||t|jdt|j|jdd}||t|j|dgd|t|jddS)Nr'rr#r$r)rrrrrr__mul__r r r r test_muls4  zBaseTest.test_mulcCst|j|j}|}|d9}|||||t|jd|j|d9}|||||t|j|d9}|||||t|j|d9}|||||t|jt|j|j}|d9}||t|j|t|jddS)Nr'rrr#r)rrrrrrr__imul__rr r r test_imul0s*    zBaseTest.test_imulcCst|j|j}||d|jd||d|jd||d|jd||d|jd||t|jd|jd||t|j |jd|t|j|t|jt|j|t|jt|j ddS)Nrr#r$) rrrrzrrr __getitem__ IndexErrorr r r r test_getitemMs zBaseTest.test_getitemcCst|j|j}|d|d<||d|dt|j|j}|d|d<||d|dt|j|j}|d|d<||d|dt|j|j}|d|d<||d|dt|j|j}|d|t|jd<||d|dt|j|j}|d|t|j <||d|d|t|j|t|jd|t|jdd|t|jt|j|jd|t|jt|j d|jddS)Nr#rr$) rrrrzrrr __setitem__rr r r r test_setitemYs>    zBaseTest.test_setitemc Cs>t|j|j}|d=||t|j|jddt|j|j}|d=||t|j|jddt|j|j}|t|jd=||t|j|jddt|j|j}|t|j =||t|j|jdd|t|j|t|jd|t|jt|j|t|jt|j ddS)Nrr$r#) rrrrrrr __delitem__rr r r r test_delitems8zBaseTest.test_delitemc Cst|j|j}||dd|||ddt|j|jdd||ddt|j|jdd||ddt|j|jdd||ddt|j|jdd||ddt|j||ddt|j||ddt|j||dd|||dd|||ddt|j||dd|||ddt|jdS)Nr$r#r%rrrr r r r test_getslicesR              zBaseTest.test_getslicec Cs~t|j|j}ddddddtjdddd f }|D]H}|D]>}|ddD],}|t||||t||||qHq8q0dS Nrr$rr5dr#i)rrrsysmaxsizerr)rr!indicesstartstopstepr r r test_extended_getsliceszBaseTest.test_extended_getslicec Cs:t|j|j}||dd<||t|j|j|jddt|j|j}||dd<||t|j|j|jddt|j|j}||dd<||t|j|jdd|jt|j|j}||dd<||t|j|jdd|jt|j|j}||dd<||t|j|jdd|j|jddt|j|j}||dd<||t|jd|jt|j|j}||dd<||t|j|jt|j|j}||dd<||t|j|jt|j|j}||dd<||t|jd|jt|j|j}||dd<||t|j|jdd|j|jddt|j|j}||dd<||t|jd|jt|j|j}|t|jtddd|t|jtdddt|}|t|jtdd||t|jtdd|dS)Nr$r#rr%rrr) rrrrrrrslicer}rr r r test_setslices           * zBaseTest.test_setslicec Csddddddtjdddd f }|D]}|D]}|ddD]}t|j|j}t|}||||}||||||<t|j|||||<||t|j|||||=||||=||t|j|q8q(q dSr)rrrrrrreverser)rrrrrr!rFrr 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|jdSr) rrrrrr|rrrrrr!rr r r test_indexMs zBaseTest.test_indexcCsrd|j}t|j|}|t|j|D]}|||||q*|||jd||dddS)Nr%r)rrrrrcountrrrr r r test_countVs zBaseTest.test_countcCs|jD]b}d|j}t|j|}||}|d|||dd}||||t|j|qt|j|j}|t|j|j|t|jddS)Nr%r$) rrrr|removerrrr)rrrr!posZexample2r r r test_remove_s    zBaseTest.test_removec Csht|j}|t|jt|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|jdddS)Nr%rr$rrr#) rrrrpoprrrrzrr r r r test_popms. *$zBaseTest.test_popc CsNt|j|j}|t|jd|||t|j|jddddS)Nrr#)rrrrrrrr r r r test_reverseszBaseTest.test_reversec Cst|j|j}|t|j|t|j|jddd||t|j|j|jdddt|j|j}||||t|j|j|jt|}|t|j|t|j|j}||jddd||t|j|j|jddddSNr#)rrrrrextendrr}rr r r test_extends*  zBaseTest.test_extendcCst|jt|j}t|j|j}||||ttj|jdGddd}|ttj|j|dd}|ttj|j|dS)Nr,c@seZdZddZdS)z;BaseTest.test_constructor_with_iterable_argument..AcSstdSr  UnicodeErrorrr r r __iter__szDBaseTest.test_constructor_with_iterable_argument..A.__iter__N)rrr rr r r r AsrcsstdVdSr rr r r r rsz;BaseTest.test_constructor_with_iterable_argument..B)rrrrrrrr)rr!r:rrr r r 'test_constructor_with_iterable_arguments z0BaseTest.test_constructor_with_iterable_argumentcCsVz ddl}Wnty(|dYn0t|j}t|g}|||dS)Nrzgc module not available)gc ImportErrorskipTestrrrrZcollect)rrr!rLr r r test_coveritertraverses     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|||||jdkrP|t|j|||||ttj|d||||ttj|d||||ttj|tdd|||||ttj|d||||ttj|tdd|||dS)Nrr$rr%)rrr memoryviewrrr BufferErrorrrrrrrr fromunicode tounicodeoperatorimulsetitemrdelitem)rr!mZexpectedr r r test_buffers< zBaseTest.test_buffercCsLt|j|j}t|}|||d}t| t t |dSr ) rrrweakrefproxyrrr gc_collectrReferenceErrorr)rspr r r test_weakrefs  zBaseTest.test_weakref getrefcountztest needs sys.getrefcount()cCs\tdD]}tdtd}qtd}tdD]}tdtd}q0||tddS)Nr,r@)rrrrr)rrKr:rcr r r test_bug_782369s    zBaseTest.test_bug_782369cCstddddS)Nr:r$)r)r rr r r test_subclass_with_kwargssz"BaseTest.test_subclass_with_kwargscCs&tdd}|t||jddS)NrDs1234r&)rrrr~r r r r test_create_from_bytess zBaseTest.test_create_from_bytescCsBt|j|j}td}|d|j}t||||dS)NPn2Pir$)rrrr calcvobjsizerr~ check_sizeof)rr!basesizeZ buffer_sizer r r test_sizeof_with_buffers z BaseTest.test_sizeof_with_buffercCs(t|j}td}t|||dS)Nr#)rrrr$r%)rr!r&r r r test_sizeof_without_buffers  z#BaseTest.test_sizeof_without_buffercCs|jdkr|t}t|jd}Wdn1s80Y|dt|j|t&}t|jtdd}Wdn1s0Y|dt|jn$t|jd}t|jtdd}dS)Nrfoozcannot use a strzcannot use a unicode array)rrrrZassertInrA exception)rcmr!r r r test_initialize_with_unicodes  , 4z%BaseTest.test_initialize_with_unicodecCs*ddlm}tdd}|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|jft|ttj|jfdSr )rZcheck_free_after_iteratingrrrreversedrr r r test_free_after_iterating's   z"BaseTest.test_free_after_iteratingN)=rrr rzr}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrunittestZ skipUnlesshasattrrr r!r"rZ cpython_onlyr'r(r,r.r0r r r r rxst  % !   $ ! '"2 Y    #      rxcseZdZfddZZS) StringTestcs:tt|j|j}|t|jd|jdddS)Nrr%)superrrrrrrrr  __class__r r r/s zStringTest.test_setitem)rrr r __classcell__r r r5r r3-sr3c@s8eZdZdZdZdZdZedZdZ ddZ d d Z d S) UnicodeTestru☺u☺﻾u☺3r%cCs|ttjddtdd}|d|d|d|d|}||d||jtd }td|}|t|d |t|jdS) 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 |dtd|}|t|j|tt|dS)Nr&szspecific to 32-bit wchar_tr)r;r rrrrrA)rZ invalid_strr!r r r test_issue17223Ps   zUnicodeTest.test_issue17223N) rrr rrrrrArrrwr<r r r r r84sr8c@sDeZdZddZddZddZddZd d Zd d Zd dZ dS) NumberTestcCsvt|jtd}||dd|||dddt|jgd||dddt|jddg||dddt|jgd||dddt|jgd ||dddt|jddg||d d |||d d d|ddd||d d dt|jgd||d d dt|jg||dddt|jgdS)Nr'r%rr%r&r$rr#)r&rr%r$rr)r&r%rrrrrri0rrrrr r r r test_extslice^s$$$$$ $ zNumberTest.test_extslicecCst|jtd}|ddd=||t|jddgt|jtd}|ddd=||t|jgdt|jtd}|ddd=||t|jgdt|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_delslicels    zNumberTest.test_delslicecCs4t|jtd}t|jdgd|ddd<||t|jgdt|jtd}t|jdgd|ddd<||t|jgdt|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)rrrrr)rr!r:rZinsr r r test_assignment}s    zNumberTest.test_assignmentcCsft|jtd}|t|ttdt|jdg}||d|vd||d|vddS)Nr,r6r#Tr)rrrrrrr r r test_iterationcontainss z!NumberTest.test_iterationcontainscCst|j|g}||d<|ttj|j|dg|t|jd|dt|j|g}||d<|ttj|j|dg|t|jd|ddSr)rrrrjr)rlowerupperr!r r r check_overflowszNumberTest.check_overflowcCsP|j}Gdddtj}||jgdd}||dd|tt|dddS) Nc@s*eZdZdgZddZddZddZdS) z6NumberTest.test_subclassing..ExaggeratingArrayoffsetcSstj|||Sr )r__new__)clsrrrHr r r rIsz>NumberTest.test_subclassing..ExaggeratingArray.__new__cSs ||_dSr )rH)rrrrHr r r rsz?NumberTest.test_subclassing..ExaggeratingArray.__init__cSstj|||jSr )rrrH)rrKr r r rszBNumberTest.test_subclassing..ExaggeratingArray.__getitem__N)rrr __slots__rIrrr r r r ExaggeratingArraysrL)rr(r)r-r&rr)ZcolorZblue)rrrzrAttributeErrorsetattr)rrrLr!r r r test_subclassings  zNumberTest.test_subclassingcCs.tdtd}t|j|}|||dS)Nr:r,)rrrrrr r r test_frombytearrayszNumberTest.test_frombytearrayN) rrr r@rArCrDrGrOrPr r r r r=\sr=c@seZdZddZdS)IntegerNumberTestcCst|j}|d|t|dWdn1s@0Y|td|d<Wdn1sr0YdS)NrgE@r)rrrrrr r r r test_type_errors    ( z!IntegerNumberTest.test_type_errorN)rrr rRr r r r rQsrQc@s4eZdZddZddZddZddZd d Zd S) IntablecCs ||_dSr Z_num)rnumr r r rszIntable.__init__cCs|jSr rTrr r r __index__szIntable.__index__cCs|jSr rTrr r r __int__szIntable.__int__cCstt|t|Sr rSrrotherr r r __sub__szIntable.__sub__cCstt|t|Sr rXrYr r r rszIntable.__add__N)rrr rrVrWr[rr r r r rSs rSc@s0eZdZgdZgdZgdZdZddZdS)SignedNumberTest)r#rr$rrH)r#rr$r~)r#rr$+rHcCsht|j}dttd|jdd}ttd|jddd}||||t|t|dS)Nr#r%r*r$rrrpowr~rGrSrr!rErFr r r test_overflows   zSignedNumberTest.test_overflowN)rrr rrrrrcr r r r r\s r\c@s8eZdZgdZgdZgdZdZddZddZd S) UnsignedNumberTest)rr$r3r_rrI)rr$r3r_r)rr$r3r_r^rIcCsLt|j}d}ttd|jdd}||||t|t|dS)Nrr%r*r$r`rbr r r rcs   z UnsignedNumberTest.test_overflowc Cst|j}t|j|j}||||t|j|j|jt|j|j}|tt|||t|j|j|jddddSr)bytesrrrrrrr/)rrr!r r r test_bytes_extends  z$UnsignedNumberTest.test_bytes_extendN) rrr rrrrrcrhr r r r rds rdc@seZdZdZdZdS)ByteTestr:r$Nrrr rrr r r r risric@seZdZdZdZdS)UnsignedByteTestrr$Nrjr r r r rksrkc@seZdZdZdZdS) ShortTestrJr%Nrjr r r r rlsrlc@seZdZdZdZdS)UnsignedShortTestrDr%Nrjr r r r rm srmc@seZdZdZdZdS)IntTestrKr%Nrjr r r r rnsrnc@seZdZdZdZdS)UnsignedIntTestrEr%Nrjr r r r rosroc@seZdZdZdZdS)LongTestrLr&Nrjr r r r rpsrpc@seZdZdZdZdS)UnsignedLongTestrFr&Nrjr r r r rqsrqc@seZdZdZdZdS) LongLongTestqr*Nrjr r r r rrsrrc@seZdZdZdZdS)UnsignedLongLongTestQr*Nrjr r r r rt#srtc@s@eZdZgdZgdZgdZdZddZddZd d Z d S) FPTest)Errj@g _)rwrrrxg _)rwrrrxg _Br_cCs|||dSr )ZassertAlmostEqualryr r r rz-szFPTest.assertEntryEqualcCst|jtdg}t|jtdg}|||kd|||kd|||kd|||kd|||kd|||kddS)NnanTF)rrrdrrr r r test_nan0szFPTest.test_nancCst|j|j}|t|jd|jdvrt|j|j}||jdkrZ|||n|| | ||||dS)Nrrr$) rrrrrrr~rrrrr r r r:s  zFPTest.test_byteswapN) rrr rrrrrzrzrr r r r rv's rvc@seZdZdZdZdS) FloatTestrPr&Nrjr r r r r{Jsr{c@seZdZdZdZddZdS) DoubleTestr>r*cCsddlm}tddgd}z||dd9}WntyDYn 0|dtdgd}z||d dWntyYn 0|ddS) Nr)rr>r#ir$z6Array of size > maxsize created - MemoryError expected)gII @gS! @r#r)rrr MemoryErrorZfail)rrr!r:r r r test_alloc_overflowRs    zDoubleTest.test_alloc_overflowN)rrr rrr~r r r r r|Nsr|c@sLeZdZdZddZejeddddZejedddd Z ejed dd d Z ejeddd dZ ejeddddZ ejeddddZ ejeddddZejeddddZejeddddZejeddddZejeddddZejeddddZejedddd Zejed!dd"d#Zd$S)%LargeArrayTestr:cCsBt|jgd|d}|t|jdg|dgd7}|S)N)rr$r%rr&r'r(r)r*cr*r+r,r-)rr)rsizebaser r r rgs$zLargeArrayTest.exampleg@)ZmemusecCs"||}|t||ddS)Nr&)rrrrrrr r r test_example_datams z LargeArrayTest.test_example_datacCsx||}||dd|||d d|||d||dd|||dd||dddS)Nrr&r*rBrr-r#)rrrr r r test_accessrs zLargeArrayTest.test_accessg @cCs ||}|t|ddgd|t|ddgd|dd}|t||d||dd||dd ~|ddd}|t||d d|t|ddgd |dr|t|d dd dgn|t|d ddd gdS)Nr&rr$r%rrBrr$r#r%rr,r')rr%r&r(rr+r-r*)rrrr)rrrpartr r r test_slice|s  zLargeArrayTest.test_slicecCs6||}||d|d||dddS)Nrr*r-r$)rrrrr r r rs zLargeArrayTest.test_countcCs(||}|d||dddS)Nr.r#)rrrrr r r test_appends  zLargeArrayTest.test_appendcCsP||}|tgd|t||d|t|ddgddSN)r.r/r0r1r*)r*r+r,r-r.r/r0r1)rrrrrrrr r r rs zLargeArrayTest.test_extendcCsP||}|d|t||d|t|ddgdtddS)Nsabcdr*rr)rrrrrrr r r test_frombytess  zLargeArrayTest.test_frombytescCsL||}|gd|t||d|t|ddgddSr)rrrrrrr r r test_fromlists zLargeArrayTest.test_fromlistcCsZ||}||dd||dd||dd||d|ddS)Nrr$r)r-r)rrr|rr r r rs  zLargeArrayTest.test_indexcCs~||}|dd|dd||dd|t||d||dd||dd|||dddS)Nrr.r,r/r$r0r))rrrrrr r r rs   zLargeArrayTest.test_insertcCs||}||dd||dd|||dd|||dd||dd||dd|t||d||d|t||dS)Nrr$r,r-r%r)rrrrrr r r rs zLargeArrayTest.test_popcCs~||}|d|t||d||dd|d|t||d|||d|||dddS)Nrrr$r,r%r+r-)rrrrrr r r rs   zLargeArrayTest.test_removecCs||}||t||d||dd||dd||dd||t||d|t|ddgd|t|ddgd dS) Nr&rr-rr*r#rrBr)rrrrrrr r r rs zLargeArrayTest.test_reverseg@&@cCsj||}|}|t|t|||ddt|dd||ddt|dddS)Nr*r)rrrrr)rrrZlsr r r test_tolists   zLargeArrayTest.test_tolistN)rrr rrrZ bigmemtestrrrrrrrrrrrrrrrr r r r rds<                      r__main__)E__doc__r1testrZ test.supportrrrrrhrrrr@r~r;rr r{ZTestCaserrBrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrerfrgrqrrrsrtr8rxr3r8r=rQrSr\rdrirkrlrmrnrorprqrrrtrvr{r|rrmainr r r r s    d(b   #