U
    /e(S                     @   s  d dl Z d dlZd dlZd dl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 d dl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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,m-Z-m.Z.m/Z/ d dl0m1Z1 d	d
 Z2dd Z3dd Z4dd Z5dd Z6dd Z7dd Z8dd Z9dd Z:d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/d0 ZEd1d2 ZFd3d4 ZGd5d6 ZHd7d8 ZId9d: ZJd;d< ZKd=d> ZLd?d@ ZMdAdB ZNdCdD ZOdEdF ZPdGdH ZQdIdJ ZRdKdL ZSdMdN ZTdOdP ZUdQdR ZVdSdT ZWdUdV ZXdWdX ZYdYdZ ZZd[d\ Z[d]d^ Z\ej]^d_d`dadbdcdddedfdgdhdidjdkgdldm Z_dndo Z`dpdq Zadrds Zbdtdu Zcdvdw Zddxdy Zedzd{ ZfG d|d} d}Zgd~d Zhdd Zidd Zjdd Zkdd ZldS )    N)array)curry)get)HighLevelGraph)SubgraphCallable)!DispatchMSerializableLock_deprecated
asciitablecached_cumsumderived_fromensure_bytesensure_dict
ensure_setensure_unicodeextra_titlesformat_bytesformat_timefuncname
getargspechas_keywordis_arraylike
itemgetteriter_chunksmemory_reprmethodcallerndeepmapparse_bytesparse_timedeltapartial_by_orderrandom_state_dataskip_doctest	stringifystringify_collection_keystakes_multiple_argumentstmpfiletypename)incc                  C   sL   ddt dtdtddg} | D ]&}t|}t|ts:t|dks tq d S N   11B)
memoryview	bytearrayr   r   
isinstancebytesAssertionErrordatadresult r6   9/tmp/pip-unpacked-wheel-dbjnr7gq/dask/tests/test_utils.pytest_ensure_bytes3   s
    r8   c                  C   s*   t d} t| d}t|ts&td S )Nnumpy   )pytestimportorskipr   Zaranger/   r0   r1   )npr5   r6   r6   r7   test_ensure_bytes_ndarray;   s    
r>   c                  C   s.   t d} | d}t|}t|ts*td S )Npyarrow   123)r;   r<   	py_bufferr   r/   r0   r1   pabufr5   r6   r6   r7    test_ensure_bytes_pyarrow_bufferA   s    

rE   c                  C   sL   ddt dtdtddg} | D ]&}t|}t|ts:t|dks tq d S r)   )r-   r.   r   r   r/   strr1   r2   r6   r6   r7   test_ensure_unicodeH   s
    rG   c                  C   s>   t d} | jddd}t|}t|ts.t|dks:td S )Nr9   r@   u1)Zdtype123)r;   r<   Z
frombufferr   r/   rF   r1   )r=   ar5   r6   r6   r7   test_ensure_unicode_ndarrayP   s
    
rK   c                  C   s:   t d} | d}t|}t|ts*t|dks6td S )Nr?   r@   rI   )r;   r<   rA   r   r/   rF   r1   rB   r6   r6   r7   "test_ensure_unicode_pyarrow_bufferX   s
    

