3
���h� � @ s� d dl Zd dlZd dlZd dlmZ d dlmZ d dl m
Z
mZmZm
Z
mZmZ d dlmZmZ ddlmZmZmZmZmZ G dd � d e�ZdS )
� N)�deepcopy)�dedent)�align� broadcast�Dataset� DataArray�
Coordinate�Variable)� iteritems�OrderedDict� )�TestCase�
ReturnItem�source_ndarray�unittest�
requires_daskc @ s e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zed%d&� �Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Zd9d:� Z d;d<� Z!d=d>� Z"d?d@� Z#dAdB� Z$dCdD� Z%dEdF� Z&dGdH� Z'dIdJ� Z(dKdL� Z)dMdN� Z*dOdP� Z+dQdR� Z,dSdT� Z-dUdV� Z.dWdX� Z/dYdZ� Z0d[d\� Z1d]d^� Z2d_d`� Z3dadb� Z4dcdd� Z5dedf� Z6dgdh� Z7didj� Z8dkdl� Z9dmdn� Z:dodp� Z;dqdr� Z<dsdt� Z=dudv� Z>dwdx� Z?dydz� Z@d{d|� ZAd}d~� ZBeCjDd�d�d�� �ZEd�d�� ZFd�d�� ZGd�d�� ZHd�d�� ZId�d�� ZJd�d�� ZKd�d�� ZLd�d�� ZMd�d�� ZNd�d�� ZOd�d�� ZPd�d�� ZQd�d�� ZRd�d�� ZSd�d�� ZTd�d�� ZUd�d�� ZVd�d�� ZWd�d�� ZXd�d�� ZYd�d�� ZZd�d�� Z[d�d�� Z\d�d�� Z]d�d�� Z^d�d�� Z_d�d�� Z`d�d�� Zad�d�� Zbd�d�� Zcd�d�� Zdd�d�� Zed�S )��
TestDataArrayc C sb ddd�| _ tjjd �| _tddg| j�| _tddg| j| j �| _td| ji�| _| jd | _ d S )
NZvalue1iq )Zattr1Zattr2�
� �x�y�foo)r r )
�attrs�np�randomr r �v�var �ds�dv)�self� r �:/tmp/pip-build-5_djhm0z/xray/xarray/test/test_dataarray.py�setUp s zTestDataArray.setUpc C sX t ddgdddgdddggd d
i�}t|dtjd�id
d�}td�}| j|t|�� d S )N�timer r � � � � � r �bar�otherr Zmy_variable)�namea <xarray.DataArray 'my_variable' (time: 2, x: 3)>
array([[1, 2, 3],
[4, 5, 6]])
Coordinates:
other int64 0
* time (time) int64 0 1
* x (x) int64 0 1 2
Attributes:
foo: bar)r r r �int64r �assertEqual�repr)r r Z
data_array�expectedr r r! � test_repr s
$ zTestDataArray.test_reprc C sB | j | jj| j� | j| jj| jj� x(dD ] }| jt| j|�t| j|�� q,W | jt| j�t| j�� | j | j| j� | j t
| jj�t
| jj�� x,t
| jj�D ]\}}| j|| jj| � q�W | jt�� | jj W d Q R X | j| jd j� tj� | jtd �� | jd
j� W d Q R X | jt�� | j| j_W d Q R X d S )N�dims�dtype�shape�size�nbytes�ndimr r zmust be 1-dimensionalr )r1 r2 r3 r4 r5 r6 r )�assertVariableEqualr �variabler �assertArrayEqual�valuesr- �getattr�len�assertItemsEqual�list�coordsr r
�assertRaises�AttributeErrorZdataset�assertIsInstanceZto_index�pd�Index�assertRaisesRegexp�
ValueError)r �attr�kr r r r! �test_properties% s
zTestDataArray.test_propertiesc C sr t tjd��}|j� }tjd�|_| jtjd�|j� dtjd� |_| jdtjd� |j� | j|j|j� d S ) Nr% r& |