B <ÓFd¸ùã@sdZddlmZmZmZddlZddlZddlZddl m Z m Z m Z m Z mZddlmZmZmZmZddlmZmZmZmZmZmZmZmZmZmZmZddl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?ddl m@mAZBGdd „d e ƒZCGd d „d e ƒZDGd d „d e ƒZEGdd„de ƒZFGdd„de ƒZGGdd„de ƒZHGdd„de ƒZIGdd„de ƒZJGdd„de ƒZKGdd„de ƒZLGdd„de ƒZMGdd„de ƒZNGd d!„d!e ƒZOePd"kre ƒdS)#zæTests suite for MaskedArray. Adapted from the original test_ma by Pierre Gerard-Marchant :author: Pierre Gerard-Marchant :contact: pierregm_at_uga_dot_edu :version: $Id: test_extras.py 3473 2007-10-29 15:18:13Z jarrod.millman $ é)ÚdivisionÚabsolute_importÚprint_functionN)ÚTestCaseÚrun_module_suiteÚ assert_warnsÚsuppress_warningsÚ assert_raises)Úassert_Úassert_array_equalÚ assert_equalÚassert_almost_equal) ÚarrayÚarangeÚmaskedÚ MaskedArrayÚ masked_arrayÚ getmaskarrayÚshapeÚnomaskÚonesÚzerosÚcount)Ú atleast_1dÚ atleast_2dÚ atleast_3dÚmr_ÚdotÚpolyfitÚcovÚcorrcoefÚmedianÚaverageÚuniqueÚsetxor1dÚ setdiff1dÚunion1dÚ intersect1dÚin1dÚediff1dÚapply_over_axesÚapply_along_axisÚ compress_ndÚcompress_rowcolsÚ mask_rowcolsÚ clump_maskedÚclump_unmaskedÚflatnotmasked_contiguousÚnotmasked_contiguousÚnotmasked_edgesÚ masked_allÚmasked_all_likeÚisinÚdiagflatc@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)Ú TestGenericcCsJtdtd}tddgddgtd}t||ƒt ddgddgdœ¡}td|d}td d gd d g|d}t||ƒtd |d}td d gd d ggd d gd d gg|d}t||ƒt d dd dgfg¡}td|d}tddgddg|d}t||ƒtd|d}tddgddg|d}t||ƒtd |d}tdggdgg|d}t||ƒdS)N)é)Údtypeé)Úmaskr:ÚaÚbÚf)ÚnamesÚformats)rr)r;r;)r9r9)r=r?)Úbar?)Úbbr?)r;)r;r;)r4Úfloatrr Únpr:)ÚselfÚtestÚcontrolÚdt©rJúM/opt/alt/python37/lib64/python3.7/site-packages/numpy/ma/tests/test_extras.pyÚtest_masked_all(s0           zTestGeneric.test_masked_allcCsÐtddgtd}t|ƒ}tddgddgtd}t||ƒt ddgddgdœ¡}td d gd d g|d}t|ƒ}td d gd d g|d}t||ƒt d dd dgfg¡}tddgddg|d}t|ƒ}t||ƒdS)Nr;r9)r:)r<r:r=r>r?)r@rA)rr)r;r;)é rM)r=r?)rBr?)rCr?)r;)r;r;)rrDr5r rEr:)rFÚbaserGrHrIrJrJrKÚtest_masked_all_likeFs  z TestGeneric.test_masked_all_likec CsÊxÄtddƒD]¶}x°td|ƒD] }tj|td}tj||td}td|ƒ}|d|@dk|_d}x"||ƒD]}||j| ¡7}qlW|t kr¢t |  ¡ ¡|ƒq|j|_t |  ¡ ¡|ƒqWq WdS)Nr;ér9)r:r) ÚrangerErÚintÚfullrr<ÚdataÚsumr0r Ú compressed) rFr?ÚiÚjÚkZjar=ÚsZslrJrJrKÚ check_clumpZs  zTestGeneric.check_clumpcCs^tt d¡ƒ}t|ddddddg<t|ƒ}tddƒtdd ƒtddƒg}t||ƒ| t¡dS) NrMrr;r9ééé érP)rrErrr/Úslicer r[)rFr=rGrHrJrJrKÚtest_clump_maskedjs  zTestGeneric.test_clump_maskedcCsVtt d¡ƒ}t|ddddddg<t|ƒ}tddƒtd dƒg}t||ƒ| t¡dS) NrMrr;r9r\r]r^r_rP)rrErrr0r`r r[)rFr=rGrHrJrJrKÚtest_clump_unmaskedus  zTestGeneric.test_clump_unmaskedcCs‚tdƒ}t|ƒ}t|td|jƒƒt||dk|dkB|dkB<t|ƒ}t|tddƒtddƒgƒt|dd…<t|ƒ}t|dƒdS)NrMrr_r]ér\r^)rr1r r`Úsizer)rFr=rGrJrJrKÚtest_flatnotmasked_contiguouss z)TestGeneric.test_flatnotmasked_contiguousN) Ú__name__Ú __module__Ú __qualname__rLrOr[rarbrerJrJrJrKr8&s   r8c@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú TestAveragecCs>tddddgddddgd}tdt|dd ƒtdt|ddddgd ƒt|ddddgd d \}}td|ƒ| |d k¡t|dd…<tt|dd jdgƒtddddgddddgd}| dd¡}t|dd…d f<tt|dd ddgƒtt|d d jddgƒtddgt|dd ƒt|dd d\}}t|ddgƒdS)Nggð?g@g@TF)r<r)Úaxis)Úweightsr;)rkÚreturnedg@r9)rjrl)rr r"Ú assertTruerr<Úreshape)rFZottÚresultÚwtsrJrJrKÚtest_testAverage1‘s    zTestAverage.test_testAverage1c Cs’ddddddg}ddddddgddddddgg}tdtjd}tt|dddƒtt|d|ddƒttdtjddtdƒgƒ}tt|dƒtj t d¡¡d d ƒtt|ddt d¡d dƒtt|ddt|ddt|dddgƒtt|d|d d ƒtt|d|dd ddd ddgƒtt|ddt|ddt|dddgƒtdƒ}ddddddg}ddddddgddddddgg}t dƒ}ddddddg} ttt ||ƒdddƒttt ||ƒdddƒttt ||ƒddj dgƒttt || ƒddd ƒtt tt ||ƒddƒdƒt ||ƒ} tt| dƒd ƒtt| ddd dddddgƒtt| ddddgƒtt| d|dd dddddgƒdS)Nrr;r\)r:)rjg@)rjrkg@g@g(@)rkg«ªªªªª @ggð?g@g$@TgÀX@g@g@) rrEZfloat_r r"rÚaddÚreducerrrr<r) rFÚw1Úw2ÚxÚyZm1Zm2Zm3Zm4Zm5ÚzrJrJrKÚtest_testAverage2¤s> &     zTestAverage.test_testAverage2c Csftdƒ}tdƒd}t||g||ggddd\}}tt|ƒt|ƒƒt|j|jƒttdƒdddgdd\}}tt|ƒt|ƒƒttdƒdd\}}tt|ƒt|ƒƒttdƒtdƒdd \}}tt|ƒt|ƒƒtdd gdd ggtƒ}t|d d gd d ggƒ}t|dd} t| ddgƒt|dd} t| ddgƒt|dd} t| dƒt|dd} t| ddgƒdS)Nr\r_r;)rjrl)r9r9r_r)rjrkrl)rl)rkrlr9éFT)rjgà?g@gð?g«ªªªªª@gø?g@)rr"r rrrrDr) rFr=r>Zr1rtZr2ruZa2dZa2dmZa2daZa2dmarJrJrKÚtest_testAverage3Æs*      zTestAverage.test_testAverage3cCsHttddgƒƒ}t|dƒttddddgddddgdƒ}t|dƒdS) Nr;r9gø?r_rzFT)r<)r"rr )rFr=rJrJrKÚtest_onintegers_with_maskÞs  z%TestAverage.test_onintegers_with_maskc Cstjdddddgdddddggtd}tdddddgdd d d d gg|d }t|ƒ}t | ¡¡}t|j|jƒt|j|jƒt|dd}t|jddt|jddd }t|j|jƒt|j|jƒt|dd}t|jddt|jddd }t|j|jƒt|j|jƒt dddddgdddddgg¡} t|| d} tj| ¡| |d}t| j|jƒt| j|jƒt|| dd} t|j| ddt|j| ddd }t| j|jƒt| j|jƒt|| dd} t|j| ddt|j| ddd }t| j|jƒt| j|jƒdS)Nrr;)r:yð?@y@@y@@y@ @y"@yð?y@@y@@y@@)r<)rjgà?gð?g@)rk)rkrj) rErÚboolrr"rVr ÚrealÚimag) rFr<r=ÚavÚexpectedZav0Z expected0Zav1Z expected1rpZwavZwav0Zwav1rJrJrKÚ test_complexåsB     zTestAverage.test_complexN)rfrgrhrqryr{r|r‚rJrJrJrKris "ric@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚTestConcatenatorcCsžttdtddddddgƒƒtdƒ}dddddg}t||d }t|dd|f}| t|tƒ¡t|ddddddddddddg ƒt|jt|dd|fƒdS) N)r;r9r_rzrcr\r;r9r_rzrcr\r)r<) r rrrrrmÚ isinstancerr<)rFr>ÚmÚdÚcrJrJrKÚtest_1ds "zTestConcatenator.test_1dcCs4tj dd¡}tj dd¡}t tj dd¡d¡}t tj dd¡d¡}t||d}t||d}td||f}| |jdk¡t|dd…dd…f|ƒt|dd…dd…f|ƒt|j tj d||fƒt||f}| |jdk¡t|dd…dd…f|ƒt|dd…dd…f|ƒt|j tj ||fƒdS)Nrcr)r<Ú1)rcrM)rMrc) rEÚrandomÚrandZround_rrrmrr r<Úr_)rFZa_1Za_2Zm_1Zm_2Zb_1Zb_2r†rJrJrKÚtest_2d s    zTestConcatenator.test_2dcCsttjjdd„ƒdS)NcSstdS)Nz 1, 2; 3, 4)rrJrJrJrKÚ5óz6TestConcatenator.test_matrix_builder..)r rEÚmaZMAError)rFrJrJrKÚtest_matrix_builder4sz$TestConcatenator.test_matrix_buildercCsPtd}tj tjd¡}t||ƒtt|ƒt|ƒƒtt|jƒt|jƒƒdS)N)Úrr;r9r_) rrErrrŒr r ÚtyperT)rFÚactualrrJrJrKÚ test_matrix7s  zTestConcatenator.test_matrixN)rfrgrhrˆrr‘r•rJrJrJrKrƒs rƒc@seZdZdd„Zdd„ZdS)Ú TestNotMaskedc Cs¬tt d¡ dd¡dddddgdddddgdddddgdddddgdddddggd}t|dƒ}t|ddgƒt|dƒ}t|dddgƒt|dd dgƒt|dƒ}t|ddd gƒt|ddd gƒt|jdƒ}t|ddgƒt|jdƒ}t|dd dgƒt|dd dgƒt|jdƒ}t|ddd gƒt|ddd gƒt|d<t|dƒ}t|dddgƒt|dddgƒt|dƒ}t|dddgƒt|dddgƒdS)Nércrr;)r<é)rrr;rr)rr;r9r_rz)r_r_r_rzrz)rrr9rr_)rzr9rzrzrz)rrrrr)rzrzrzrzrzéÿÿÿÿéþÿÿÿ)r;r;r9rzrz)rr;r9rz)rrr9r_)rzr9rzrz)rrErrnr3r rTr)rFrTrGrJrJrKÚ test_edgesDs:            zTestNotMasked.test_edgesc Csdtt d¡ dd¡ddddddddgddddddddgddddddddggd}t|dƒ}t|dtdddƒƒt|d td d dƒƒt|d tdd dƒƒt|dƒ}| t|dƒdk¡| |d dk¡t|d |dƒ| t|dƒdk¡t|dƒ}t|ddtdd dƒƒ| |ddk¡t|ddtdddƒƒt|dd tdddƒƒdS)Nr˜r_r]rr;)r<r™éršéééýÿÿÿrzr9rPr\) rrErrnr2r r`rmÚlen)rFr=ZtmprJrJrKÚtest_contiguousfs$   zTestNotMasked.test_contiguousN)rfrgrhr›r¡rJrJrJrKr–As"r–c@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚTestCompressFunctionsc Cs>t ttdƒƒ¡ ddd¡}t d¡ t¡}d|d<t||d}t|ƒ}t |d d ddgd d d dgddddggddddgddddgddddgggƒt|d ƒ}t |d dd ddgdd d!d"d#gd d$d d dgdd%dddggdd&dddgd'd(d)d*d+gdd,dddgdd-dddgggƒt|dƒ}t |d dd ddgd d$d d dgdd%dddggd.d/d0d1d2gd3d4d5d6d7gd8d9d:d;dƒ}t|d?ƒ}t ||ƒt ||ƒt ||ƒt|d ƒ}t |d d ddgdd!d"d#gd d d dgddddggd.d0d1d2gd@dAdBdCgd3d5d6d7gd8d:d;dr‡rJrJrKÚtest_dot$sz $$      $   $  $zTestCompressFunctions.test_dotcCsnt d¡}t|ƒ}ttt||ƒƒtkƒttt||ƒƒtkƒttt||ƒƒtkƒttt||ƒƒtkƒdS)Nr_)rEÚeyerr r“rr)rFr=r>rJrJrKÚtest_dot_returns_maskedarrayjs  z2TestCompressFunctions.test_dot_returns_maskedarraycCsDtt d¡ƒ}tt d¡ƒ}t|||d}t||kƒt||ƒdS)Nr_)r_r_)Úout)rrErÚrrr r )rFr=rÜZresrJrJrKÚ test_dot_outss  z"TestCompressFunctions.test_dot_outN) rfrgrhrÑrÓrÕrÙrÛrÝrJrJrJrKr¢~s p F r¢c@seZdZdd„Zdd„ZdS)ÚTestApplyAlongAxiscCs@tdƒ ddd¡}dd„}t|d|ƒ}t|ddgdd ggƒdS) Ng(@r9r_cSs|dS)Nr;rJ)r>rJrJrKÚmyfunc€sz*TestApplyAlongAxis.test_3d..myfuncr;rzrPrM)rrnr+r )rFr=rßÚxarJrJrKÚtest_3d}s zTestApplyAlongAxis.test_3dcCsFtdƒ ddd¡}d dd„}t|d|dd}t|dd gd d ggƒdS) Nr¤r9r_rcSs |d|S)Nr;rJ)r>ÚoffsetrJrJrKrߊsz1TestApplyAlongAxis.test_3d_kwargs..myfuncr;)rârcr]r·)r)rrnr+r )rFr=rßràrJrJrKÚtest_3d_kwargs‡s z!TestApplyAlongAxis.test_3d_kwargsN)rfrgrhrárãrJrJrJrKrÞ{s rÞc@seZdZdd„ZdS)ÚTestApplyOverAxescCs’tdƒ ddd¡}ttj|ddgƒ}t dgdgdggg¡}t||ƒt||d tj ¡<ttj|ddgƒ}t d gd gdggg¡}t||ƒdS) Nr˜r9r_rzrr£é\é|rÍr®) rrnr*rErUrr rrÐr})rFr=rGZctrlrJrJrKÚ test_basic“s zTestApplyOverAxes.test_basicN)rfrgrhrçrJrJrJrKrä‘sräc@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-S).Ú TestMediancCs4tjjtjtjgtjtjggdd}t|tjƒdS)Nr™)rj)rErr!Úinfr )rFr’rJrJrKÚ test_pytypeŸs$zTestMedian.test_pytypecCsìtjjtj tjtjgtjtjgg¡dd}t|tjƒtjjtj tjtjgtjtjgg¡dd}t|tjƒtjjtjjtjtjgtjtjggdddd}t|jdƒtjjtjjtjtjgtjtjggdddd}t|jdƒdS)Nr™)rjT)r<)rErr!rrér r<)rFr’rJrJrKÚtest_inf£s   zTestMedian.test_infcCslt d¡}ttj |¡dƒtttj |¡ƒtk ƒtdƒ}ttj |¡dƒtttj |¡ƒtk ƒd}ttj |¡dƒtttj |¡ƒtk ƒt d¡  dd¡}ttjj|dd tj|dd ƒttjj|d d tj|d d ƒttjj|d d tk ƒt d ¡  dd¡}ttjj|dd tj|dd ƒttjj|d d tj|d d ƒttjj|d d tk ƒdS) Nr^g@r]g @rcg@éHr)rjr;gR@) rErr rr!r r“rrQrn)rFrvrJrJrKÚtest_non_maskedµs"     zTestMedian.test_non_maskedcCstt d¡dgddgdd}ttj |¡dƒttj |¡jddƒtttj |¡ƒt k ƒtt d ¡  d d ¡dgd dgdd}ttj |¡d ƒttj |¡jddƒtttj |¡ƒt k ƒtjj|ddd}t|ddgƒt|jddƒtt|ƒt kƒdS)z5test the examples given in the docstring of ma.medianr]rrzr;)r<gø?rJzshape mismatchrMr9rcr\g@r™T)rjÚoverwrite_inputg@g@)r9N) rrErr rr!rr r“rrn)rFrvZma_xrJrJrKÚtest_docstring_examplesÊs"*z"TestMedian.test_docstring_examplesc Csd}xütdƒD]ð}xêdD]â}td||d}t t| |ƒddg¡}xH|D]@\}}ytjj|||dWqHt|||||fƒ‚YqHXqHWt |d |gddg¡}xR|D]J\}}ytjj|||dWntjk ràYq¬Xt|||||fƒ‚q¬WqWqWdS) Nz5mask = %s, ndim = %s, axis = %s, overwrite_input = %src)FTr;)Úndminr<FT)rjrî) rQrÚ itertoolsÚproductrErr!ÚAssertionErrorZ AxisError)rFÚmsgrðr<rvÚargsrjZoverrJrJrKÚtest_axis_argument_errorsÙs" z$TestMedian.test_axis_argument_errorscCsDtddd}ttj |¡dƒtddd}ttj |¡tjjƒdS)Nr;F)r<T)rr rErr!r)rFrvrJrJrKÚtest_masked_0dñs  zTestMedian.test_masked_0dcCsÞtt d¡dd}ttj |¡tjjƒttj |¡jddƒtt tj |¡ƒtjj j kƒtt d¡dd}ttj |¡dƒttj |¡jddƒtt tj |¡ƒt k ƒtt d¡dd dddgd}ttj |¡d ƒttj |¡jddƒtt tj |¡ƒt k ƒtt d¡dd d d d gd}ttj |¡d ƒttj |¡jddƒtt tj |¡ƒt k ƒtt d¡dd d ddgd}ttj |¡d ƒttj |¡jddƒtt tj |¡ƒt k ƒtt d ¡dd d ddgd}ttj |¡d ƒttj |¡jddƒtt tj |¡ƒt k ƒtt d¡dd d d d dgd}ttj |¡d ƒttj |¡jddƒtt tj |¡ƒt k ƒtt d¡dd d d d dgd}ttj |¡d ƒttj |¡jddƒtt tj |¡ƒt k ƒdS)NrcT)r<rJzshape mismatchFg@rr;g@gg@g@r\g@) rrErr rr!rrr r“ZcoreZMaskedConstantr)rFrvrJrJrKÚtest_masked_1døs@zTestMedian.test_masked_1dc CsJttj tdddgdddgd¡jtj tdddgdddgd¡jƒdS)Nr;r9r_r)r<)r rErr!rr)rFrJrJrKÚtest_1d_shape_consistencys"z$TestMedian.test_1d_shape_consistencycCsd\}}tt dd|¡ƒ}t|dd…<|dd…<ttj||ftdƒ}|dd…|dd…df<t t|ƒ¡}x2td|ƒD]$}tj   |¡|||dd…|f<qzWt t |dd…dfƒdƒt t |ƒdƒt t |dd t  |¡ƒt t |jdd t  |¡ƒdS) N)éerÂgð¿gð?rMiöÿÿÿ)r:rr;)rj)rrEZlinspacerÚemptyrDrr rQrŠZshuffler r!rÚT)rFrØÚprvrxÚidxrWrJrJrKr"s zTestMedian.test_2dc Csött d¡ dd¡ƒ}t|dd…<|dd…<tt|ƒdƒtttj  |¡ƒt k ƒtt|ddddd gƒtttj j|ddƒt kƒtt|d dddddd d d dddg ƒtttj j|d dƒt kƒtt|d dj d d d ddddd d d g ƒdS)NrÂrMr_rŸg-@r)rjg+@g/@r;r¥rrª) rrErrnrr r!r r“rrr<)rFrvrJrJrKÚ test_2d_waxis2s&zTestMedian.test_2d_waxiscCsÂtj d¡ ddd¡}t||ddk<tt|dƒddgdd gddgd d ggƒd |_tt|dƒd d gdd gddggƒtj d¡ ddd¡}t||ddk<tt|dƒdd gddgddggƒdS)Nr˜r_rzr9rr¤r^r\r§r©)rzr_r9écrMr·r¥r¦rcr]rr¨)rErrrnrr r!r)rFrvrJrJrKrá>s("zTestMedian.test_3dcCsLtt d¡ dd¡ƒ}t|dd…<|dd…<tt|ddt|ddƒdS)NrÂrMr_rŸr™)rjr;)rrErrnrr r!)rFrvrJrJrKÚ test_neg_axisIszTestMedian.test_neg_axiscCsŒx†dD]~}tt |¡ƒ}t|dd…<|dd…<tt d¡ƒ}t||d}|dkr^t|dƒn t|dƒt||kƒtt|ƒt kƒqWdS) N)rÂg>@rÃg?@r_rŸrJ)rÜrÂg-@g.@) rrErrrr!r r r“r)rFÚvrvrÜr’rJrJrKÚ test_out_1dNs     zTestMedian.test_out_1dcCsx dD]}tt |¡ dd¡ƒ}t|dd…<|dd…<tt d¡ƒ}t|d|d}|dkr¤td gddd d d gd gdd gddgdd gdd}nBtd gdddddgd gdd gddgdd gdd}t||ƒt||kƒtt |ƒt kƒqWdS)N)r«gD@rÂg>@rMr™r_rŸr;)rjrÜrÂgr¥rrªTFrz)r<g+@g€1@g€5@g€9@) rrErrnrrr!r r r“r)rFrrvrÜr’ÚerJrJrKÚtest_out\s $ "  zTestMedian.test_outcCsFddgddgddgg}tj |d¡}ddg}ttjj|dd|ƒdS)Ngð?gg@r)rj)rErZ masked_equalr r!)rFrTZ masked_arrrrJrJrKÚ$test_single_non_masked_value_on_axisms z/TestMedian.test_single_non_masked_value_on_axisc CsìtƒÚ}| t¡x&dtjdtjdfD] }tj dtjdgdddgg¡}||_ tjj |dd}t t  |¡ƒt |tjƒtjj | ¡dd}t t  |¡ƒt |tjƒtjj |dd}tt|ƒtƒt |dtjdgƒtjj |dd}tt|ƒtƒt |tjdgƒtjj |d d}tt|ƒtƒt |tjdgƒq,Wtj dtjdgdddgg¡}tjj|dd…df<t tjj |ddtjƒt tjj |dddtjdgƒt tjj |ddtjd gƒtd d „|jDƒd gdƒWdQRXdS)NFr\)r:r;r_r9)rjrr™gø?cSsg|]}|jtk‘qSrJ)ÚcategoryÚRuntimeWarning)Ú.0rvrJrJrKú ”sz'TestMedian.test_nan..Tr¥)rÚrecordrrErr}rrÚnanr<r!r Úisscalarr Zravelr r“rrÚlog)rFÚwr<Zdmr’rJrJrKÚtest_nanvs6    zTestMedian.test_nanc CsÎtjdd¸t ddt¡tj t d¡¡}tj t d¡¡}tj |d<tjj |d<t tjj |d |d |ƒtj t d ¡¡}t tjj |d |d |ƒtj t d ¡¡}t tjj ||d |ƒWdQRXdS)NT)r ÚalwaysÚ)rz)r_rz)r9r;)r9r9r)rÜ)r_r;rJ) ÚwarningsÚcatch_warningsÚfilterwarningsrrErrrrr rr r!)rFÚor†rJrJrKÚ test_out_nan—s  zTestMedian.test_out_nanc Cs¤tj tjdtd¡}tjj|ddd…<tj|d<tƒd}| t ¡t tj  |¡tjƒt tjj |ddtjƒt |j djt kƒt |j djt kƒWdQRXtj tjdtd ddd¡¡}t |j¡ddk|_| ¡}tj|d <tj|d <tƒ\}| t ¡t d d t ¡t tj  |¡tjƒt t tj  |¡¡ƒt |j djt kƒWdQRXtjj |dd}tj|d <tj|d<tjdd6}t d d t ¡ttj  |d¡|ƒtt|ƒdƒWdQRXtjj |dd}tj|d<tj|d<tjdd6}t d d t ¡ttj  |d¡|ƒtt|ƒdƒWdQRXtjj |dd}tj|d<tj|d<tjdd6}t d d t ¡ttj  |d¡|ƒtt|ƒdƒWdQRXdS)Nr˜)r:r_r9r)rjr;rz)r;r9r_)r;r;r9rr)r9r_)r;r9T)r )r;r_)rr9)rErrrrDrr rr rr r!r rrrnrdr<Úcopyrrr rr r )rFr=rZaorigr>rJrJrKÚtest_nan_behavior¤sR            zTestMedian.test_nan_behaviorcCs’tjdddgdddggtjd}tjj||dkd}ttjj|dddƒttjj|ddjdƒttjj|dd|dƒttj |¡dƒdS) Nr_éÿ)r:)r<r;)rjFr)rErZuint8rrr r!r<)rFr=rJrJrKÚtest_ambigous_fillØs  zTestMedian.test_ambigous_fillcCsxtjtj gD]ô}t |tjgtjtjgg¡}tjj|t |¡d}ttjj|dd|tjgƒttjj|dd|tjgƒttj |¡|ƒt tjtj|gtjtj|gg¡}tjj|t |¡d}t tjj|dd|ƒt tjj|ddj dƒt tjj|dd|dƒt tj |¡|ƒt ||g||gg¡}ttj |¡|ƒttjj|dd|ƒttjj|dd|ƒtj|d| dgdtjtjd gd tjtj|ggtj d }tjj|t |¡d}|dkrttjj|ddd d | dgƒttj |¡dƒn2ttjj|dddd | dgƒttj |¡dƒttjj|dddd|gƒx²t ddƒD]¤}xœt ddƒD]Ž}t tjg||g|gd¡}tjj|t |¡d}ttj |¡|ƒttjj|dd|ƒttjj|ddtjg||g|ƒqpWq`WqWdS)N)r<r)rjr;FrPi÷ÿÿÿiöÿÿÿrcrz)r:g@g@g@g@g$Àg"ÀgÀgð¿rMr9) rErérr rrZisnanr r!r r<Zfloat32rQ)rFrér=rWrXrJrJrKÚ test_specialásF"    "zTestMedian.test_specialc Csttj tjgtd¡}tƒ8}| t¡ttj  |¡tj ƒt |j dj tkƒWdQRXtj tjgtdd¡}tƒF}| t¡t ddt¡ttj  |¡tj ƒt |j dj tkƒWdQRXtj tjgtdd¡}ttjj |dd|ƒttjj |d d|ƒtj tjtj tdd¡}tjd d <}t ddt¡ttjj |dd|ƒt |dj tkƒWdQRXdS) N)r:rr_)r:rðrrr9)rjr;T)r )rErrrrDrr rr r!r r rrrrr r)rFr=rr>rJrJrKÚ test_empty s&  zTestMedian.test_emptycCsXtj t d¡¡}tttj | t¡¡ƒt ƒtj |d<tttj | t¡¡ƒt ƒdS)Ng@r9) rErrrr r“r!rÐÚobjectrDr )rFrrJrJrKÚ test_object)s zTestMedian.test_objectN)rfrgrhrêrërírïrör÷rørùrrÿrárrrrrrrrrrrrJrJrJrKrèžs,&   ! 4 +rèc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) ÚTestCovcCsttj d¡ƒ|_dS)Nr¤)rrErŠr‹rT)rFrJrJrKÚsetUp2sz TestCov.setUpcCsZ|j}tt |¡t|ƒƒttj|ddt|ddƒttj|dddt|dddƒdS)NF)ÚrowvarT)r"Úbias)rTr rEr)rFrvrJrJrKÚtest_1d_without_missing5s zTestCov.test_1d_without_missingcCsb|j dd¡}tt |¡t|ƒƒttj|ddt|ddƒttj|dddt|dddƒdS)Nr_rzF)r"T)r"r#)rTrnr rEr)rFrvrJrJrKÚtest_2d_without_missing=s zTestCov.test_2d_without_missingcCs@|j}t|d<|| ¡8}| ¡}tt |¡t|ƒƒttj|ddt|ddƒttj|dddt|dddƒyt|ddWntk r–YnX|dd…}tt ||ddd…¡t||ddd…ƒƒttj||ddd…ddt||ddd…ddƒttj||ddd…dddt||ddd…dddƒdS)Nr™F)r"T)r"r#)Ú allow_maskedr;)rTrÚmeanrVr rErÚ ValueError)rFrvÚnxrJrJrKÚtest_1d_with_missingEs$  ,zTestCov.test_1d_with_missingcCs6|j}t|d<| dd¡}t t|ƒ¡ t¡}t ||j ¡}||  d¡dd…df  d¡}t t |ƒt  |¡|jdd|dƒt t |ddtj |dd|jd|ƒt |j |¡}||  d¡  d¡}t t |d d tj |d d |jdd|dƒt t |d dd tj |d dd |jd|ƒdS) Nr™r_rzr;rgð?T)r#F)r")r"r#)rTrrnrEZ logical_notrrÐrRrrür'r×r rr)rFrvZvalidZfracZxfrJrJrKÚtest_2d_with_missing]s   "  &zTestCov.test_2d_with_missingN)rfrgrhr!r$r%r*r+rJrJrJrKr 0s r c@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)Ú TestCorrcoefcCs(ttj d¡ƒ|_ttj d¡ƒ|_dS)Nr¤)rrErŠr‹rTÚdata2)rFrJrJrKr!uszTestCorrcoef.setUpc CsÈ|j|j}}t |¡}t ||¡}tƒ”}t d¡ttt|dd|  td¡t tj|ddt|ddƒt t|dd|ƒt t||dd|ƒt t|dd|ƒt t||dd|ƒWdQRXdS)Nrr™)Úddofzbias and ddof have no effectrr_) rTr-rEr rrÚ simplefilterrÚDeprecationWarningÚfilterr )rFrvrwrZ expected2ÚsuprJrJrKÚ test_ddofys    zTestCorrcoef.test_ddofc CsŠ|j|j}}t |¡}tƒb}t d¡ttt||ddƒttt||ddƒttt|dd|  td¡t t|dd|ƒWdQRXdS)NrTF)r#zbias and ddof have no effectr;) rTr-rEr rrr/rr0r1r )rFrvrwrr2rJrJrKÚ test_bias‰s   zTestCorrcoef.test_biasc Csx|j}tt |¡t|ƒƒttj|ddt|ddƒtƒ2}| td¡ttj|dddt|dddƒWdQRXdS)NF)r"zbias and ddof have no effectT)r"r#)rTr rEr rr1r0)rFrvr2rJrJrKr$–s z$TestCorrcoef.test_1d_without_missingc Cs€|j dd¡}tt |¡t|ƒƒttj|ddt|ddƒtƒ2}| td¡ttj|dddt|dddƒWdQRXdS)Nr_rzF)r"zbias and ddof have no effectT)r"r#)rTrnr rEr rr1r0)rFrvr2rJrJrKr%¡s z$TestCorrcoef.test_2d_without_missingc Cs¤|j}t|d<|| ¡8}| ¡}tt |¡t|ƒƒttj|ddt|ddƒtƒ2}| t d¡ttj|dddt|dddƒWdQRXyt|ddWnt k r´YnX|dd…}tt ||ddd…¡t||ddd…ƒƒttj||ddd…ddt||ddd…ddƒtƒr}| t d¡tt ||ddd…¡t||ddd…dd ƒtt ||ddd…¡t||ddd…d d ƒWdQRXdS) Nr™F)r"zbias and ddof have no effectT)r"r#)r&r;)r#r9)r.) rTrr'rVr rEr rr1r0r()rFrvr)r2rJrJrKr*¬s2   , z!TestCorrcoef.test_1d_with_missingc Cs|j}t|d<| dd¡}t|ƒ}t |¡}t|dd…dd…f|dd…dd…fƒtƒ¨}| td¡tt|dddd…dd…f|dd…dd…fƒtt|dddd…dd…f|dd…dd…fƒtt|dddd…dd…f|dd…dd…fƒWdQRXdS) Nr™r_rzzbias and ddof have no effectrš)r.r;)r#) rTrrnr rEr rr1r0)rFrvrGrHr2rJrJrKr+Ês  * z!TestCorrcoef.test_2d_with_missingN) rfrgrhr!r3r4r$r%r*r+rJrJrJrKr,ss   r,c@seZdZdd„Zdd„ZdS)ÚTestPolynomialcCsÈtj d¡}tj d¡ dd¡}tt||dƒt ||d¡ƒ| t¡}t|d<| t¡}t|d<|d<t||dd…dfdd d \}}}}}tj|d d…|d d…df  ¡dd d \}} } } } x4t |||||f|| | | | fƒD]\} }t| |ƒqâWt||dd…dfdd d \}}}}}tj|d d…|d d…dfdd d \}} } } } x6t |||||f|| | | | fƒD]\} }t| |ƒqnWt||dd d \}}}}}tj|d d…|d d…dd…fdd d \}} } } } x6t |||||f|| | | | fƒD]\} }t| |ƒqôWtj d¡d }|  ¡}|d d…}|d d…}|d d…}t||dd |d \}}}}}tj||dd |d \}} } } } t ||ƒx6t |||||f|| | | | fƒD]\} }t| |ƒq¬WdS) NrMrÀr™r9r_r)rr)r™r™T)rSr;)rSr) rErŠr‹rnr rÚviewrrrVÚziprr )rFrvrwÚCÚRÚKÚSÚDr‡r’rYrZr†r=Úa_rZwoZxsZysZwsrJrJrKÚ test_polyfitàs<   &"(&0(4(    (zTestPolynomial.test_polyfitcCsàtj d¡}tj d¡ dd¡}tj|d<tj|d<| t¡}| t¡}t|d<t|d<t||ddd \}}}}}tj|d d…|d d…dd…fddd \}} } } } x4t |||||f|| | | | fƒD]\} }t | |ƒqÆWdS) NrMrÀr™r9r)r™r™r_T)rSr;) rErŠr‹rnr r6rrrr7r )rFrvrwr8r9r:r;r<r‡r’rYrZr†r=r=rJrJrKÚtest_polyfit_with_masked_NaNss     4(z,TestPolynomial.test_polyfit_with_masked_NaNsN)rfrgrhr>r?rJrJrJrKr5Þs'r5c@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!S)"ÚTestArraySetOpscCs†ddddddg}t|ddd}| t|dtƒ¡t|dtdddgdddgdƒt|ddddgƒt|dddddddgƒdS) Nr;r9r_T)Ú return_indexÚreturn_inverser)r<rc)r#rmr„rr r)rFrTrGrJrJrKÚtest_unique_onlists "z"TestArraySetOps.test_unique_onlistcCstddddddgddddddgd}t|ddd}t|dtddddgddddgdƒt|dddd dgƒt|dddddddgƒd|_tddddddgddddddgdd }t|ddd}t|dtddddgddddgdƒt|dddd dgƒt|dddddddgƒdS) Nr;r9r_r)r<T)rArBr™rc)rTr<Ú fill_value)rr#r rD)rFrTrGrJrJrKÚtest_unique_onmaskedarray#s$&&z)TestArraySetOps.test_unique_onmaskedarraycCs¦tdddgdd}t|ddd}t|dtdgdgdƒt|ddgƒt|ddddgƒt}t|ddd}t|dttƒƒt|ddgƒt|ddgƒdS)Nr;T)r<)rArBrr9)rr#r r)rFrTrGrJrJrKÚtest_unique_allmasked3sz%TestArraySetOps.test_unique_allmaskedcCsrtt d¡dddddgd}tddddgddddgd}t|ƒ}t||ƒt| d¡| d¡ƒt|j|jƒdS)Nrcr;r)r<rz)rrErrr)r r×r<)rFrvrHrGrJrJrKÚ test_ediff1dBs  zTestArraySetOps.test_ediff1dc Csâtt d¡dddddgd}t|td}tdddddgdddddgd}t||ƒt| d¡| d¡ƒt|j|jƒt|dddgd}tdddddddgdddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒdS) Nrcr;r)r<)Úto_beginrzr9r_) rrErr)rrr r×r<)rFrvrGrHrJrJrKÚtest_ediff1d_tobeginKs   ( z$TestArraySetOps.test_ediff1d_tobeginc Csâtt d¡dddddgd}t|td}tdddddgdddddgd}t||ƒt| d¡| d¡ƒt|j|jƒt|dddgd}tdddddddgdddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒdS) Nrcr;r)r<)Úto_endrzr9r_) rrErr)rrr r×r<)rFrvrGrHrJrJrKÚtest_ediff1d_toendZs   ( z"TestArraySetOps.test_ediff1d_toendc Csîtt d¡dddddgd}t|ttd}tddddddgddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒt|dddgtd}tddddddddgddddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒdS) Nrcr;r)r<)rJrHrzr9r_) rrErr)rrr r×r<)rFrvrGrHrJrJrKÚtest_ediff1d_tobegin_toendis$  z*TestArraySetOps.test_ediff1d_tobegin_toendcCsÖt d¡}t|ƒ}tddddgddddgd}t||ƒ| t|tƒ¡t| d¡| d¡ƒt|j |j ƒt|t t d}tddddddgddddddgd}| t|tƒ¡t| d¡| d¡ƒt|j |j ƒdS)Nrcr;r)r<)rJrH) rErr)rr rmr„rr×r<r)rFrvrGrHrJrJrKÚtest_ediff1d_ndarrayys  $z$TestArraySetOps.test_ediff1d_ndarraycCshtddddgddddgd}tddddgddddgd}t||ƒ}tdddgdddgd}t||ƒdS)Nr;r_r)r<r™)rr'r )rFrvrwrGrHrJrJrKÚtest_intersect1d‰s  z TestArraySetOps.test_intersect1dcCs€tdddddgdddddgd}tdddd ddgddddddgd}t||ƒ}t|tdd dgƒƒtdddddgdddddgd}dddd dg}t||ƒ}t|tdd ddgddddgdƒtdddgƒ}td dd gƒ}t||ƒ}tt|tƒƒt|dddd dd gƒtdd ddgddddgd}td dd d gddddgd}t||ƒ}tt|tƒƒt|dddd dd gƒtgtggƒƒdS) Nr;r9rcrPr™r)r<r_rzr\r])rr$r r r„rr )rFr=r>rGrJrJrKÚ test_setxor1d‘s& $   "  zTestArraySetOps.test_setxor1dc CsÚt d¡ dddg¡}t dddg¡}d|d<t||d}tdd d d ddd d dg dddddddddg d}tdtd}d|d<d|d<d|d<t||ƒ}tt|t ƒƒt ||ƒt |||j ¡|j @}t ||ƒdS)Nr˜r9r_rzr;)r;r9r)r<rrMrÀrÂr·ržrÅ)rTr<)r9r_rz)r:T)rrr)rrr;)rr9r_) rErrnrrr}r6r r„rr r<)rFr=r<r>Zecr‡r†rJrJrKÚ test_isin«s    zTestArraySetOps.test_isincCsÌtdddddgdddddgd}tdddd ddgddddddgd}t||ƒ}t|d d d d d gƒtdddddgdddddgd}tdddgdddgd}t||ƒ}t|d d d d d gƒtgtggƒƒdS) Nr;r9rcrPr™r)r<r_rzTF)rr(r r )rFr=r>rGrJrJrKÚ test_in1dÀs $   zTestArraySetOps.test_in1dcCsÔtdddddgdddddgd}tdddd ddgddddddgd}tt t||ƒ¡t||d d ƒtdddddgdddddgd}tdddgdddgd}tt t||ƒ¡t||d d ƒtgtggd d ƒdS) Nr;r9rcrPr™r)r<r_rzT)Úinvert)rr rErRr(r )rFr=r>rJrJrKÚtest_in1d_invertÎs $   z TestArraySetOps.test_in1d_invertc Cs˜tddddddgddddddgd}tdddd ddgddddddgd}t||ƒ}tdddd dddgdddddddgd}t||ƒtgtggƒƒdS) Nr;r9rcrPr™r)r<r_rz)rr&r r )rFr=r>rGrHrJrJrKÚ test_union1dÚs $$ ( zTestArraySetOps.test_union1dc Csºtddddddddgddddddddgd}tddd d dddgƒ}t||ƒ}t|tddd gdddgdƒtd ƒ}td ƒ}tt||ƒtd d gƒƒtgtjgd}tt|gƒjtjƒdS)Nr\rcrzrPr;r9r)r<r_r™rMr]r^)rr%r rrEZuint32r:)rFr=r>rGrJrJrKÚtest_setdiff1däs, zTestArraySetOps.test_setdiff1dcCs<t dddg¡}t dddg¡}tt||ƒt dg¡ƒdS)Nr=r>r‡rZ)rErr r%)rFr=r>rJrJrKÚtest_setdiff1d_char_arrayñsz)TestArraySetOps.test_setdiff1d_char_arrayN)rfrgrhrCrErFrGrIrKrLrMrNrOrPrQrSrTrUrVrJrJrJrKr@s      r@c@seZdZdd„Zdd„ZdS)Ú TestShapeBasecCsrtdddgdddgd}t|ƒ}t|jdƒt|jj|jjƒt|jdƒt|jj|jjƒt|jj|jjƒdS)Nrr;r9)r<)r;r_)r_)rrr rr<rT)rFr=r>rJrJrKÚtest_atleast_2dús  zTestShapeBase.test_atleast_2dcCs”tdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}x8|D]0}t|jdƒt|jj|jƒt|jj|jƒqDWtdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}x8|D]0}t|jdƒt|jj|jƒt|jj|jƒq¼Wtdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}x:|D]2}t|jdƒt|jj|jƒt|jj|jƒq4Wtdƒ}t|jdƒt|jj|jjƒdS)Ngð?)r;g@)r;r;)r;r;r;)rr rr<rTrrr7)rFr>r=rJrJrKÚtest_shape_scalars<             zTestShapeBase.test_shape_scalarN)rfrgrhrXrYrJrJrJrKrWøs rWÚ__main__)QÚ__doc__Z __future__rrrrrñZnumpyrEZ numpy.testingrrrrr Znumpy.ma.testutilsr r r r Z numpy.ma.corerrrrrrrrrrrZnumpy.ma.extrasrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7rZextrasZmaer8rirƒr–r¢rÞrärèr r,r5r@rWrfrJrJrJrKÚ s<4„i/=~ Ck:a8