rL   c                  C   s   dd } t | jddgkstt| d}t |jddgks@tdd }| |_t |jddgksdtG dd	 d	}t |jd
ddgkstd S )Nc                 S   s   d S Nr6   )xyr6   r6   r7   funca   s    ztest_getargspec.<locals>.funcrN   rO      c                  _   s   d S rM   r6   )argskwargsr6   r6   r7   wrapperj   s    z test_getargspec.<locals>.wrapperc                   @   s   e Zd Zdd ZdS )ztest_getargspec.<locals>.MyTypec                 S   s   d S rM   r6   )selfrN   rO   r6   r6   r7   __init__q   s    z(test_getargspec.<locals>.MyType.__init__N__name__
__module____qualname__rV   r6   r6   r6   r7   MyTypep   s   r[   rU   )r   rR   r1   	functoolspartial__wrapped__)rP   Zfunc2rT   r[   r6   r6   r7   test_getargspec`   s    r_   c                  C   s   t tstt trtdd } G dd d}G dd d}t | sHtt |rTtt |s`tdd }t |rttd	d
 }t |stt |ddrtd S )Nc                 S   s
   | ||fS rM   r6   rJ   bcr6   r6   r7   multi{   s    z,test_takes_multiple_arguments.<locals>.multic                   @   s   e Zd Zdd ZdS )z/test_takes_multiple_arguments.<locals>.Singularc                 S   s   d S rM   r6   )rU   rJ   r6   r6   r7   rV      s    z8test_takes_multiple_arguments.<locals>.Singular.__init__NrW   r6   r6   r6   r7   Singular~   s   rd   c                   @   s   e Zd Zdd ZdS )z,test_takes_multiple_arguments.<locals>.Multic                 S   s   d S rM   r6   )rU   rJ   ra   r6   r6   r7   rV      s    z5test_takes_multiple_arguments.<locals>.Multi.__init__NrW   r6   r6   r6   r7   Multi   s   re   c                   S   s   d S rM   r6   r6   r6   r6   r7   f   s    z(test_takes_multiple_arguments.<locals>.fc                  W   s   d S rM   r6   )rR   r6   r6   r7   vararg   s    z-test_takes_multiple_arguments.<locals>.varargF)varargs)r%   mapr1   sum)rc   rd   re   rf   rg   r6   r6   r7   test_takes_multiple_argumentsw   s    rk   c                     s   t    tdd   tdd   t fdd dd }  t|  G dd d}| } d	d
ksrt td	d
kst ddkst ||kst d	d|fd
d|fkst j| jkstd S )Nc                 S   s   | d S N   r6   rJ   r6   r6   r7   <lambda>       ztest_dispatch.<locals>.<lambda>c                 S   s   | d S rl   r6   rn   r6   r6   r7   ro      rp   c                    s   t  fdd| D S )Nc                 3   s   | ]} |V  qd S rM   r6   ).0ifoor6   r7   	<genexpr>   s     z2test_dispatch.<locals>.<lambda>.<locals>.<genexpr>)tuplern   rs   r6   r7   ro      rp   c                 S   s   | S )zMy Docstringr6   rn   r6   r6   r7   rf      s    ztest_dispatch.<locals>.fc                   @   s   e Zd ZdS )ztest_dispatch.<locals>.BarNrX   rY   rZ   r6   r6   r6   r7   Bar   s   rx   rm   rQ         ?g               @)	r   registerintfloatrv   objectr1   dispatch__doc__)rf   rx   ra   r6   rs   r7   test_dispatch   s    r   c                  C   s0   t  } | tddd | ddddks,td S )	N
   c                 S   s   | | S rM   r6   rJ   ra   r6   r6   r7   ro      rp   z&test_dispatch_kwargs.<locals>.<lambda>rm      )ra      )r   )r   r{   r|   r1   rs   r6   r6   r7   test_dispatch_kwargs   s    r   c                  C   sN   t  } | tdd  | tdd  | dddks8t| ddd	ksJtd S )
Nc                 S   s   | | S rM   r6   r   r6   r6   r7   ro      rp   z:test_dispatch_variadic_on_first_argument.<locals>.<lambda>c                 S   s   | | S rM   r6   r   r6   r6   r7   ro      rp   rm   rQ      ry   rz   )r   r{   r|   r}   r1   rs   r6   r6   r7   (test_dispatch_variadic_on_first_argument   s
    r   c                     s   t    tdd  dd l} dd  d fdd} | jksRt | d	| d
