HOME


sh-3ll 1.0
DIR:/usr/local/lib/python3.6/site-packages/xarray/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.6/site-packages/xarray/test/__pycache__/test_dask.cpython-36.pyc
3

���h�*�@s�ddlZddlZddlmZmZmZmZddl	j
Zddlm
Z
ddlmZmZe
e��ddlZddljZWdQRXdd�ZGdd	�d	e�ZeGd
d�de��ZeGdd
�d
e��ZdS)�N)�Variable�	DataArray�Dataset�concat)�suppress�)�TestCase�
requires_daskcCs�t|t�r|jdd�St|t�r8|jdd�}t|�dSt|t�rx|j�}x(t|�D]}|j|jdd�|j|<qTW|Sds�t	�dS)z�We need to copy the argument at the level of xarray.Variable objects, so
    that viewing its values does not trigger lazy loading.
    F)�deepZ
__copied__)�nameN)
�
isinstancer�copyr�
to_dataset�_copy_at_variable_levelr�listZ
_variables�AssertionError)�arg�ds�k�r�5/tmp/pip-build-5_djhm0z/xray/xarray/test/test_dask.pyrs


rc@seZdZdd�ZdS)�DaskTestCasecCsTt|�}t|�}tjtjd��|||�WdQRXt|d|�}|j|jtj�dS)N)�get�variable)	r�dask�set_optionsr�getattr�assertIsInstance�data�da�Array)�self�expected�actual�test�
expected_copy�actual_copy�varrrr�
assertLazyAnd!szDaskTestCase.assertLazyAndN)�__name__�
__module__�__qualname__r(rrrrr src@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�TestVariablecCs\|jdd�}|jdd�}tjtjd��|||�WdQRXt|d|�}|j|jtj�dS)NF)r
)rr)	r
rrrrrrrr )r!r"r#r$r%r&r'rrrr(,szTestVariable.assertLazyAndcCs|j|||j�dS)N)r(ZassertVariableIdentical)r!r"r#rrr�assertLazyAndIdentical4sz#TestVariable.assertLazyAndIdenticalcCs|j|||j�dS)N)r(ZassertVariableAllClose)r!r"r#rrr�assertLazyAndAllClose7sz"TestVariable.assertLazyAndAllClosecCsBtjjdd�|_tj|jdd�|_td|j�|_td	|j�|_	dS)
N���)�chunks�x�y)r1r1)r3r4)r3r4)
�np�random�randn�valuesr�
from_arrayrr�	eager_var�lazy_var)r!rrr�setUp:szTestVariable.setUpcCs:|j}|j|j|j�|j|jj|j�|j|j|�dS)N)r;ZassertIsr�assertEqualr2ZassertArrayEqualr8)r!�vrrr�test_basicsAszTestVariable.test_basicscCs0|j|j|jj��|j|j|jjdd��dS)NT)r
)r-r:r;r
)r!rrr�	test_copyGszTestVariable.test_copyc	Csbx\d	d
ddd�dfddidfddidfgD]0\}}|jj|�}|j|j|�|j|j|�q*WdS)Nr1�r)r3r4r3�r1r1�r1r1r1�rBrC)NrD�rAr�rArA�rErF)rArG�rAr�rArA)rHrI�rAr�r1r1r1)rJrK)rAr�rAr�r1r1r1)rLrM)r;�chunkr=r2r-r:)r!r2r"Z	rechunkedrrr�
test_chunkLs
zTestVariable.test_chunkcCs�|j}|j}|j|d|d�|j|dd�|dd��|j|ddgdddgf|ddgdddgf�|jtd��d|dd�<WdQRXdS)Nrrr1zstored in a dask array)r:r;r-�assertRaisesRegexp�	TypeError)r!�ur>rrr�
test_indexingVs0zTestVariable.test_indexingcCs,|j}|j}|j|dj�|dj��dS)Nr)r:r;r-Zsqueeze)r!rRr>rrr�test_squeeze_szTestVariable.test_squeezecCsJ|j}|j|j|��|j|jtj�|j|j|��|j|jtj�dS)N)r;�
assertTrue�equalsrrrr Z	identical)r!r>rrr�test_equalsds
zTestVariable.test_equalscCs |j}|j}|j|j|j�dS)N)r:r;r-�T)r!rRr>rrr�test_transposekszTestVariable.test_transposecCsd|j}|j}|j|jdd�|jdd��|j|jdd�|jdd��|j|jj|jdd�jj�dS)Nr1)r3r���rZ)r:r;r-�shiftr=rr2)r!rRr>rrr�
test_shiftps
zTestVariable.test_shiftcCsH|j}|j}|j|jdd�|jdd��|j|jj|jdd�jj�dS)Nr1)r3r)r:r;r-Zrollr=rr2)r!rRr>rrr�	test_rollwszTestVariable.test_rollcCsH|j}|j}|j||�|jt|�t|��|j|j�|j��dS)N)r:r;r-�abs�round)r!rRr>rrr�
test_unary_op}s
zTestVariable.test_unary_opcCsT|j}|j}|jd|d|�|j||||�|j|d||d|�dS)Nr1r)r:r;r-)r!rRr>rrr�test_binary_op�s
zTestVariable.test_binary_opcCs�|j}|j}|j|j�|j��|j|j�|j��|j|jdd�|jdd��|j|dkj�|dkj��|j|dkjd�|dkjd��|jt	d��|j
�WdQRX|jt	d��|j�WdQRXdS)Nr3)Zdimrr)r:r;r.�meanZstdZargmax�any�allrP�NotImplementedError�prodZmedian)r!rRr>rrr�test_reduce�s zTestVariable.test_reducecCs|tjddtjdg�}tj|dd�}td|�}td|�}|j||j|��|jtdtd��|jd��|j|j	�|j	��dS)	NrrrAr1)r2r3r/)r1)
r5�array�nanrr9rr-Zfillna�range�count)r!r8rr:r;rrr�test_missing_values�s

