U
    /e)                     @   s   d dl mZ d dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ edZg Zd	d
 Zdd Zdd Zdd Zdd Zdd ZdS )    )addsleepN)Cache)Callback)get_sync)getcacheyc                 C   s   t |  | d S )N   )flagappend)x r   9/tmp/pip-unpacked-wheel-dbjnr7gq/dask/tests/test_cache.pyinc   s    
r   c               	   C   s   t d} t| }|  tdtdfiddks2tW 5 Q R X tdgksJt| jd dks\t|jrft|jrpttr~t	  qptdftdft
ddfd}| t|ddkstW 5 Q R X tdgksttjrtd S )	N'  r   r
      y)r   r   zr      )r	   r   r   r   AssertionErrorr   dataZ
starttimesZ	durationspopr   r   active)cccdskr   r   r   
test_cache   s    
$


r   c                  C   sB   t ddd} t| jtj st| jjdks.t| jjdks>td S )Nr   r
   )limit)r   
isinstancecacher	   r   Zavailable_bytesr   )r   r   r   r   test_cache_with_number.   s    r!   c               	   C   s   t d} td}ddlm}m} |j|ddd}|j|ddd}| . | dk s`t	| dk stt	W 5 Q R X d S )Nr   z
dask.arrayr   )oneszerosr
   
   )chunks)
r   pytestimportorskipZnumpyr"   r#   Z
from_arrayZcomputeallr   )r   dar"   r#   r   or   r   r   test_cache_correctness5   s    
r+   c                 G   s   t |  dg| S )Nr   r   )durationsizeargsr   r   r   fB   s    r/   c               	   C   s^   t ddft dddfd} td}| t| d W 5 Q R X |jjjd |jjjd k sZtd S )	Ng{Gz?r$   gư>r
   r   )r   r   r   r   )r/   r   r   r    ZscorerZcostr   )r   r   r   r   r   test_prefer_cheap_dependentG   s
    r0   )operatorr   timer   r&   Z
dask.cacher   Zdask.callbacksr   Z
dask.localr   Zdask.threadedr   r'   r	   r   r   r   r!   r+   r/   r0   r   r   r   r   <module>   s   