ksnt d	d	ks~td S )Nc                 S   s   | S rM   r6   rn   r6   r6   r7   ro      rp   z$test_dispatch_lazy.<locals>.<lambda>r   c                 S   s   | d S rl   r6   rn   r6   r6   r7   foo_dec   s    z#test_dispatch_lazy.<locals>.foo_decdecimalc                     s   dd l }  | j d S )Nr   )r   r{   Decimal)r   rt   r   r6   r7   register_decimal   s    z,test_dispatch_lazy.<locals>.register_decimalrm   rQ   )r   r{   r|   r   register_lazyr   r   r1   )r   r   r6   r   r7   test_dispatch_lazy   s    r   c                     s   ddl  G dd d j} G dd d| }t |dd }d	d
 d fdd}| ksvt| ddkst jkst ddkst||kst|ddkstdS )zvCheck that subclasses of classes with lazily registered handlers still
    use their parent class's handler by defaultr   Nc                   @   s   e Zd ZdS )z*test_dispatch_lazy_walks_mro.<locals>.LazyNrw   r6   r6   r6   r7   Lazy   s   r   c                   @   s   e Zd ZdS )z+test_dispatch_lazy_walks_mro.<locals>.EagerNrw   r6   r6   r6   r7   Eager   s   r   c                 S   s   dS )Neagerr6   )rN   r6   r6   r7   eager_handler   s    z3test_dispatch_lazy_walks_mro.<locals>.eager_handlerc                 S   s   dS )Nlazyr6   rn   r6   r6   r7   lazy_handler   s    z2test_dispatch_lazy_walks_mro.<locals>.lazy_handlerr   c                      s     j d S rM   )r{   r   r6   r   rt   r   r6   r7   r      s    z6test_dispatch_lazy_walks_mro.<locals>.register_decimalrm   r   r   )r   r   r   r{   r   r   r1   )r   r   r   r   r6   r   r7   test_dispatch_lazy_walks_mro   s    
r   c                  C   s   t d} d}| j|}d}t||}t||ks8tt||}t||D ]&\}}|jdksbt||k	 sLtqLtdd}tddd d }t||D ]\}}||k	 stqd S )Nr9   %   i'  )ip  r   i  r   )
r;   r<   randomZRandomStater!   lenr1   zipshapeall)r=   seedstatenZstatesZstates2s1s2r6   r6   r7   test_random_state_data   s    



r   c                  C   s2   t ddddgD ]\} }td|  |kstqd S )Nz	1.0 bytesz1.0 KBz1.0 MBz1.0 GB   )	enumerater   r1   )powerZmem_reprr6   r6   r7   test_memory_repr  s    r   c                  C   s   dddddg} t d}|| d| dks.tt d|ks>ttj|ksLttt||ksdtdttksttdtt dkstdt	t dkstd S )Nrm   rQ   r   count)
r   r   r1   r   pickleloadsdumpsdirrF   repr)rJ   rf   r6   r6   r7   test_method_caller  s    r   c                  C   sH   d} t | }|dkstt d dks(td} d}t | }||ksDtd S )Nz!>>> xxx
>>>
>>> # comment
>>> xxxzE>>> xxx  # doctest: +SKIP
>>>
>>> # comment
>>> xxx  # doctest: +SKIP z"
>>> 1 + 2  # doctest: +ELLIPSES
3z)
>>> 1 + 2  # doctest: +ELLIPSES, +SKIP
3)r"   r1   )exampleresexpectedr6   r6   r7   test_skip_doctest   s    r   c                  C   s   d} d}t | |kstd S )NzR

    Notes
    -----
    hello

    Foo
    ---

    Notes
    -----
    bar
    z^

    Notes
    -----
    hello

    Foo
    ---

    Extra Notes
    -----------
    bar
    )r   r1   )r   r   r6   r6   r7   test_extra_titles<  s    r   c                  C   s&   t ddgddddg} | dks"td S )NZfruitcolor)Zapplered)ZbananaZyellow)Ztomator   )ZpearZgreenz+--------+--------+
