Current File : //proc/self/root/proc/self/root/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyc
�
E�`Qc@sMdZdZdZdZddlZddlZddlmZddlm	Z
mZddl
mZmZddlZdd	lTddljZdd
lmZmZddlZddlmZddlmZmZmZmZm	Z	mZd
efd��YZdefd��YZdefd��YZ e!dkrIe"�ndS(s]Tests suite for mrecords.

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
s5Pierre GF Gerard-Marchant ($Author: jarrod.millman $)s$Revision: 3473 $s5$Date: 2007-10-29 17:18:13 +0200 (Mon, 29 Oct 2007) $i����N(trecarray(tfromrecordst
fromarrays(tasbytestasbytes_nested(t*(tmaskedtnomask(tWarningManager(t
MaskedRecordst	mrecarrayRtfromtextfileRtaddfieldtTestMRecordscBs�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�ZRS(s!Base test class for MaskedArrays.cOs!tj|||�|j�dS(N(tTestCaset__init__tsetup(tselftargstkwds((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR"scCs�dddddg}dddd	d
g}tddd
ddg�}dtfdtfdg}dddddg}tjtt|||��d|d|�|_dS(s
Generic setupiiiiig�������?g������@gffffff
@g������@g@tonettwotthreetfourtfivetatbtcs|S8itmasktdtypeN(Rs|S8(Rtinttfloattmatarraytlisttziptbase(RtilisttflisttslisttddtypeR((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR&scCs�|j}|jt�}t|j|j�t|j|j�tt|j	t
��t|j	|j	jt
��x#dD]}t||||�qwWt|jt�|�dS(sTest creation by viewRRRN(RRR(R$tviewR
tassert_equalt
recordmasktassert_equal_recordst_masktassert_t
isinstancet_dataR(RR$tmbasetfield((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_byview0s	
cCsg|jj�}|jt�}x=dD]5}tt||�||�t||||�q%W|d}tt|t��t|j|j�t|j	�ddt
d�f�t|jt�t|j
j�tttf�t|d|dd�|d}tt|t��t|j|j�t|j	�d
�t|jt�t|j
j�tttf�t|d|dd�t|dtk�|d	 }tt|t��t|j|j�t|jddg�t|jtjtttftttfgd
|j
j��t||d	 jt��x,dD]$}tt||�|d	 |�q;WdS(sTests fields retrievalRRRiig�������?Ri����iRN(RRR(NNN(RRR(R$tcopyR)R
R*tgetattrR.R/RttolistRR+RR-titemtFalsetNonetTrueRR,RtnpR!(RR$R1R2tmbase_firstt
mbase_lasttmbase_sl((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_get<s<

"

	$
c
CsG|jj�}|jt�}|j�}d|_d|jj(t|djdddddg�t|djdddddg�d|_t|djdgd�tt	j
|d�dgd�t|jtgd�t|jj
�tjdddddgdt��t|_t|jjdgd�t|jjdgd�tt	j
|d	�dgd�tt	j|d	�td�gd�t|jj
�tjddddd gdt��|jt�j�}d|jd
)t|jddd
ddg�t|jjdddddg�t|jd
)t|j|d�t|jjdddddg�d!dtfg}t	jd"d#d$gd|�}|jt�}t	jdddgddddg�}t�}|j�zGtjd�||d<t|j|�t|jjdddg�Wd|j�XdS(%sTests setting fields.i?Bg@��x�DsN/AiRiiRRiiRtalphas|S1tnumi
iiRtignoreN(i?Bg@��x�DsN/A(iii(iii(iii(iii(iii(iii(iii(iii(iii(iii(R@s|S1(Ri(Ri(Ri(R$R4R)R
t
fill_valueRR0R*R-R tgetmaskarrayR+R8R6R;R!tboolRRRtgetdataRRRR	Rt	__enter__twarningstsimplefilterRAt__exit__(RR$R1tndtypetdatatrdatatvaltwarn_ctx((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_set_fieldscsR	
##	!
	!'

"
"'	


 cCs�|jj�}|jt�}t|dd<t|jdddddg�t|jjdddddg�tt	j
d�t	jjd�gd	dt
fd
tfg�}t|dd<t|jdddddg�t|jjdddddg�dS(s"Tests setting the mask of a field.Ri����iiiiiiRRN(R$R4R)R
RR*RR-RR;tarangetrandomtrandRR(RR$R1((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_set_fields_mask�s"$cCs|jj�}|jt�}t|_ttj|d�dgd�t|dj	|dj	�t|dj	|dj	�t|j	j
�tjdgddt
��t|_ttj|d�dgd�t|j	j
�tjd	gddt
��dS(
NRiiRRRi(iii(iii(R$R4R)R
RRR*R RDR-R6R;R!RER(RR$R1((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyt
test_set_mask�s	!	!cCs|jj�}|jt�}dddddg|_t|jjdddddg�t|jjdddddg�t|jjdddddg�dddddg|_t|jjdddddg�t|jjdddddg�t|jjdddddg�dS(Nii(	R$R4R)R
RR*RRR(RR$R1((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_set_mask_fromarray�s"""""cCsB|jj�jt�}tjddd	d
dgddtfdtfdtfg�}||_t|j	jdddddg�t|j
jdddddg�t|jjdddddg�t|_||_
t|j	jdddddg�t|j
jdddddg�t|jjdddddg�dS(NiiRRRR(iii(iii(iii(iii(iii(R$R4R)R
R;R!RERR*RRRR8t	fieldmask(RR1tnmask((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_set_mask_fromfields�s$	"""		""c
Csg|jj�}|jt�j�}t|d<t|jj�tj	dddddgdt
��t|jdddddg�|jt�j�}d|d*t|jj
dddddg�t|jjdddddg�t|jj
d	d	d
ddg�t|jjdddddg�t|jj
td
d
dddg��t|jjdddddg�|jt�j�}t|d*t|jj
dddddg�t|jjdddddg�t|jj
ddd
ddg�t|jjdddddg�t|jj
tdddddg��t|jjdddddg�dS(Ni����iiRiiiig@gffffff
@g������@g@t5RRRg�������?g������@RR(iii(iii(iii(iii(iii(iii(R$R4R)R
RR*R-R6R;R!RER+RR0RRR(RR$R1((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_set_elements�s2


"""""
""""cCsa|jj�}|jt�}|j�y�d|d)t|jjdddddg�t|jjddddd	g�t|j	jt
d
ddd
dg��t|jjdddddg�t|jj|jj�t|jj|j	j�Wn$tk
r	n t
k
r�n
Xtd��yd|d)Wnttfk
rPn
Xtd��dS(s!Tests setting slices w/ hardmask.ii����iiig�������?g������@gffffff
@g@RRRRZRis)Flexible hard masks should be supported !s.Should have expected a readable buffer object!N(iii(R$R4R)R
tharden_maskR*RR0RRRR-tNotImplementedErrortAssertionErrort	Exceptiont	TypeError(RR$R1((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_setslices_hardmask�s,

"""

cCs�|jj�}|jt�}|j�|j|j�t|_t	|j
|j
�|j�|j|j�t|_t	|j
tj
|j|j��|jtj|dj
�tk�t|dj
|dj
�dS(s
Test hardmaskRRN(R$R4R)R
R\t
assertTruet	_hardmaskRRR,R-tsoften_maskR tmake_mask_nonetshapeRt	make_maskR*(RR$R1((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyt
test_hardmasks
	
		#cCs�ddl}|jj�}|jt�}|j|�}|j|�}t|j|j�t	|j
|j
�t|j|j�t	|j|j�dS(s
Test picklingi����N(tcPickleR$R4R)R
tdumpstloadsR*RR,R0R-(RRiR$tmrect_tmrec_((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyt
test_pickling#scCs3tjdddgddddgdt�}tjddd	gddddgdt�}tjd
ddgddddgdd
�}dtfdtfdg}t|||gd|dd�}|j�}t|dtjddt��t|dtjddt��t|dtjddd
��dS(sTest filling the arrayiiiRiRg�������?g������@gffffff
@RRRs|S8RRRRCi��g�i�@sN/AN(Rs|S8(i��g�i�@sN/A(iii��(g�������?g������@g�i�@(sonestwosN/A(R R!RRRtfilledR*R;(Rt_at_bt_cR(Rlt
mrecfilled((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_filled/s---	  cCstjdddgddddgdt�}tjddd	gddddgdt�}tjd
ddgddddgdd
�}dtfdtfdg}t|||gd|dd�}t|j�dddtd�fddtd�fg�dS(sTest tolist.iiiRiRg�������?g������@gffffff
@RRRs|S8RRRRCi��g�i�@sN/AN(Rs|S8(i��g�i�@sN/A(ig�������?N(	R R!RRRR*R6R9R(RRqRrRsR(Rl((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_tolist<s---	cCs?tddtdd�}d|dd<t|ddd�dS(s%Test the creation w/ format and namesitformatstnamesR$i
iN(R
RR*(Rtx((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_withnamesKscCstdddtfddtfg�}t|d<t|jd�j�dtd�d	f�tddd
ddfg�}t|d<t|jd�j�tj	dd|j
�j��tddd
�}t|d<d|d<|jd�t|jd�tj	ddgd|j
��dS(s1Test that 'exotic' formats are processed properlyiRtitss|S8tfit1g�?tf0s<f8isi4, (2,3)float, floatN(R|s|S8(ii(i(iii(iii(iii(R
RRRR*RpR7RR;R!RR,(Rteasytsolotmult((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_exotic_formatsQs'
+



(t__name__t
__module__t__doc__RRR3R?RPRTRURVRYR[RaRhRoRuRvRzR�(((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR
 s$		
		'	5									
		tTestViewcBs,eZd�Zd�Zd�Zd�ZRS(cCs�tjd�tjjd�}}dtjfdtjfg}tjt||�d|�}|jtj�}t	jt||�d|dd	�}t
||gd|dd
�}ttf|j
d<||||f|_dS(Ni
RRRRCg"�g�X�i(g"�g�X�(g"�g�X�(R;RQRRRSRR!R#R)RR RR8R:RRL(RRRRKtarrtrectmarrRl((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pytsetUpfs"$cCs[|j\}}}}|j�}|jt|t��t||�t|j|j�dS(N(RLR)RbR/R	R,R-(RRlRRR�ttest((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_view_by_itselfqs

cCs�|j\}}}}tjdf}|j|�}|jt|tj��t|tj	t
||�dtj��|j|dtjk�dS(NiRii(ii(RLR;RR)RbR/R tMaskedArrayR*R!R#R(RRlRRR�tntypeR�((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_view_simple_dtypexs(cCs�|j\}}}}dtjfdtjfg}|j|�}|jt|t��t||j|��|j|ddtk�t	|j
tj
|��|j|jdk�dS(NtAtBi(
RLR;RR)RbR/R	R,RR*Rt_fill_valueR9(RRlRRR�talttypeR�((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_view_flexible_type�s(R�R�R�R�R�R�(((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR�ds			tTestMRecordsImportcBsMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(s!Base test class for MaskedArrays.cOs!tj|||�|j�dS(N(RRR(RRR((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR�sc	Cs'tjdddgddddgdt�}tjddd	gddddgdt�}tjtttd
ddg��ddddgdd
�}dtfdtfdg}t|||gd|dtd�td�td�f�}t|j	|j	|j	fd|�}|||f|_
dS(s
Generic setupiiiRiRg�������?g������@gffffff
@RRRs|S8RRRRCt99999s99999.sN/AN(Rs|S8(R R!RRR"tmapRRt
recfromarraysR0RL(RRqRrRsR(Rltnrec((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR�s--$$c
Cs)tjdddgddddgdt�}tjddd	gddddgdt�}tjd
ddgddddgdd
�}|j\}}}xBtd|||f�D](\}}tt||�j|j�q�Wtjddd
gddddg�}	t	t
|	d|j�|d�dS(NiiiRiRg�������?g������@gffffff
@RRRs|S8RRR(RRR(R R!RRRLR#R*R5R-R,RR(
RRqRrRsRlR�RmR}tlt_x((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_fromarrays�s---% 'cCsu|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
fdtfdg�x?tdd�D].\}	}
tt||	�t|j|
��q�Wt|�}t|j|j�t|j|j
��t|j|j�dS(sTest construction from records.itabcg���
@iitxyg���@t g����?Rxsc1, c2, c3, c4sc1,c2,c3tc1tc2tc3s|S5RRRN(isabcg���
@i(iR�g���@i(iR�g����?i(R�s|S5(R�R�R�(RRR(RLtrecfromrecordsRR,R*RRxR5R0R6RRR#RpR-(RRlR�R(tpalisttpatmpat_mrecR2R}tn((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_fromrecords�s&	
&%&cCsk|j\}}}t|j�d|ddddg�}t|j|j�t|jj�dddg�t|j�d|dt�}t|j|j�t|jj�d	d
dg�t|j�d|d|j�}t|j|j�t|jj�|jj��t|j�d|d|jj��}t|j|j�t|jj�|jj��dS(s(Tests construction from records w/ mask.RRiiN(iii(iii(iii(iii(iii(iii(RLRR6R,R0R*R-R:(RRlR�R(R�((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_fromrecords_wmask�s'!cCs�td�}ddl}ddl}|j�\}}|j||�|j|�t|dddd�}|j|�|jt	|t
��t|jddddg�t|j
jddddg�t|jdd	d
dg�dS(sTests reading from a text file.s�#
'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
i����Nt	delimitort,tvarnamestABCDEFGiig�OAg�����|۽(RtosttempfiletmkstemptwritetcloseRtremoveRbR/R	R*tFtER-tC(RtfcontentR�R�ttmp_fdttmp_fltmrectxt((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyttest_fromtextfile�s	

cCsv|j\}}}dddgdddg}}t|tj|d|��}t|j|�t|jj|�dS(sTests addfieldidi�i,iiRN(RLRR R!R*tf3R-(RRlR�R(tdtm((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyt
test_addfield�s
(
R�R�R�RRR�R�R�R�R�(((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyR��s		
	
			t__main__(#R�t
__author__t__revision__t__date__tsystnumpyR;Rtnumpy.core.recordsRR�RR�tnumpy.compatRRtnumpy.ma.testutilstnumpy.maR RRRHtnumpy.testing.utilsRtnumpy.ma.mrecordsR	R
RRRR
R�R�R�trun_module_suite(((sB/usr/lib64/python2.7/site-packages/numpy/ma/tests/test_mrecords.pyt<module>s*
.�E(o