z TestVariable.test_missing_valuescCs�|j}|j}|j|tj|dd�|dd�gd��|j|dd�tj|d|dgd��|j|dd�tj|ddg|dggdddgdggd��dS)Nr1r3rrrA)Z	positions)r:r;r-rr)r!rRr>rrr�test_concat�s((zTestVariable.test_concatcCs�|j}y|j�Wn2tk
rD}z|jdt|��WYdd}~XnXy|dj�Wn2tk
r�}z|jdt|��WYdd}~XnXdS)Nrr)r;ZargsortreZassertIn�str�item)r!r>�errrrr�test_missing_methods�s"z!TestVariable.test_missing_methodscCs(|j}|j}|jtj|�tj|��dS)N)r:r;r.r5�sin�xu)r!rRr>rrr�test_ufuncs�szTestVariable.test_ufuncsN)r)r*r+r(r-r.r<r?r@rOrSrTrWrYr\r]r`rargrlrmrqrtrrrrr,*s(
	

r,c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) �TestDataArrayAndDatasetcCs|j|||j�dS)N)r(ZassertDataArrayIdentical)r!r"r#rrrr-�sz.TestDataArrayAndDataset.assertLazyAndIdenticalcCs|j|||j�dS)N)r(ZassertDataArrayAllClose)r!r"r#rrrr.�sz-TestDataArrayAndDataset.assertLazyAndAllClosecCsJtjjdd�|_tj|jd	d�|_t|jd
dd�|_t|jddd�|_	dS)Nr/r0r1)r2r3r4�foo)�dimsr)r1r1)r3r4)r3r4)
r5r6r7r8rr9rr�eager_array�
lazy_array)r!rrrr<�szTestDataArrayAndDataset.setUpcCs,|jjddi�jddi�}|j|jd	�dS)
Nr3r1r4rA)r1�r1r1)r1�r1r1r1)rzr{)rxrNr=r2)r!�chunkedrrr�test_rechunk�sz$TestDataArrayAndDataset.test_rechunkcCs"|jj�}|j|jjjd��dS)Nzxarray-<this-array>)rxrNrUrr�
startswith)r!r|rrr�test_new_chunk�s
z&TestDataArrayAndDataset.test_new_chunkcCs*tdd|jfi�}|j|jjjtj�dS)Nrvr3r4)r3r4)rrrrvrrr )r!Zlazy_dsrrr�test_lazy_dataset�sz)TestDataArrayAndDataset.test_lazy_datasetcCs�|j}|j}|j||�|j||�|j|j|j�|j|j�|j��|jd|d|�t|dd�|dd�gd�}|j||�dS)Nrr1r3)rxryr.rXrbr)r!rRr>r#rrr�test_lazy_array�sz'TestDataArrayAndDataset.test_lazy_arraycCs8|j}|j}|jd�j�}|jd�j�}|j||�dS)Nr3)rxry�groupbyrbr.)r!rRr>r"r#rrr�test_groupby�s
z$TestDataArrayAndDataset.test_groupbyc
Cs�|j}|j}x(|j|jgD]}dddddgf|d<qW|jtd��|jd�j�WdQRX|jd�j�}|jd�jdd�}|j||�dS)Nr3�a�b�abrF)Zskipna)rxry�coordsrPrer��firstr.)r!rRr>r�r"r#rrr�test_groupby_first�sz*TestDataArrayAndDataset.test_groupby_firstcCsr|j}|j}x`ddddgiddddddgiddd	gdddgd
�gD](}|jf|�}|jf|�}|j||�qBWdS)Nr3r1rAr/r�d�eg@g@)r3r4)rxryZreindexr.)r!rRr>�kwargsr"r#rrr�test_reindex�sz$TestDataArrayAndDataset.test_reindexcCs>|j}|j}|j|djt�d�}|j||jd�jd��dS)Nr3)r3)rxryZ
assign_coordsZastypernr-rZto_array)r!rRr>r"rrr�test_to_dataset_roundtripsz1TestDataArrayAndDataset.test_to_dataset_roundtripcCs(|j}|j}|jtj|�tj|��dS)N)rxryr.r5rrrs)r!rRr>rrrrtsz#TestDataArrayAndDataset.test_ufuncscCs~tjd�}|dk}tj|d�}tj|d�}t|�j|�}|j|t|�j|��|j|t|�j|��|j|t|�j|��dS)N�
rA�)r5�arangerr9r�wherer-)r!r�r�r3r4r"rrr�test_where_dispatching
s
z.TestDataArrayAndDataset.test_where_dispatchingc
shtdtd�fdtd�fd��j�}dg��fdd�}tj|d��|j�WdQRX|j�dd�dS)	Nr3r�)rv�barrcs�dd7<tj||�S)Nrr)rr)�argsr�)rkrr�counting_getszGTestDataArrayAndDataset.test_simultaneous_compute.<locals>.counting_get)rr)rrjrNrr�loadr=)r!rr�r)rkr�test_simultaneous_computesz1TestDataArrayAndDataset.test_simultaneous_computecCs�tjjddd�}t|dd	�}|jdd
�}tjjtj	d�tj	d�gddgd�}t|j
dd�ddg|d
�ddgd	�}|jj|jjks�t
�|j||�dS)Nr1rAr/r)�sizer2�wr3r4)rw)�z)�namesr)r�r�r�)r1rAr/)rrAr/)r�r3r4)r3r4���)rr6Znormalr�stack�pdZ
MultiIndexZfrom_productr5r�Zreshaperr2rr-)r!rZarrZstackedr�r"rrr�
test_stack%sz"TestDataArrayAndDataset.test_stackN)r)r*r+r-r.r<r}rr�r�r�r�r�r�rtr�r�r�rrrrru�s

ru)Znumpyr5Zpandasr�ZxarrayrrrrZ
xarray.ufuncsZufuncsrsZxarray.core.pycompatr�rr	�ImportErrorrZ
dask.arrayrhrrrr,rurrrr�<module>s