| fruit  | color  |
+--------+--------+
| apple  | red    |
| banana | yellow |
| tomato | red    |
| pear   | green  |
+--------+--------+)r   r1   )r   r6   r6   r7   test_asciitable\  s    
r   c            	      C   sT  t  } t  }|  W 5 Q R X |  | W 5 Q R X W 5 Q R X |  | drPtW 5 Q R X tt| }tt| }tt|}| |||fD ]4}| |||fD ]"}| |drtW 5 Q R X qqtt|}tt|}| |||fD ]V}|||fD ]F}| | W 5 Q R X W 5 Q R X | | W 5 Q R X W 5 Q R X qqd S )NF)r	   acquirer1   r   r   r   )	rJ   ra   Za2a3Za4rN   rO   Zb2Zb3r6   r6   r7   test_SerializableLockm  s4    
r   c                  C   s\   t d} t d}t d}t  }| j|jk	s.t| j|jks>t|j| j|j|jfksXtd S )NrJ   ra   )r	   lockr1   )rJ   ra   rb   r4   r6   r6   r7   $test_SerializableLock_name_collision  s    r   c               	   C   s@   t d} |  rt|  |  s&tW 5 Q R X |  r<td S )NrJ   )r	   lockedr1   rn   r6   r6   r7   test_SerializableLock_locked  s
    r   c                  C   s4   t d} | jddst| jddr(t|   d S )NrJ   T)blockingF)r	   r   r1   releasern   r6   r6   r7   &test_SerializableLock_acquire_blocking  s    r   c                  C   s   dd } t | dkstt tj| dddks2tt tjdksDtt dd d	ksXtG d
d d}t |dksvtdt | kstd S )Nc                 S   s   d S rM   r6   r`   r6   r6   r7   rt     s    ztest_funcname.<locals>.foort   rm   rn   rj   c                   S   s   dS rl   r6   r6   r6   r6   r7   ro     rp   ztest_funcname.<locals>.<lambda>lambdac                   @   s   e Zd ZdS )ztest_funcname.<locals>.FooNrw   r6   r6   r6   r7   Foo  s   r   )r   r1   r\   r]   r   rj   )rt   r   r6   r6   r7   test_funcname  s    r   c                  C   s0   dd } t | }d|kstt|dk s,td S )Nc                   S   s   d S rM   r6   r6   r6   r6   r7   Da_long_function_name_11111111111111111111111111111111111111111111111  s    z`test_funcname_long.<locals>.a_long_function_name_11111111111111111111111111111111111111111111111Za_long_function_name<   )r   r1   r   )r   r5   r6   r6   r7   test_funcname_long  s    r   c                  C   s4   t dd } t| dkstt| ddks0td S )Nc                 S   s   d S rM   r6   r`   r6   r6   r7   rt     s    z test_funcname_toolz.<locals>.foort   rm   )r   r   r1   rs   r6   r6   r7   test_funcname_toolz  s    
r   c                  C   sN   t d} | tttdd }t|dks0tttj|dddksJtd S )NZmultipledispatchc                 S   s   d S rM   r6   r`   r6   r6   r7   rt     s    z+test_funcname_multipledispatch.<locals>.foort   rm   rn   )r;   r<   r   r|   r   r1   r\   r]   )Zmdrt   r6   r6   r7   test_funcname_multipledispatch  s
    

r   c                  C   sR   t d} | t}t|dks$ttj| jd d}| |}t|dksNtd S )Nr9   Zvectorize_int)outZvectorize_add)	r;   r<   Z	vectorizer|   r   r1   r\   r]   add)r=   ZvfuncrP   r6   r6   r7   test_funcname_numpy_vectorize  s    


r   c                  C   s   d} t dt| dkstdg} t dt| dks2tdddg} t dt| dddgksVtddgddgg} t dt| ddgddggkstddgdddggdgg gg} t dt| ddgdddggdgg ggkstd S )	Nrm   r   rQ   r               )r   r(   r1   )Lr6   r6   r7   test_ndeepmap  s    
 r   c                  C   s   ddi} t | | kstG dd dt}t | dd}t td| }t || }|||fD ],}t|tksnt|| k	szt|| ksZtqZd S )NrN   rm   c                   @   s   e Zd ZdS )z test_ensure_dict.<locals>.mydictNrw   r6   r6   r6   r7   mydict  s   r   Tcopy)r   r1   dictr   Zfrom_collectionstype)r4   r   Zd2Zd3Zd4Zdir6   r6   r7   test_ensure_dict  s    r   c                  C   sx   dh} t | | kstG dd dt}t | dd}t || }||fD ],}t|tksZt|| k	sft|| ksFtqFd S )Nrm   c                   @   s   e Zd ZdS )ztest_ensure_set.<locals>.mysetNrw   r6   r6   r6   r7   myset  s   r   Tr   )r   r1   setr   )sr   r   Zs3sir6   r6   r7   test_ensure_set  s    r   c                  C   s   dddg} t d}|| dks"ttt|}|| dksBt|jdksPtt dt dksdtt dt dksxtt ddkstd S )Nrm   rQ   r   {   )r   r1   r   r   r   index)r3   gZg2r6   r6   r7   test_itemgetter  s    
