ó 2ÄÈ[c@`s:dZddlmZmZmZddlZddlZddlZddl j Z ddlm Z ddl m Z m Z ddlmZddlmZmZddlmZmZmZmZmZmZdd lmZmZmZd efd „ƒYZd efd „ƒYZ defd„ƒYZ!d„Z"dS(s^Tests suite for mrecords. :author: Pierre Gerard-Marchant :contact: pierregm_at_uga_dot_edu i(tdivisiontabsolute_importtprint_functionN(trecarray(tmaskedtnomask(ttemppath(t fromrecordst fromarrays(t MaskedRecordst mrecarrayRt fromtextfileRtaddfield(tassert_t assert_equaltassert_equal_recordst TestMRecordscB`s+eZdddddgZddddd gZd d d d dgZdefdefd%gZdddddgZe j e e eeeƒƒdedeƒZ d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Zd!„Zd"„Zd#„Zd$„ZRS(&iiiiigš™™™™™ñ?gš™™™™™@gffffff @gš™™™™™@g@tonettwotthreetfourtfivetatbtcs|S8itmasktdtypecC`s°|j}|jtƒ}t|j|jƒt|j|jƒtt|j t ƒƒt|j |j jt ƒƒx#dD]}t||||ƒqwWt|jtƒ|ƒdS(NRRR(RRR( tbasetviewR Rt recordmaskRt_maskR t isinstancet_dataR(tselfRtmbasetfield((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyt test_byview(s  cC`sX|jjƒ}|jtƒ}x=d D]5}tt||ƒ||ƒt||||ƒq%W|d}tt|tƒƒt|j|jƒt|j ƒd ƒt|j t ƒt|j j ƒtttfƒt|d|ddƒ|d}tt|tƒƒt|j|jƒt|j ƒd ƒt|j tƒt|j j ƒtttfƒt|d|ddƒt|dtkƒ|d }tt|tƒƒt|j|jƒt|j ddgƒt|jtjtttftttfgd |j jƒƒt||d jtƒƒx,dD]$}tt||ƒ|d |ƒq,WdS(NRRRiigš™™™™™ñ?RiÿÿÿÿiR(RRR(igš™™™™™ñ?R(NNN(RRR(RtcopyRR RtgetattrR RRttolistRRRtitemtFalsetNonetTrueRRRtnptarray(R!RR"R#t mbase_firstt mbase_lasttmbase_sl((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_get4s>      c C`s|jjƒ}|jtƒ}|jƒ}d|_d|jj(t|djdddddgƒt|djdddddgƒd|_t|djdgdƒtt j |dƒdgdƒt|j t gdƒt|jj ƒtjdddddgdtƒƒt|_t|jjdgdƒt|jj dgdƒtt j |d ƒdgdƒtt j|d ƒdgdƒt|jj ƒtjdddddgdtƒƒ|jtƒjƒ}d|jd )t|jdd d ddgƒt|jjdddddgƒt|jd )t|j|d ƒt|jjdddddgƒddtfg}t jd d!d"gd|ƒ}|jtƒ}t jdddgddddgƒ}||dRCRDRERHRJRPRVR]RdReRiRr(((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyRs*- ( 7        tTestViewcB`s,eZd„Zd„Zd„Zd„ZRS(cC`s¨tjdƒtjjdƒ}}dtfdtfg}tjtt||ƒƒd|ƒ}t||gd|dd ƒ}t t f|j d<||||f|_ dS( Ni RRRR4g"ÀgÀXÀi(g"ÀgÀXÀ( R,R?R@RARBR-RxRyRR)R+RR;(R!RRR:tarrRZ((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pytsetupbs "$cC`sX|j\}}}}|jƒ}tt|tƒƒt||ƒt|j|jƒdS(N(R;RR RR RR(R!RZRRR{ttest((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_view_by_itselfks   cC`sŒ|j\}}}}tdf}|j|ƒ}tt|tjƒƒt|tj t t ||ƒƒdtƒƒt|dtj kƒdS(NiRii(ii( R;RBRR RR5t MaskedArrayRR,R-RxRyR(R!RZRRR{tntypeR}((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_view_simple_dtypers  +cC`s­|j\}}}}dtfdtfg}|j|ƒ}tt|tƒƒt||j|ƒƒt|ddtkƒt|j t j |ƒƒt|j dkƒdS(NtAtBi( R;RBRR RR RRRRR,t _fill_valueR*(R!RZRRR{talttypeR}((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_view_flexible_typezs(RsRtR|R~RR†(((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyRz`s  tTestMRecordsImportcB`s+eZejdddgddddgdeƒZejdddgddddgdeƒZejd d d gddddgdd ƒZd efdefdgZ e eeegde ddƒZ e ej ej ej fde ƒZe ee fZd„Zd„Zd„Zd„Zd„ZRS(iiiRiRgš™™™™™ñ?gš™™™™™@gffffff @RRRs|S8RRRR4t99999s99999.sN/Ac C`s)tjdddgddddgdtƒ}tjddd gddddgdtƒ}tjd d d gddddgdd ƒ}|j\}}}xBtd|||fƒD](\}}tt||ƒj|jƒq²Wtjddd gddddgƒ} t t | d|j ƒ|dƒdS(NiiiRiRgš™™™™™ñ?gš™™™™™@gffffff @RRRs|S8RRR(RRR( R5R-R9RBR;RyRR&RRRR( R!R_R`RaRZtnrecR[Rltlt_x((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_fromarrays“s---% 'c C`su|j\}}}dddg}t|d d ƒ}t|d d ƒ}t||ƒt|ƒ}t|j|jƒx6|jjD](}tt||ƒt|j|ƒƒq~Wt|j ƒd d ƒ}t|jd t fdt fdgƒx?t ddƒD].\} } tt|| ƒt|j| ƒƒq÷Wt|ƒ}t|j|jƒt|j|j ƒƒt|j|jƒdS(NitabcgÀ™™ @iitxygÀÌÌ@t g ™™Ù?Rgsc1, c2, c3, c4sc1,c2,c3tc1tc2tc3s|S5RRR(iRgÀ™™ @i(iRŽgÀÌÌ@i(iRg ™™Ù?i(R’s|S5(RR‘R’(RRR(R;trecfromrecordsRRRRRgR&R R'R9RBRyR^R( R!RZR‰Rbtpalisttpatmpat_mrecR#Rltn((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_fromrecordsžs&   &%& cC`sk|j\}}}t|jƒd|ddddgƒ}t|j|jƒt|jjƒdddgƒt|jƒd|dtƒ}t|j|jƒt|jjƒdd d gƒt|jƒd|d|jƒ}t|j|jƒt|jjƒ|jjƒƒt|jƒd|d|jjƒƒ}t|j|jƒt|jjƒ|jjƒƒdS( NRRii(iii(iii(iii(iii(iii(iii(R;RR'RR RRR+(R!RZR‰RbR—((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_fromrecords_wmask¸s'!c C`sÃd}tƒD}t|dƒ}|j|ƒWdQXt|ddddƒ}WdQXtt|tƒƒt|jddddgƒt|j j ddddgƒt|j ddd d gƒdS( Ns¿# 'One (S)','Two (I)','Three (F)','Four (M)','Five (-)','Six (C)' 'strings',1,1.0,'mixed column',,1 'with embedded "double quotes"',2,2.0,1.0,,1 'strings',3,3.0E5,3,,1 'strings',4,-1e-10,,,1 twt delimitort,tvarnamestABCDEFGiig€OAg»½×Ùß|Û½( RtopentwriteR R RR RtFtERtC(R!tfcontenttpathRltmrectxt((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyttest_fromtextfileÍs  cC`sv|j\}}}dddgdddg}}t|tj|d|ƒƒ}t|j|ƒt|jj|ƒdS(NidiÈi,iiR(R;R R5R-Rtf3R(R!RZR‰Rbtdtm((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyt test_addfieldàs (Rs|S8(Rˆs99999.sN/A(RsRtR5R-R9R_RBR`RaRbRRZt recfromarraysR R‰R;RŒR™RšR¨R¬(((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyR‡†s-- $   cC`sEtjd d gdd d gddtfd tfgƒ}|ddS(Nit2it4RiRRR(iR®(iR¯(ii(ii(R5t masked_arrayR9tobject(ty((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyt#test_record_array_with_object_fieldés   (#t__doc__t __future__RRRtwarningsRWtnumpyR,tnumpy.maR5RRRt numpy.testingRtnumpy.core.recordsRR“RR­tnumpy.ma.mrecordsR R R R tnumpy.ma.testutilsR RRR±RRzR‡R³(((s;/tmp/pip-build-fiC0ax/numpy/numpy/ma/tests/test_mrecords.pyts    .ÿB&c