ó {G_Tc@sEdZddlZddlZddlmZddlmZddlZddlZddl m Z m Z m Z ddl Z dejfd„ƒYZdejfd „ƒYZgZd Zd ejfd „ƒYZejeƒd ejfd„ƒYZdefd„ƒYZdefd„ƒYZejeƒejrcdefd„ƒYZejeƒndefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZejeƒdefd„ƒYZejeƒdefd „ƒYZejeƒd!efd"„ƒYZ eje ƒd#efd$„ƒYZ!eje!ƒd%efd&„ƒYZ"eje"ƒd'efd(„ƒYZ#eje#ƒd)efd*„ƒYZ$eje$ƒd+efd,„ƒYZ%d-e%fd.„ƒYZ&eje&ƒd/e%fd0„ƒYZ'eje'ƒe(d1„Z)e*d2krAe)d3e+ƒndS(4s(Test the arraymodule. Roger E. Masse i˙˙˙˙N(t test_support(tproxy(tloadstdumpstHIGHEST_PROTOCOLt ArraySubclasscBseZRS((t__name__t __module__(((s+/usr/local/lib/python2.7/test/test_array.pyR stArraySubclassWithKwargscBseZdd„ZRS(cCstjj||ƒdS(N(tarrayt__init__(tselfttypecodetnewarg((s+/usr/local/lib/python2.7/test/test_array.pyR sN(RRtNoneR (((s+/usr/local/lib/python2.7/test/test_array.pyRst cubBhHiIlLfdtBadConstructorTestcBseZd„ZRS(cCs\|jttjƒ|jttjddƒ|jttjdƒ|jttjdƒdS(Ntspami*txxtx(t assertRaisest TypeErrorR t ValueError(R ((s+/usr/local/lib/python2.7/test/test_array.pyttest_constructors(RRR(((s+/usr/local/lib/python2.7/test/test_array.pyRstBaseTestcBseZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%d$„Z&d%„Z'd&„Z(d'„Z)e*j+e,e-d(ƒd)ƒd*„ƒZ.d+„Z/RS(,cCs|j||ƒdS(N(t assertEqual(R tentry1tentry2((s+/usr/local/lib/python2.7/test/test_array.pytassertEntryEqual*scCs"ttj|jƒdttƒS(Ni(t typecodestindexR tlen(R ((s+/usr/local/lib/python2.7/test/test_array.pyt badtypecode-scCs^tj|jƒ}|j|j|jƒ|j|j|jƒ|jttj|jdƒdS(N( R R RtassertGreaterEqualtitemsizet minitemsizeRRR(R ta((s+/usr/local/lib/python2.7/test/test_array.pyR1scCswtj|jƒ}|j|jdƒ|jt|ƒdƒtj|j|jƒ}|jt|ƒt|jƒƒdS(Nii(R R tappendtexampleRR(R R$((s+/usr/local/lib/python2.7/test/test_array.pyttest_len7s cCsŹtj|j|jƒ}|jt|jdƒ|jƒ}|j|tƒ|jt |ƒdƒ|j|dt t fƒ|j|dt ƒ|j|dt |ƒƒdS(Ni*iii( R R R&RRt buffer_infotassertIsInstancettupleRRtinttlong(R R$tbi((s+/usr/local/lib/python2.7/test/test_array.pyttest_buffer_info?s cCs˛tj|j|jƒ}|jt|jdƒ|jdkrŽtj|j|jƒ}|jƒ|jdkr|j||ƒn|j||ƒ|jƒ|j||ƒndS(Ni*iiii(iiii( R R R&RRtbyteswapR"RtassertNotEqual(R R$tb((s+/usr/local/lib/python2.7/test/test_array.pyt test_byteswapIs  cCscddl}tj|j|jƒ}|j|ƒ}|jt|ƒt|ƒƒ|j||ƒdS(Ni˙˙˙˙(tcopyR R R&R0tidR(R R3R$R1((s+/usr/local/lib/python2.7/test/test_array.pyt test_copyVs  cCscddl}tj|j|jƒ}|j|ƒ}|jt|ƒt|ƒƒ|j||ƒdS(Ni˙˙˙˙(R3R R R&tdeepcopyR0R4R(R R3R$R1((s+/usr/local/lib/python2.7/test/test_array.pyt test_deepcopy]s  cCs xttdƒD]đ}tj|j|jƒ}tt||ƒƒ}|jt|ƒt|ƒƒ|j ||ƒt |j|jƒ}d|_ tt||ƒƒ}|jt|ƒt|ƒƒ|j ||ƒ|j |j |j ƒ|j t |ƒt |ƒƒqWdS(Nii ( trangeRR R R&RRR0R4RRRttype(R tprotocolR$R1((s+/usr/local/lib/python2.7/test/test_array.pyt test_pickleds cCsýxöttdƒD]ä}tj|jƒ}tt||ƒƒ}|jt|ƒt|ƒƒ|j||ƒt |jƒ}d|_ tt||ƒƒ}|jt|ƒt|ƒƒ|j||ƒ|j|j |j ƒ|jt |ƒt |ƒƒqWdS(Nii ( R8RR R RRR0R4RRRR9(R R:R$R1((s+/usr/local/lib/python2.7/test/test_array.pyttest_pickle_for_empty_arrayss cCsÓtj|j|jƒ}|jd|jdƒ|jt|ƒdt|jƒƒ|j|d|dƒ|jt|jƒ|jt|jdƒ|jt|jddƒtj|j|jƒ}|jd|jdƒ|j|tj|j|jd |jd |jdƒƒtj|j|jƒ}|jd|jdƒ|j|tj|j|jd |jƒƒtj|j|jƒ}|jd|jdƒ|j|tj|j|j|jd ƒƒdS(Niii˙˙˙˙iü˙˙ič( R R R&tinsertRRRRR(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_insert‚s0#'$cCsŹtj|jd|jƒ}|jt|jƒ|jt|jtjƒƒtj tj ƒt tj dƒ}z|j|ƒ|j ƒtj|jƒ}t tj dƒ}|jt|j ƒ|jt|j tjƒt|jƒƒ|j |t|jƒƒ|j|tj|j|jƒƒ|j||ƒ|j |t|jƒƒ|j||ƒ|jt|j |dƒ|j ƒWd|js—|j ƒntj tj ƒXdS(Nitwbtrbi(R R R&RRttofilet cStringIOtStringIORtunlinktTESTFNtopentclosetfromfileRRR0tEOFErrortclosed(R R$tfR1((s+/usr/local/lib/python2.7/test/test_array.pyttest_tofromfileŁs2  "  cCsltj|jƒ}ttjdƒ}z&|jt|j|t|j ƒƒWd|j ƒtj tjƒXdS(NR?( R R RFRRERtIOErrorRHRR&RGRD(R R$RK((s+/usr/local/lib/python2.7/test/test_array.pyttest_fromfile_ioerrorŔs & cCstj|jd|jƒ}ttjdƒ}z˝|j|ƒ|jƒtj|jƒ}ttjdƒ}|j|t |jƒƒ|j |tj|j|jƒƒ|j ||ƒ|j|t |jƒƒ|j ||ƒ|jƒWd|j s|jƒntj tjƒXdS(NiR?R@(R R R&RFRREtwriteRGRHRRR0RJRD(R R$RKR1((s+/usr/local/lib/python2.7/test/test_array.pyttest_filewriteËs   "  cCs­tj|jd|jƒ}tj|jƒ}|jt|jdƒ|jt|jƒ|jt|jdƒ|jt|jdgƒ|j|jƒƒ|j||ƒdS(Nii*( R R R&RRttolisttfromlistRR(R R$R1((s+/usr/local/lib/python2.7/test/test_array.pyttest_tofromlistŢscCsźtj|jd|jƒ}tj|jƒ}|jt|jdƒ|jt|jƒ|jt|jdƒ|j|jƒƒ|j||ƒ|jdkr¸|jt |jdƒndS(Nii*iR( R R R&RRttostringt fromstringRR"R(R R$R1((s+/usr/local/lib/python2.7/test/test_array.pyttest_tofromstringčscCsxtj|jd|jƒ}|j|tt|ƒitjd6ƒƒtj|jƒ}|jt|ƒd|jƒdS(NiR s array('%s')(R R R&Rtevaltrepr(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_reprós)cCs*tj|jd|jƒ}t|ƒdS(Ni(R R R&tstr(R R$((s+/usr/local/lib/python2.7/test/test_array.pyttest_strúscCs tj|j|jƒ}|j|dktƒ|j|dktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒtj|j|jƒ}tj|j|jƒ}|j|d|ktƒ|j|d|ktƒ|j|d|ktƒ|j|d|ktƒ|j|d|ktƒ|j|d|ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒ|j||ktƒdS(Ni*i(R R R&tassertIstFalsetTruetsmallerexamplet biggerexample(R R$taltab((s+/usr/local/lib/python2.7/test/test_array.pyttest_cmpţs:c Csśtj|j|jƒtj|j|jddd…ƒ}|j|tj|j|j|jddd…ƒƒtj|jƒƒ}|jt|j|ƒ|jt|jdƒdS(Ni˙˙˙˙tbad(R R R&RR RRt__add__(R R$R1((s+/usr/local/lib/python2.7/test/test_array.pyttest_add"s&-cCs%tj|j|jddd…ƒ}|}|tj|jd|jƒ7}|j||ƒ|j|tj|j|jddd…d|jƒƒtj|j|jƒ}||7}|j|tj|j|j|jƒƒtj|jƒƒ}|jt|j|ƒ|jt|j dƒdS(Ni˙˙˙˙iRd( R R R&R\RR RRRet__iadd__(R R$R1((s+/usr/local/lib/python2.7/test/test_array.pyt test_iadd/s% 1  cCsdtj|j|jƒ}|j|tj|jd|jƒƒtj|j|jƒd}|j|tj|j|jdƒƒdtj|j|jƒ}|j|tj|jƒƒdtj|j|jƒ}|j|tj|jƒƒ|jt|jdƒdS(Niii˙˙˙˙Rd(R R R&RRRt__mul__(R R$((s+/usr/local/lib/python2.7/test/test_array.pyttest_mulDs"cCsXtj|j|jƒ}|}|d9}|j||ƒ|j|tj|jd|jƒƒ|d9}|j||ƒ|j|tj|jƒƒ|d9}|j||ƒ|j|tj|jƒƒ|d9}|j||ƒ|j|tj|jƒƒtj|j|jƒ}|d9}|j|tj|jƒƒ|jt|jdƒdS(Niiiči˙˙˙˙Rd(R R R&R\RRRt__imul__(R R$R1((s+/usr/local/lib/python2.7/test/test_array.pyt test_imul_s(     cCs+tj|j|jƒ}|j|d|jdƒ|j|d|jdƒ|j|d|jdƒ|j|d|jdƒ|j|t|jƒd|jdƒ|j|t|jƒ |jdƒ|jt|jƒ|jt|jt|jƒƒ|jt|jt|jƒ dƒdS(Nili˙˙˙˙l˙˙˙˙i( R R R&RRRRt __getitem__t IndexError(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_getitem|s(%cCs(tj|j|jƒ}|d|d<|j|d|dƒtj|j|jƒ}|d|d<|j|d|dƒtj|j|jƒ}|d|d<|j|d|dƒtj|j|jƒ}|d|d<|j|d|dƒtj|j|jƒ}|d|t|jƒd<|j|d|dƒtj|j|jƒ}|d|t|jƒ <|j|d|dƒ|jt|jƒ|jt|jdƒ|jt|jddƒ|jt |jt|jƒ|jdƒ|jt |jt|jƒ d|jdƒdS(Ni˙˙˙˙ill˙˙˙˙i( R R R&RRRRt __setitem__RRn(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_setitemˆs:cCs›tj|j|jƒ}|d=|j|tj|j|jdƒƒtj|j|jƒ}|d=|j|tj|j|jd ƒƒtj|j|jƒ}|t|jƒd=|j|tj|j|jd ƒƒtj|j|jƒ}|t|jƒ =|j|tj|j|jdƒƒ|jt|jƒ|jt|jdƒ|jt |jt|jƒƒ|jt |jt|jƒ dƒdS(Niii˙˙˙˙( R R R&RRRRt __delitem__RRn(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_delitemŻs0cCs˝tj|j|jƒ}|j||ƒ|j|dtj|j|jdƒƒ|j|d tj|j|jd ƒƒ|j|d tj|j|jd ƒƒ|j|dtj|j|jdƒƒ|j|dd!tj|jƒƒ|j|dd!tj|jƒƒ|j|dtj|jƒƒ|j|d|ƒ|j|d |ƒ|j|d tj|jƒƒ|j|dd!|ƒ|j|dd!tj|jƒƒdS(Nii˙˙˙˙iičiü˙˙iĐ(R R R&R(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_getsliceŃs@   c Cstj|j|jƒ}d }xj|D]b}xY|D]Q}xH|dD]<}|jt||||…ƒt|ƒ|||…ƒqCWq2Wq%WdS( Niiiiidi˙˙˙˙iţ˙˙˙iá˙˙˙iœ˙˙˙( iNiiiidi˙˙˙˙iţ˙˙˙iá˙˙˙iœ˙˙˙(R R R&RRtlist(R R$tindiceststarttstoptstep((s+/usr/local/lib/python2.7/test/test_array.pyttest_extended_getslices  cCsJtj|j|jƒ}||d*|j|tj|j|j|jdƒƒtj|j|jƒ}||d*|j|tj|j|j|jdƒƒtj|j|jƒ}||d)|j|tj|j|jd |jƒƒtj|j|jƒ}||d)|j|tj|j|jd |jƒƒtj|j|jƒ}||dd+|j|tj|j|jd |j|jdƒƒtj|j|jƒ}||d)|j|tj|jd|jƒƒtj|j|jƒ}||d)|j|tj|j|jƒƒtj|j|jƒ}||d*|j|tj|j|jƒƒtj|j|jƒ}||d*|j|tj|jd|jƒƒtj|j|jƒ}||dd+|j|tj|j|jd |j|jdƒƒtj|j|jƒ}||dd+|j|tj|jd|jƒƒtj|j|jƒ}|jt|jdddƒ|jt|jt ddƒdƒ|jt|jt ddƒdƒtj|j ƒƒ}|jt|jdd|ƒ|jt|jt ddƒ|ƒ|jt|jt ddƒ|ƒdS(Nii˙˙˙˙ičiiü˙˙iiĐ( R R R&RRRt __setslice__RRptsliceR (R R$R1((s+/usr/local/lib/python2.7/test/test_array.pyt test_setslices‚ $ $ $ $ #     / """c Csd }x|D]}x÷|D]ď}xć|dD]Ú}tj|j|jƒ}t|ƒ}||||…}|jƒ|||||…RLRNRPRSRVRYR[RcRfRhRjRlRoRqRsRtRzR}RRƒR…R‰R‹RŒRŽR”RšRRĄtunittestt skipUnlessthasattrRŁRŚR­(((s+/usr/local/lib/python2.7/test/test_array.pyR!sV         !     $    ' " 2 [        t StringTestcBseZd„ZRS(cCsOtt|ƒjƒtj|j|jƒ}|jt|jd|jd ƒdS(Nii( tsuperRąRqR R R&RRRp(R R$((s+/usr/local/lib/python2.7/test/test_array.pyRqs(RRRq(((s+/usr/local/lib/python2.7/test/test_array.pyRąst CharacterTestcBs>eZdZdZdZdZdZdZd„Zd„Z RS(tcsazAZţsazAYţsazAZ˙t3icCs”dtjfd„ƒY}|dƒ}|jƒ|j|jƒdƒ|j|jdƒd|_|j|jdƒ|j|jjƒdgƒdS(NtEditableStringcBs/eZd„Zdd„Zd„Zd„ZRS(c_stjj|d|ƒS(NR´(R t__new__(tclsRŸtargstkwargs((s+/usr/local/lib/python2.7/test/test_array.pyRˇ)stbluecSs ||_dS(N(tcolor(R RŸRź((s+/usr/local/lib/python2.7/test/test_array.pyR ,scSs#tjd|jƒjƒƒ|(dS(NR´(R RTtstrip(R ((s+/usr/local/lib/python2.7/test/test_array.pyR˝/scSsd|jƒS(NsEditableString(%r)(RT(R ((s+/usr/local/lib/python2.7/test/test_array.pyt__repr__2s(RRRˇR R˝Rž(((s+/usr/local/lib/python2.7/test/test_array.pyRś(s   s test ttestRťtredRź(R R˝RRTRźt__dict__tkeys(R RśRŸ((s+/usr/local/lib/python2.7/test/test_array.pyttest_subbclassing's   cCsKtj|j|jƒ}|jt|jtdƒƒ|jt|jƒdS(NR¨(R R R&RRt fromunicodetunicodet tounicode(R R$((s+/usr/local/lib/python2.7/test/test_array.pyttest_nounicode>s( RRR R&R_R`R‚R#RĂRÇ(((s+/usr/local/lib/python2.7/test/test_array.pyRłs t UnicodeTestcBsVeZdZeddƒZeddƒZeddƒZedƒZdZd„Z RS(tus\x01\u263a\x00\ufeffsunicode-escapes\x01\u263a\x00\ufefes\x01\u263a\x01\ufeffRľicCs|jttjdtddƒƒtjdtddƒƒ}|jtddƒƒ|jtddƒƒ|jtddƒƒ|jtd dƒƒ|jƒ}|j|td dƒƒtd dƒ}tjd|ƒ}|jt|ƒd ƒ|jt|jƒdS( NR1tfootasciiRÉs\xa0\xc2\u1234sunicode-escapet R¨s\x11abc\xff\u1234s \xa0\xc2\u1234 \x11abc\xff\u1234s&\x00="\'a\\b\x80\xff\u0000\u0001\u1234s1array('u', u'\x00="\'a\\b\x80\xff\x00\x01\u1234')(RRR RĹRÄRĆRRX(R R$RŸ((s+/usr/local/lib/python2.7/test/test_array.pyt test_unicodeNs "  ( RRR RĹR&R_R`R‚R#RÍ(((s+/usr/local/lib/python2.7/test/test_array.pyRČFs t NumberTestcBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(c Cstj|jtdƒƒ}|j|ddd…|ƒ|j|ddd…tj|jdddgƒƒ|j|ddd…tj|jddgƒƒ|j|ddd…tj|jdddddgƒƒ|j|ddd…tj|jdddgƒƒ|j|ddd…tj|jddgƒƒ|j|d d d…|ƒ|j|d d d…|ddd…ƒ|j|d d d …tj|jdddgƒƒ|j|ddd…tj|jgƒƒ|j|ddd…tj|jgƒƒdS(Niiiiiii˙˙˙˙iţ˙˙˙iœ˙˙˙idl˙˙˙˙dldličiĐiü˙˙i0ř˙˙(R R R8RR(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_extsliceis52;52*5,c Cstj|jtdƒƒ}|ddd…=|j|tj|jddgƒƒtj|jtdƒƒ}|ddd…=|j|tj|jdddgƒƒtj|jtdƒƒ}|ddd…=|j|tj|jddddgƒƒtj|jtdƒƒ}|ddd …=|j|tj|jdddddd d d d g ƒƒtj|jtdƒƒ}|d dd…=dS(Niiiiiiiţ˙˙˙i ičiiii iMl(R R R8R(R R$((s+/usr/local/lib/python2.7/test/test_array.pyt test_delslicews%(+:cCsÖtj|jtdƒƒ}tj|jdgdƒ|ddd…<|j|tj|jddddddddddg ƒƒtj|jtdƒƒ}tj|jdgdƒ|ddd …<|j|tj|jd dddd dd dd dg ƒƒtj|jtd ƒƒ}||ddd…<|j|tj|jdddd gƒƒtj|jtdƒƒ}|}|}tj|jtdƒƒ}||dd+||tddƒ<||ddd… maxsize created - MemoryError expectedgËII‹ ż@gńÔČSű! @i(RŁRúR t MemoryErrortfail(R RúR$R1((s+/usr/local/lib/python2.7/test/test_array.pyttest_alloc_overflow4s   (RRR R#Rý(((s+/usr/local/lib/python2.7/test/test_array.pyRř0scCs—ddl}tjtŒ|r“t|dƒr“ddl}dgd}xAtt|ƒƒD]-}tjtŒ|j ƒ|j ƒ||sb    ˙˙ů$  ]