r   c                   C   s   t dtjdgddkstd S )Nr   )rm   r   )functionother   )r    operatorr   r1   r6   r6   r6   r7   test_partial_by_order%  s    r   c                  C   sb   ddd} t | dstt | ds&tt | ds4ttj| dd}t |dsPtt |ds^td S )	Nc                 S   s   d S rM   r6   r`   r6   r6   r7   rt   *  s    ztest_has_keyword.<locals>.foorJ   ra   rb   rm   rn   )N)r   r1   r\   r]   )rt   barr6   r6   r7   test_has_keyword)  s    
r   c                     s   G dd d G  fddd} G  fddd}| j j dsHtd| j jksXttd	d
 | j jdd d D stdd | j jdD \}d| kstd| kstd|j jkstd S )Nc                   @   s   e Zd Zdd ZdS )ztest_derived_from.<locals>.Fooc                 S   s   dS )zA super docstring

            An explanation

            Parameters
            ----------
            a: int
                an explanation of a
            b: float
                an explanation of b
            Nr6   r   r6   r6   r7   rf   8  s    z test_derived_from.<locals>.Foo.fN)rX   rY   rZ   rf   r6   r6   r6   r7   r   7  s   r   c                       s   e Zd Ze dd ZdS )ztest_derived_from.<locals>.Barc                 S   s   d S rM   r6   rJ   rb   r6   r6   r7   rf   F  s    z test_derived_from.<locals>.Bar.fNrX   rY   rZ   r   rf   r6   r   r6   r7   rx   E  s   rx   c                       s   e Zd Ze dd ZdS )ztest_derived_from.<locals>.Zapc                 S   s   dS zextra docstringNr6   r   r6   r6   r7   rf   K  s    z test_derived_from.<locals>.Zap.fNr   r6   r   r6   r7   ZapJ  s   r   zA super docstringzFoo.fc                 s   s   | ]}d |kV  qdS )inconsistenciesNr6   rq   liner6   r6   r7   ru   R  s     z$test_derived_from.<locals>.<genexpr>
r   c                 S   s   g | ]}d |kr|qS )zb:r6   r   r6   r6   r7   
<listcomp>T  s      z%test_derived_from.<locals>.<listcomp>not supporteddaskz  extra docstring

)rf   r   strip
startswithr1   anysplitlower)rx   r   Zb_argr6   r   r7   test_derived_from6  s    (r   c                  C   sF   dd l } t| dd }d|jks&td|jks4td|jksBtd S )Nr   c                   S   s   dS r   r6   r6   r6   r6   r7   rj   ^  s    z#test_derived_from_func.<locals>.sumzextra docstring

zReturn the sum ofz+This docstring was copied from builtins.sum)builtinsr   r   r1   )r   rj   r6   r6   r7   test_derived_from_func[  s    
r   c                  C   sn   t d} d| jjjkstdd | jjjdD \}d| ksHtd| ksXtd| jjjksjtd S )	Nzdask.dataframer   c                 S   s   g | ]}d |kr|qS )zaxis :r6   r   r6   r6   r7   r   m  s     z4test_derived_from_dask_dataframe.<locals>.<listcomp>r   r   r   z!Object with missing values filled)	r;   r<   Z	DataFrameZdropnar   r1   r   r   Zffill)ddZaxis_argr6   r6   r7    test_derived_from_dask_dataframeh  s    
r   c                   C   s   t ddkstt ddks tt ddks0tt ddks@tt dd	ksPtt d
dks`tt ddksptt ddkstt ddkstt ddkstt ddkstt ddkstd S )NZ100d   z100 MBi Z100MZ5kBi  z5.4 kBi  Z1kiBr   Z1Mii   Z1e6i@B z1e6 kBi ʚ;ZMBr   z.5GBi e)r   r1   r6   r6   r6   r7   test_parse_bytesv  s    r  c                  C   s<  ddddddddd	d
ddddddt jdddft jdddffD ],\} }t| }||ks@t|| dk s@tq@tddddksttddddksttddddksttddddksttddddksttt tddd W 5 Q R X tt tddd W 5 Q R X tt tdd d W 5 Q R X d S )N)Z1srm   )Z100ms皙?)Z5Sr   )z5.5s      @)z5.5 sr  )z1 secondrm   )z3.3 secondsgffffff
@)z3.3 millisecondsgF%uk?)z3500 usgy&1l?)z1 nsg&.>)Z2mx   )z5 daysi )z2 wi u )z	2 minutesr  )NN)r   r   rQ   )secondsr   )Zmillisecondsr  g+=Z1msr  )defaultgMbP?r+   rm   msF)	datetime	timedeltar   absr1   r;   Zraises
ValueError	TypeError)textvaluer5   r6   r6   r7   test_parse_timedelta  s@    r  c                  C   s   t d} tddksttddks*ttddks:ttg dksJttdgdks\tt| ddksrtt| ddkstt| ddkstd S )Nr9   r   Fr6   T)r   )r   r   )r;   r<   r   r1   empty)r=   r6   r6   r7   test_is_arraylike  s    
r  c               
   C   s   ddddddddddg
} t t| ddgddgddgddgdgdgdggksPtt t| ddddgddddgddgdggkstt t| d	dddddddgdddggkstd S )
N      r   	   r   rm         C   )listr   r1   )Zsizesr6   r6   r7   test_iter_chunks  s    
	2r  c                     s  d} t | | kstd} t | | ks(tddi t  t ksDtt  dd ksXtdtdfi t  tdtdfikstt  dddtdfiksttdftdfd t   dtdfttdfdkstdditdftdfdtdd	d
gftddgfdg}|D ]d  fdd  D }t }dd |D }tdd |D sTtt |t||kstqdt	ddidddfi t  t
 dhB d  d d jd dkst d d d dkstd S )NHellos   HellorN   rm   r6   Z	exclusiverN   rm   )r  )rN   rQ   rQ   r   c                    s"   i | ]\}}t |t | d qS )r  )r#   )rq   kvdskr6   r7   
