U
    /eA                  
   @   s   d dl Z e d d dlZd dlmZ d dlmZm	Z	 zd dl
Z
W n ek
rZ   dZ
Y nX e jde jde jje
 dddd	gZed
d Ze jjdd Zedd Zedd Zee jdddededgdd Zedd ZdS )    Nnumpy)	assert_eq	same_keysinternal_methodtdigestzRequires crick)reason)ZmarksZdaskc              
   C   s@  t jddd}dddg}tt j||| dtjdddg|jd	 tddd
d
d
d
ddg}t j|dd}t j||| d}t|tjdd
dg|jd	 tt j||| dt j||| dst	tt j||| dt j|ddg| drt	| dkr<tddddddg}t j|dd}tt |dddgtjdddg|jd	 d S )N      chunksr   2   d   r      dtype      )   r   ade)
daonesr   
percentilenparrayr   Z
from_arrayr   AssertionError)r   r   qsxresult r#   E/tmp/pip-unpacked-wheel-dbjnr7gq/dask/array/tests/test_percentiles.pytest_percentile   s2    

 r%   c                  C   s   zdd l } W n tk
r"   Y d S X | ddddddg}| ddddddg}||d}tj|ddd	}t|d
g}| j|jk st	| j
dgk st	tt|d
gt|d
gst	d S )Nr   ZAliceZBobZCharlieZDennis))r!   r   )r!   r   r!   ))   r&   r   r   )ZpandasImportErrorZCategoricalr   Arrayr   compute
categoriesallr   codesr   )pdZx0x1Zdskr!   pr#   r#   r$   !test_percentile_with_categoricals<   s    
r0   c                 C   s@   t jddd}tt j|dddg| dtjdddg|jd d S )	N
   )r   r   r   r   r   Z   r   r   r   r   r   r   r   r   r   r   r   r!   r#   r#   r$   "test_percentiles_with_empty_arraysO   s
    r6   c                 C   s4   t jddd}tt j|g | dtjg |jd d S )Nr1   r2   r   r   r   r4   r5   r#   r#   r$   test_percentiles_with_empty_qX   s
    r7   qr   g      @c                 C   s6   t jddd}tt j||| dtjdg|jd d S )Nr   r
   r   r   r   r   r4   )r   r8   r   r#   r#   r$   'test_percentiles_with_scaler_percentilea   s
    r9   c                 C   s   t jjddd}tjfd f|_t j|d| d }d|  k rHdk sNn tt j|d	d
g| d \}}d|  k r~dk sn td|  k rdk sn t||k std S )Ni  )r   r   r1   r   r   g?g?(   <   )r   randomr   nan_chunksr   r)   r   )r   r!   r"   r   br#   r#   r$   test_unknown_chunk_sizesm   s    r@   )ZpytestZimportorskipr   r   Z
dask.arrayr   r   Zdask.array.utilsr   r   Zcrickr'   markZparametrizeparamZskipifZpercentile_internal_methodsr%   skipr0   r6   r7   Zint64Zfloat64r9   r@   r#   r#   r#   r$   <module>   s<   

 
 


 