<dictcomp>  s      z"test_stringify.<locals>.<dictcomp>c                 S   s   g | ]}t |qS r6   )rF   rq   r  r6   r6   r7   r     s     z"test_stringify.<locals>.<listcomp>c                 s   s   | ]}t |tV  qd S rM   )r/   rF   r"  r6   r6   r7   ru     s     z!test_stringify.<locals>.<genexpr>rO   rm   )r#  )zrm   r$  r   z('y', 1)z('z', 1))r#   r1   rF   r(   rj   itemsr  r   r   r   r   r   )objZdsksZsdskkeysZskeysr6   r  r7   test_stringify  s:    

r)  c                  C   sn   d} t | | kstdddg} t | }|d t| d ks>t|d t| d ksVt|d | d ksjtd S )Nr  )rJ   r   )   ar   )rm   rm   r   rm   rQ   )r$   r1   rF   )r'  r   r6   r6   r7   test_stringify_collection_keys  s    
r+  zn,expect)r   z0 B)i  z920 B)i  z0.91 kiB)gp=
,Az
921.23 kiB)gp=
-Az0.91 MiB)gp=
Az
921.23 MiB)gp=
Az0.91 GiB)gp=
lBz
921.23 GiB)gp=
mBz0.91 TiB)gp=
Cz
921.23 TiB)gp=
Cz0.91 PiB)l            z1024.00 PiBc                 C   s   t t| |kstd S rM   )r   r|   r1   )r   expectr6   r6   r7   test_format_bytes  s    r-  c                   C   s   t ddkstt ddks tt ddks0tt ddks@tt d	d
ksPtt ddks`tt ddksptt ddkstt ddkstd S )Ngffffff?z1.40 sg$@z10.40 sgY@z100.40 sg33333C@z16m 40sg33333@z2hr 46mgT㥛DJ@z20m 34sg)\@z3hr 25mgGz$@z34hr 17mġ2Az14d 6hr)r   r1   r6   r6   r6   r7   test_format_time  s    r.  c               	   C   sl   t  dd } tt}|  dks(tW 5 Q R X t|dksBtt|d j}d|ks\td|kshtd S )Nc                   S   s   dS Nr   r6   r6   r6   r6   r7   rt     s    ztest_deprecated.<locals>.foor   rm   r   zfoo is deprecatedzremoved in a future releaser
   r;   warnsFutureWarningr1   r   rF   message)rt   recordmsgr6   r6   r7   test_deprecated  s    
r6  c               	   C   s>   t dddd } tjtdd |  dks0tW 5 Q R X d S )N1.2.3)versionc                   S   s   dS r/  r6   r6   r6   r6   r7   rt   )  s    z$test_deprecated_version.<locals>.foozdeprecated in version 1.2.3matchr   r
   r;   r1  r2  r1   rs   r6   r6   r7   test_deprecated_version(  s    
r<  c               	   C   s>   t dddd } tjtdd |  dks0tW 5 Q R X d S )Nr7  )Zafter_versionc                   S   s   dS r/  r6   r6   r6   r6   r7   rt   2  s    z*test_deprecated_after_version.<locals>.foozdeprecated after version 1.2.3r9  r   r;  rs   r6   r6   r7   test_deprecated_after_version1  s    
r=  c               	   C   s:   t tddd } tt |  dks,tW 5 Q R X d S )N)categoryc                   S   s   dS r/  r6   r6   r6   r6   r7   rt   ;  s    z%test_deprecated_category.<locals>.foor   )r
   DeprecationWarningr;   r1  r1   rs   r6   r6   r7   test_deprecated_category:  s    
r@  c               	   C   s`   t dddd } tt}|  dks,tW 5 Q R X t|dksFtt|d jdks\td S )NZwoohoo)r3  c                   S   s   dS r/  r6   r6   r6   r6   r7   rt   D  s    z$test_deprecated_message.<locals>.foor   rm   r   r0  )rt   r4  r6   r6   r7   test_deprecated_messageC  s    
rA  c                   C   s(   t tdkstt tdddks$td S )Nz"dask.highlevelgraph.HighLevelGraphT)shortzdask.HighLevelGraph)r'   r   r1   r6   r6   r6   r7   test_typenameO  s    rC  c                   @   s   e Zd ZdS )r[   Nrw   r6   r6   r6   r7   r[   T  s   r[   c                  C   s   t  } t| tt kstd S rM   )r[   r'   r1   )instancer6   r6   r7   test_typename_on_instancesX  s    rE  c                  C   s4   d} t | }t | dd}|dks$t|dks0td S )N)rm   rQ   r   r   TZinitial_zero)rm   r   r   r   )r   rm   r   r   r   r   r1   )rJ   rN   rO   r6   r6   r7   test_cached_cumsum]  s
    rH  c                  C   s`   t d} d| jdf}t|}t|dd}| j|d| j| jf | j|dd| j| jf d S )Nr9   rm   r   TrF  r   )r;   r<   nanr   ZtestingZassert_equal)r=   rJ   rN   rO   r6   r6   r7   test_cached_cumsum_nane  s    
rJ  c                  C   s6   dddg} t | dkstd| d< t | dks2td S )Nrm   rQ   r   )rm   r   r   r   )rm   r   r  rG  rn   r6   r6   r7   test_cached_cumsum_non_tuplen  s    
rK  c               	   C   s   t  } | d dkstW 5 Q R X t dd} | dd  dksBtW 5 Q R X t dd*} | dd  dkslt| d dks|tW 5 Q R X d S )Nr   .Zjpg)	extensionz.jpg)r&   r1   )fnr6   r6   r7   test_tmpfile_namingu  s    rQ  )mr  r\   r   r   r   r;   Ztlzr   r   r   Zdask.highlevelgraphr   Zdask.optimizationr   Z
dask.utilsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   Zdask.utils_testr(   r8   r>   rE   rG   rK   rL   r_   rk   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r)  r+  markZparametrizer-  r.  r6  r<  r=  r@  rA  rC  r[   rE  rH  rJ  rK  rQ  r6   r6   r6   r7   <module>   s   #	  #	%&&
				