
    tfy\                    &   d dl mZ 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/m0Z0m1Z1m2Z2 d d	l3m4Z4 d
 Z5d Z6d Z7d Z8d Z9d Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBd ZCd ZDd ZEd ZFd ZGd ZHd ZId ZJd  ZKd! ZLd" ZMd# ZNd$ ZOd% ZPd& ZQd' ZRd( ZSd) ZTd* ZUd+ ZVd, ZWej                  j                  d-eZej                  gd.d/g0      d1        Z\d2 Z]d3 Z^d4 Z_d5 Z`d6 Zad7 Zbd8 Zcd9 Zdej                  j                  d:g d;      d<        Zed= Zfd> Zgd? Zhd@ ZidA ZjdB ZkdC Zl G dD dE      ZmdF ZndG ZodH ZpdI ZqdJ ZrdK ZsdL Zty)M    )annotationsN)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get_meta_library
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                     ddt        d      t        d      t        dd      g} | D ]&  }t        |      }t	        |t
              sJ |dk(  r&J  y N   11B)
memoryview	bytearrayr   r   
isinstancebytesdatadresults      _/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/dask/tests/test_utils.pytest_ensure_bytesr:   6   sV    #z$'4%T:JKD a&%(((~~    c                     t        j                  d      } t        | j                  d            }t	        |t
              sJ y )Nnumpy   )pytestimportorskipr   aranger3   r4   )npr8   s     r9   test_ensure_bytes_ndarrayrC   >   s4    			W	%B"))B-(Ffe$$$r;   c                     t        j                  d      } | j                  d      }t        |      }t	        |t
              sJ y )Npyarrow   123)r?   r@   	py_bufferr   r3   r4   pabufr8   s      r9    test_ensure_bytes_pyarrow_bufferrK   D   s:    			Y	'B
,,v
C#Ffe$$$r;   c                     ddt        d      t        d      t        dd      g} | D ]&  }t        |      }t	        |t
              sJ |dk(  r&J  y r-   )r1   r2   r   r   r3   strr5   s      r9   test_ensure_unicoderN   K   sW    #z$'4%T:JKD "&#&&&}}r;   c                     t        j                  d      } | j                  dd      }t        |      }t	        |t
              sJ |dk(  sJ y )Nr=   rF   u1)dtype123)r?   r@   
frombufferr   r3   rM   )rB   ar8   s      r9   test_ensure_unicode_ndarrayrU   S   sJ    			W	%B
fD)AAFfc"""U??r;   c                     t        j                  d      } | j                  d      }t        |      }t	        |t
              sJ |dk(  sJ y )NrE   rF   rR   )r?   r@   rG   r   r3   rM   rH   s      r9   "test_ensure_unicode_pyarrow_bufferrW   [   sF    			Y	'B
,,v
CC Ffc"""U??r;   c                 >   d } t        |       j                  ddgk(  sJ t        j                  | d      }t        |      j                  ddgk(  sJ d }| |_        t        |      j                  ddgk(  sJ  G d d      }t        |      j                  g dk(  sJ y )	Nc                     y N )xys     r9   funcztest_getargspec.<locals>.funcd       r;   r\   r]      c                      y rZ   r[   )argskwargss     r9   wrapperz test_getargspec.<locals>.wrapperm   r_   r;   c                      e Zd Zd Zy)test_getargspec.<locals>.MyTypec                     y rZ   r[   selfr\   r]   s      r9   __init__z(test_getargspec.<locals>.MyType.__init__t       r;   N__name__
__module____qualname__rj   r[   r;   r9   MyTyperf   s       	r;   rp   rh   )r   rb   	functoolspartial__wrapped__)r^   func2rd   rp   s       r9   test_getargspecrv   c   s     d  S#J...dA&Ee!!c3Z/// Gg##Sz111  f""&8888r;   c                 "   t        t              sJ t        t              rJ d }  G d d      } G d d      }t        |       sJ t        |      rJ t        |      sJ d }t        |      rJ d }t        |      sJ t        |d	      rJ y )
Nc                    | ||fS rZ   r[   rT   bcs      r9   multiz,test_takes_multiple_arguments.<locals>.multi~   s    !Qwr;   c                      e Zd Zd Zy)/test_takes_multiple_arguments.<locals>.Singularc                     y rZ   r[   )ri   rT   s     r9   rj   z8test_takes_multiple_arguments.<locals>.Singular.__init__   rk   r;   Nrl   r[   r;   r9   Singularr~      rq   r;   r   c                      e Zd Zd Zy),test_takes_multiple_arguments.<locals>.Multic                     y rZ   r[   )ri   rT   rz   s      r9   rj   z5test_takes_multiple_arguments.<locals>.Multi.__init__   rk   r;   Nrl   r[   r;   r9   Multir      rq   r;   r   c                      y rZ   r[   r[   r;   r9   fz(test_takes_multiple_arguments.<locals>.f   r_   r;   c                      y rZ   r[   )rb   s    r9   varargz-test_takes_multiple_arguments.<locals>.vararg   r_   r;   F)varargs)r(   mapsum)r|   r   r   r   r   s        r9   test_takes_multiple_argumentsr   z   s    #C(((',,,   $E***'111#E*** (*** $F+++'>>>>r;   c                    t               j                  t        d        j                  t        d        j                  t        fd       d } j                  t
        |         G d d      } |       } d      dk(  sJ  j                  t              d      dk(  sJ  d	      d
k(  sJ  |      |k(  sJ  dd|f      dd	|fk(  sJ j                  | j                  k(  sJ y )Nc                    | dz   S N   r[   rT   s    r9   <lambda>ztest_dispatch.<locals>.<lambda>   s
    A r;   c                    | dz
  S r   r[   r   s    r9   r   ztest_dispatch.<locals>.<lambda>   s
    !a% r;   c                ,    t        fd| D              S )Nc              3  .   K   | ]  } |        y wrZ   r[   ).0ifoos     r9   	<genexpr>z2test_dispatch.<locals>.<lambda>.<locals>.<genexpr>   s     ':1A':s   )tuple)rT   r   s    r9   r   ztest_dispatch.<locals>.<lambda>   s    %':':": r;   c                    | S )zMy Docstringr[   r   s    r9   r   ztest_dispatch.<locals>.f   s    r;   c                      e Zd Zy)test_dispatch.<locals>.BarNrm   rn   ro   r[   r;   r9   Barr          r;   r   r   r`         ?g               @)r	   registerintfloatr   objectdispatch__doc__)r   r   rz   r   s      @r9   test_dispatchr      s    
*CLLo&LL(LL:; LL  	Aq6Q;;3<<Q1$$$s8s??q6Q;;3{3{***;;!))###r;   c                 f    t               } | j                  t        dd        | dd      dk(  sJ y )Nc                    | |z   S rZ   r[   rT   rz   s     r9   r   z&test_dispatch_kwargs.<locals>.<lambda>   s
    a!e r;   r      )rz      )
   )r	   r   r   r   s    r9   test_dispatch_kwargsr      s,    
*CLL+,qB<2r;   c                     t               } | j                  t        d        | j                  t        d         | dd      dk(  sJ  | dd      dk(  sJ y )	Nc                    | |z   S rZ   r[   r   s     r9   r   z:test_dispatch_variadic_on_first_argument.<locals>.<lambda>   s
    1q5 r;   c                    | |z
  S rZ   r[   r   s     r9   r   z:test_dispatch_variadic_on_first_argument.<locals>.<lambda>   s
    QU r;   r   r`      r   r   )r	   r   r   r   r   s    r9   (test_dispatch_variadic_on_first_argumentr      sM    
*CLL()LL*+q!9>>sC=Br;   c                 <   t               j                  t        d        dd l} d j	                  d      fd       }j                  | j                        k(  sJ  | j                  d            | j                  d      k(  sJ  d      dk(  sJ y )Nc                    | S rZ   r[   r   s    r9   r   z$test_dispatch_lazy.<locals>.<lambda>   s     r;   r   c                    | dz   S r   r[   r   s    r9   foo_decz#test_dispatch_lazy.<locals>.foo_dec   s    1ur;   decimalc                 F    dd l } j                  | j                         y )Nr   )r   r   Decimal)r   r   r   s    r9   register_decimalz,test_dispatch_lazy.<locals>.register_decimal   s    W__g.r;   r   r`   )r	   r   r   r   register_lazyr   r   )r   r   r   r   s     @@r9   test_dispatch_lazyr      s    
*CLLk" 	y!/ "/ <<(G333wq!"gooa&8888q6Q;;r;   c                    ddl  G d dj                        }  G d d|       }t               j                  |      d        }d j	                  d	      fd
       }j                  |       k(  sJ   | d            dk(  sJ j                  j                        k(  sJ  j                  d            dk(  sJ j                  |      |k(  sJ   |d            dk(  sJ y)zvCheck that subclasses of classes with lazily registered handlers still
    use their parent class's handler by defaultr   Nc                      e Zd Zy)*test_dispatch_lazy_walks_mro.<locals>.LazyNr   r[   r;   r9   Lazyr      r   r;   r   c                      e Zd Zy)+test_dispatch_lazy_walks_mro.<locals>.EagerNr   r[   r;   r9   Eagerr      r   r;   r   c                     y)Neagerr[   )r\   s    r9   eager_handlerz3test_dispatch_lazy_walks_mro.<locals>.eager_handler   s    r;   c                     y)Nlazyr[   r   s    r9   lazy_handlerz2test_dispatch_lazy_walks_mro.<locals>.lazy_handler   s    r;   r   c                 >    j                   j                         y rZ   )r   r   )r   r   r   s   r9   r   z6test_dispatch_lazy_walks_mro.<locals>.register_decimal   s    W__l3r;   r   r   r   )r   r   r	   r   r   r   )r   r   r   r   r   r   r   s       @@@r9   test_dispatch_lazy_walks_mror      s     w   *C\\%  	y!4 "4 <<---tAw<6!!!<<(L888wq!"f,,,<<-///uQx=G###r;   c                    t        j                  d      } d}| j                  j                  |      }d}t	        ||      }t        |      |k(  sJ t	        ||      }t        ||      D ]+  \  }}|j                  dk(  sJ ||k(  j                         r+J  t	        dd      }t	        dd      d d }t        ||      D ]  \  }}||k(  j                         rJ  y )Nr=   %   i'  )ip  r   i  r   )	r?   r@   randomRandomStater$   lenzipshapeall)rB   seedstatenstatesstates2s1s2s           r9   test_random_state_datar      s    			W	%BDII!!$'EA q$'Fv;!  5)Gfg&  Bxx6!!!b~~ 
 r4(FD)#2.Gfg&  Bb~~ r;   c                 T    t        g d      D ]  \  } }t        d| z        |k(  rJ  y )N)z	1.0 bytesz1.0 KBz1.0 MBz1.0 GB   )	enumerater   )powermem_reprs     r9   test_memory_reprr     s2    $%PQ 4x4;'83334r;   c                    g d} t        d      } || d      | j                  d      k(  sJ t        d      |u sJ t        j                  |u sJ t        j                  t        j
                  |            |u sJ dt        t              v sJ dt        t        d            v sJ dt        t        d            v sJ y )N)r   r`   r   r   r   countr   )	r   r   r
   pickleloadsdumpsdirrM   repr)rT   r   s     r9   test_method_callerr     s    AWAQ7aggaj    A%%%77a<<<<Q(A---c!fc,w/0000d<01111r;   c                 x    d} t        |       }|dk(  sJ t        d       dk(  sJ d} d}t        |       }||k(  sJ y )Nz!>>> xxx
>>>
>>> # comment
>>> xxxzE>>> xxx  # doctest: +SKIP
>>>
>>> # comment
>>> xxx  # doctest: +SKIP z"
>>> 1 + 2  # doctest: +ELLIPSES
3z)
>>> 1 + 2  # doctest: +ELLIPSES, +SKIP
3)r%   )exampleresexpecteds      r9   test_skip_doctestr   #  sg    G
 w
C		 ###GH w
C(??r;   c                 ,    d} d}t        |       |k(  sJ y )NzR

    Notes
    -----
    hello

    Foo
    ---

    Notes
    -----
    bar
    z^

    Notes
    -----
    hello

    Foo
    ---

    Extra Notes
    -----------
    bar
    )r   )r   r   s     r9   test_extra_titlesr   ?  s%    GH  H,,,r;   c                 2    t        ddgg d      } | dk(  sJ y )Nfruitcolor))applered)bananayellow)tomator   )peargreenz+--------+--------+
| fruit  | color  |
+--------+--------+
| apple  | red    |
| banana | yellow |
| tomato | red    |
| pear   | green  |
+--------+--------+)r   )r   s    r9   test_asciitabler  _  s0    
	'VC 		 	 	r;   c            	        t               } t               }| 5  	 d d d        | 5  |5  	 d d d        d d d        | 5  | j                  d      rJ 	 d d d        t        j                  t        j                  |             }t        j                  t        j                  |             }t        j                  t        j                  |            }| |||fD ],  }| |||fD ]!  }|5  |j                  d      rJ 	 d d d        # . t        j                  t        j                  |            }t        j                  t        j                  |            }| |||fD ]:  }|||fD ]0  }|5  |5  	 d d d        d d d        |5  |5  	 d d d        d d d        2 < y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   rxY w# 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   qxY w# 1 sw Y   nxY w# 1 sw Y   xY w)NF)r   acquirer   r   r   )	rT   rz   a2a3a4r\   r]   b2b3s	            r9   test_SerializableLockr	  p  s   AA	
  
  		 
 $99U####$ 
fll1o	&B	fll1o	&B	fll2&	'BR_ ,RR 	,A ,99U++++, ,	,,
 
fll1o	&B	fll2&	'BR_ R 	A      		- 	 	 $ $, ,    s   FF2F%F2F?#G'G$*G	,G$>G<G0	G<F"%F/	*F22F<?G	GG!G$$G-0G95G<<Hc                 $   t        d      } t        d      }t        d      }t               }| j                  |j                  usJ | j                  |j                  u sJ |j                  | j                  |j                  |j                  fvsJ y )NrT   rz   )r   lock)rT   rz   r{   r7   s       r9   $test_SerializableLock_name_collisionr    sy    AAAA6666QVV66!&&!&&!&&1111r;   c                     t        d      } | j                         rJ | 5  | j                         sJ 	 d d d        | j                         rJ y # 1 sw Y   xY w)NrT   )r   lockedr   s    r9   test_SerializableLock_lockedr    sP    Axxz>	
 xxzzxxz>z s   AAc                     t        d      } | j                  d      sJ | j                  d      rJ | j                          y )NrT   T)blockingF)r   r  releaser   s    r9   &test_SerializableLock_acquire_blockingr    s=    A99d9###yy%y(((IIKr;   c                 .   d } t        |       dk(  sJ t        t        j                  | d            dk(  sJ t        t        j                        dk(  sJ t        d       dk(  sJ  G d d	      }t        |      d	k(  sJ d	t         |             v sJ y )
Nc                     y rZ   r[   ry   s      r9   r   ztest_funcname.<locals>.foo  r_   r;   r   r   r   r   c                      yr   r[   r[   r;   r9   r   ztest_funcname.<locals>.<lambda>      r;   lambdac                      e Zd Zy)test_funcname.<locals>.FooNr   r[   r;   r9   Foor    r   r;   r  )r   rr   rs   r
   r   )r   r  s     r9   test_funcnamer    s     C=E!!!I%%cQ/0E999AEE?e###I(***  C=E!!!HSUO###r;   c                 L    d } t        |       }d|v sJ t        |      dk  sJ y )Nc                      y rZ   r[   r[   r;   r9   Da_long_function_name_11111111111111111111111111111111111111111111111z`test_funcname_long.<locals>.a_long_function_name_11111111111111111111111111111111111111111111111  r_   r;   a_long_function_name<   )r   r   )r  r8   s     r9   test_funcname_longr"    s8     LF "V+++v;r;   c                 h    t         d        } t        |       dk(  sJ t         | d            dk(  sJ y )Nc                     y rZ   r[   ry   s      r9   r   z test_funcname_toolz.<locals>.foo      r;   r   r   )r   r   r   s    r9   test_funcname_toolzr&    s?    
  C=E!!!CFu$$$r;   c                     t        j                  d      } | j                  t        t        t              d        }t	        |      dk(  sJ t	        t        j                  |d            dk(  sJ y )Nmultipledispatchc                     y rZ   r[   ry   s      r9   r   z+test_funcname_multipledispatch.<locals>.foo  r%  r;   r   r   r   )r?   r@   r   r   r   rr   rs   )mdr   s     r9   test_funcname_multipledispatchr+    sf    			/	0B[[c3   C=E!!!I%%cQ/0E999r;   c                     t        j                  d      } | j                  t              }t	        |      dk(  sJ t        j                  | j                  d       }| j                  |      }t	        |      dk(  sJ y )Nr=   vectorize_int)outvectorize_add)r?   r@   	vectorizer   r   rr   rs   add)rB   vfuncr^   s      r9   test_funcname_numpy_vectorizer3    sj    			W	%BLLEE?o--- RVV.DLLEE?o---r;   c                 B   d} t        dt        |       dk(  sJ dg} t        dt        |       dk(  sJ g d} t        dt        |       g dk(  sJ ddgddgg} t        dt        |       ddgddggk(  sJ ddgg d	gd
gg gg} t        dt        |       ddgg dgdgg ggk(  sJ y )Nr   r   r`   r   r`   r   )r`   r      r   r6     )r   r6  r7     )r6  r7  r8     )r    r+   )Ls    r9   test_ndeepmapr;    s    	AAsA!###	
AAsA!###AAsA)+++
Q!QAAsAAq6Aq6"2222a&)	sBi(AAsAQFI#6!b	"BBBBr;   c                    ddi} t        |       | u sJ  G d dt              }t        | d      }t        t        j                  d|             }t         ||             }|||fD ]"  }t	        |      t        u sJ || usJ || k(  r"J  y )Nr\   r   c                      e Zd Zy) test_ensure_dict.<locals>.mydictNr   r[   r;   r9   mydictr>    r   r;   r?  Tcopy)r   dictr   from_collectionstype)r7   r?  d2d3d4dis         r9   test_ensure_dictrI    s    	aAq>Q  
QT	"B	^44S!<	=B	VAY	B2rl Bx4{{Qwwr;   c                     dh} t        |       | u sJ  G d dt              }t        | d      }t         ||             }||fD ]"  }t        |      t        u sJ || usJ || k(  r"J  y )Nr   c                      e Zd Zy)test_ensure_set.<locals>.mysetNr   r[   r;   r9   mysetrL    r   r;   rM  Tr@  )r   setrD  )srM  r   s3sis        r9   test_ensure_setrR    s}    	
Aa=A  
AD	!B	E!H	B2h Bx3{{Qwwr;   c                 L   g d} t        d      } ||       dk(  sJ t        j                  t        j                  |            } ||       dk(  sJ |j                  dk(  sJ t        d      t        d      k(  sJ t        d      t        d      k7  sJ t        d      dk7  sJ y )Nr5  r   r`   {   )r   r   r   r   index)r6   gg2s      r9   test_itemgetterrX    s    D1AT7a<<	fll1o	&Bd8q==88q==a=JqM)))a=JqM)))a=Cr;   c                 H    t        dt        j                  dg      dk(  sJ y )Nr7  )r   r   )functionother   )r#   operatorr1  r[   r;   r9   test_partial_by_orderr^  (  s    AWIF"LLLr;   c                     dd} t        | d      sJ t        | d      sJ t        | d      sJ t        j                  | d      }t        |d      sJ t        |d      sJ y )Nc                     y rZ   r[   ry   s      r9   r   ztest_has_keyword.<locals>.foo-  r_   r;   rT   rz   r{   r   r   rZ   )r   rr   rs   )r   bars     r9   test_has_keywordrb  ,  sk     sC   sC   sC   


C1
%CsC   sC   r;   c                 ^    G d d       G fdd      }  G fdd      }| j                   j                  j                         j                  d      sJ d| j                   j                  v sJ t	        d	 | j                   j                  j                  d
      d d D              sJ | j                   j                  j                  d
      D cg c]	  }d|v s| c}\  }d|j                         v sJ d|j                         v sJ d|j                   j                  v sJ y c c}w )Nc                      e Zd Zd Zy)test_derived_from.<locals>.Fooc                     y)zA super docstring

            An explanation

            Parameters
            ----------
            a: int
                an explanation of a
            b: float
                an explanation of b
            Nr[   r   s     r9   r   z test_derived_from.<locals>.Foo.f;  r  r;   N)rm   rn   ro   r   r[   r;   r9   r  re  :  s    	r;   r  c                  ,    e Zd Z eW        d        Zy)test_derived_from.<locals>.Barc                     y rZ   r[   rT   r{   s     r9   r   z test_derived_from.<locals>.Bar.fI  s    r;   Nrm   rn   ro   r   r   r  s   r9   r   rh  H  s    	c		 
	r;   r   c                  ,    e Zd Z eW        d        Zy)test_derived_from.<locals>.Zapc                     yzextra docstringNr[   rj  s     r9   r   z test_derived_from.<locals>.Zap.fN  s     r;   Nrk  rl  s   r9   Zaprn  M  s    	c		 
	r;   rq  zA super docstringzFoo.fc              3  $   K   | ]  }d |v  
 ywinconsistenciesNr[   r   lines     r9   r   z$test_derived_from.<locals>.<genexpr>U  s     ST D(S   
r9  zb:not supporteddaskextra docstring

)r   r   strip
startswithanysplitlower)r   rq  rv  b_argr  s       @r9   test_derived_fromr  9  s      
  55== ++,?@@@ceemm###SSUU]]5H5H5NrPQ5RSSSS # 3 3D 9JTT\tJGUekkm+++U[[]""" CEEMM111	 Ks   	D*D*	decoratorz	@propertyz@cached_property)idsc                <     G  fdd       G  fdd      }|j                   j                  }|J |j                         j                  d      sJ t	        d |j                  d      D              sJ t	        d |j                  d      D              sJ y )	Nc                       e Zd ZW  d        Zy)0test_derived_from_prop_cached_prop.<locals>.Basec                     y)z$A property

            Long detailsr   r[   ri   s    r9   propz5test_derived_from_prop_cached_prop.<locals>.Base.prope  s    
 r;   N)rm   rn   ro   r  )r  s   r9   Baser  d  s    		 
	r;   r  c                  8    e Zd ZW  eW        d               Zy)3test_derived_from_prop_cached_prop.<locals>.Derivedc                     y)Some extra docr   r[   r  s    r9   r  z8test_derived_from_prop_cached_prop.<locals>.Derived.propm  s     r;   N)rm   rn   ro   r   r  )r  r  s   r9   Derivedr  l  s"    		d		 
 
	r;   r  z
A propertyc              3  $   K   | ]  }d |v  
 ywrs  r[   ru  s     r9   r   z5test_derived_from_prop_cached_prop.<locals>.<genexpr>v  s     KT D(Krw  rx  c              3  $   K   | ]  }d |v  
 yw)r  Nr[   ru  s     r9   r   z5test_derived_from_prop_cached_prop.<locals>.<genexpr>w  s     JD4'Jrw  )r  r   r|  r}  r~  r  )r  r  	docstringr  s   `  @r9   "test_derived_from_prop_cached_propr  ^  s       $$I   ??''555KY__T5JKKKKJIOOD4IJJJJr;   c                     dd l } t        |       d        }d|j                  v sJ d|j                  v sJ d|j                  v sJ y )Nr   c                      yrp  r[   r[   r;   r9   r   z#test_derived_from_func.<locals>.sum}  s     	r;   r{  zReturn the sum ofz+This docstring was copied from builtins.sum)builtinsr   r   )r  r   s     r9   test_derived_from_funcr  z  sT    (  !CKK///#++---8CKKGGGr;   c                    t        j                  d      } t        j                  d      } | j                         rt        j                  d       d| j                  j
                  j                  v sJ | j                  j
                  j                  j                  d      D cg c]	  }d|v s| c}\  }d|j                         v sJ d|j                         v sJ d	| j                  j                  j                  v sJ y c c}w )
Npandasdask.dataframezwe don't have docs yetrt  rx  zaxis :ry  rz  z!Object with missing values filled)
r?   r@   _dask_expr_enabledxfail	DataFramedropnar   r  r  ffill)ddrv  axis_args      r9    test_derived_from_dask_dataframer    s    			X	&B			-	.B	-. 3 3 ; ;;;; ,,44::4@HPTDTJX hnn....X^^%%%%.",,2D2D2L2LLLLs   %	D/Dc                    t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      d	k(  sJ t        d
      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ y )N100d   z100 MBi 100M5kBi  z5.4 kBi  1kiBr   1Mii   1e6i@B z1e6 kBi ʚ;MBrT  z.5GBi e)r!   r[   r;   r9   test_parse_bytesr    s    u$$$x I---v)+++u%%%x D(((v$&&&u&&&u(((x J...t'''ss"""v)+++r;   c                 h   ddddddddd	d
ddddddt        j                  d      dft        j                  d      dffD ])  \  } }t        |       }||k(  rt        ||z
        dk  r)J  t        dd      dk(  sJ t        dd      dk(  sJ t        dd      dk(  sJ t        dd      dk(  sJ t        dd      dk(  sJ t	        j
                  t              5  t        dd       d d d        t	        j
                  t              5  t        dd       d d d        t	        j
                  t              5  t        dd        d d d        t	        j
                  t        d       5  t        d!       d d d        y # 1 sw Y   xY w# 1 sw Y   txY w# 1 sw Y   QxY w# 1 sw Y   y xY w)"N)1sr   )100ms皙?)5Sr7  )z5.5s      @)z5.5 sr  )z1 secondr   )z3.3 secondsgffffff
@)z3.3 millisecondsgF%uk?)z3500 usgy&1l?)z1 nsg&.>)2mx   )z5 daysi )z2 wi u )z	2 minutesr  )NN)r   r   r`   )secondsr  )millisecondsr  g+=1msr  )defaultgMbP?r/   r   msFz'Invalid time unit: foo. Valid units arematchz1 foo)	datetime	timedeltar"   absr?   raises
ValueError	TypeErrorKeyError)textvaluer8   s      r9   test_parse_timedeltar    s   $$%			A	&*				-s3% >e( !&#fun"5"===+>. 5)4===3	2a7773-6661d+u4445%0E999	z	" *5)*	z	" ,U+,	y	! +T*+	x'P	Q ! ! !* *, ,+ +! !s0    FF>F/F(FFF%(F1c                 z   t        j                  d      } t        d      du sJ t        d      du sJ t        d      du sJ t        g       du sJ t        dg      du sJ t        | j                  d            du sJ t        | j                  d            du sJ t        | j                  d            du sJ y )Nr=   r   Fr[   T)r   )r   r   )r?   r@   r   empty)rB   s    r9   test_is_arrayliker    s    			W	%B?e###u$$$?e###u$$$%%%%---'4///()T111r;   c                     g d} t        t        | d            dgddgddgddgdgdgdggk(  sJ t        t        | d	            g d
g dddgdggk(  sJ t        t        | d            g dg dgk(  sJ y )N)
      r7  	   r9  r  r      r  r  r  r  r  r7  r  r9  r      )r  r  r7  )r  r9  r  r   C   )r  r  r7  r  r9  r  r   )r  r  r  )listr   )sizess    r9   test_iter_chunksr    s    -EE2&'		
A	
A	
A		
	,    E2&'Jr1gPRt+TTTTE2&',BK+PPPPr;   c            
        d} t        |       | u sJ d} t        |       | u sJ ddi}t        |      t        |      k(  sJ t        |d      |k(  sJ dt        dfi}t        |      t        dt        dfi      k(  sJ t        |d      dt        dfik(  sJ t        dft        dfd}t        ||      t        dft        t        d      fdk(  sJ ddit        dft        dfdt        g d	ft        ddgfdg}|D ]  }|j	                         D ci c]  \  }}t        |      t        ||       }}}t        |      }|D cg c]  }t        |       }}t        d
 |D              sJ t        ||      t        ||      k(  rJ  dt        ddidd      dfi}t        |t        |      dhz        }|d   d   j                  d   dk(  sJ |d   d   d   dk(  sJ y c c}}w c c}w )NHellos   Hellor\   r   r[   )	exclusiver\   r   )r  )r\   r`   r5  c              3  <   K   | ]  }t        |t                y wrZ   )r3   rM   )r   ks     r9   r   z!test_stringify.<locals>.<genexpr>	  s     4!:a%4s   r]   r   )r  )zr   r  r   z('y', 1)z('z', 1))r&   rM   r+   r   itemsr  r   r   r   rN  dsk)objr  dsksr  vsdskkeysskeyss           r9   test_stringifyr    s4   
CS>S   
CS>S   (CS>SX%%%SB'3...c1X
CS>S(S!H!56666SB'HsAh+????1X#x
9CSC((H&-    
a8X7#h5I/JKD
  2FIiikRda	!iS99RRCy!%&AQ&&4t44443~T5!11112 &X[I;W
XC
C3s8xj#8
9Cx=$
222x=A*,,, S&s   !G#G)c                     d} t        |       | u sJ g d} t        |       }|d   t        | d         k(  sJ |d   t        | d         k(  sJ |d   | d   k(  sJ y )Nr  ))rT   r   )   ar   )r   r   r   r   r`   )r'   rM   )r  r   s     r9   test_stringify_collection_keysr    ss    
C$S)S000
'C
#C
(Cq6SQ[   q6SQ[   q6SV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                6    t        t        |             |k(  sJ y rZ   )r   r   )r   expects     r9   test_format_bytesr    s    $ A6)))r;   c                 $   t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d	      d
k(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ y )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   r[   r;   r9   test_format_timer  2  s    sx'''t	)))u+++v)+++w9,,,x I---x I---y!Z///y!Y...r;   c                    t               d        } t        j                  t              5 } |        dk(  sJ 	 d d d        t	              dk(  sJ t        |d   j                        }d|v sJ d|v sJ y # 1 sw Y   >xY w)Nc                      yNra  r[   r[   r;   r9   r   ztest_deprecated.<locals>.foo?      r;   ra  r   r   zfoo is deprecatedzremoved in a future releaser   r?   warnsFutureWarningr   rM   message)r   recordmsgs      r9   test_deprecatedr  >  s    ]  
m	$ u~~ v;!
fQi
 C#%%%(C/// s   A55A>c                     t        d      d        } t        j                  t        d      5   |        dk(  sJ 	 d d d        y # 1 sw Y   y xY w)N1.2.3)versionc                      yr  r[   r[   r;   r9   r   z$test_deprecated_version.<locals>.fooM  r  r;   zdeprecated in version 1.2.3r  ra  r   r?   r  r  r   s    r9   test_deprecated_versionr  L  sM    ! " 
m+H	I u~~     AAc                     t        d      d        } t        j                  t        d      5   |        dk(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr  )after_versionc                      yr  r[   r[   r;   r9   r   z*test_deprecated_after_version.<locals>.fooV  r  r;   zdeprecated after version 1.2.3r  ra  r  r   s    r9   test_deprecated_after_versionr  U  sM    w' ( 
m+K	L u~~  r  c                     t        t              d        } t        j                  t              5   |        dk(  sJ 	 d d d        y # 1 sw Y   y xY w)N)categoryc                      yr  r[   r[   r;   r9   r   z%test_deprecated_category.<locals>.foo_  r  r;   ra  )r   DeprecationWarningr?   r  r   s    r9   test_deprecated_categoryr  ^  sL    ,- . 
(	) u~~  s   AAc                     t        d      d        } t        j                  t              5 } |        dk(  sJ 	 d d d        t	              dk(  sJ t        |d   j                        dk(  sJ y # 1 sw Y   7xY w)Nwoohoo)r  c                      yr  r[   r[   r;   r9   r   z$test_deprecated_message.<locals>.fooh  r  r;   ra  r   r   r  )r   r  s     r9   test_deprecated_messager  g  s}    " # 
m	$ u~~ v;!vay  !X---	 s   A00A9c                 X    t        t              dk(  sJ t        t        d      dk(  sJ y )Nz"dask.highlevelgraph.HighLevelGraphT)shortzdask.HighLevelGraph)r*   r   r[   r;   r9   test_typenamer  s  s,    N#'KKKKN$/3HHHHr;   c                      e Zd Zy)rp   Nr   r[   r;   r9   rp   rp   x  s    r;   rp   c                 R    t               } t        |       t        t               k(  sJ y rZ   )rp   r*   )instances    r9   test_typename_on_instancesr  |  s!    xHH&!1111r;   c                 T    d} t        |       }t        | d      }|dk(  sJ |dk(  sJ y )N)r   r`   r   r6  Tinitial_zero)r   r   r8  r   )r   r   r   r8  r   r   )rT   r\   r]   s      r9   test_cached_cumsumr    s:    AaAad+A    r;   c                 J   t        j                  d      } d| j                  df}t        |      }t        |d      }| j                  j                  |d| j                  | j                  f       | j                  j                  |dd| j                  | j                  f       y )Nr=   r   r   Tr  r   )r?   r@   nanr   testingassert_equal)rB   rT   r\   r]   s       r9   test_cached_cumsum_nanr    s    			W	%B	
BFFAAaAad+AJJA26626623JJA1bffbff56r;   c                 V    g d} t        |       dk(  sJ d| d<   t        |       dk(  sJ y )Nr5  )r   r   r8  r6  r   )r   r7  r  r  r   s    r9   test_cached_cumsum_non_tupler    s6    Ay(((AaDy(((r;   c                    t               5 } | d   dk7  sJ 	 d d d        t        d      5 } | dd  dk(  sJ 	 d d d        t        d      5 } | dd  dk(  sJ | d   dk7  sJ 	 d d d        y # 1 sw Y   TxY w# 1 sw Y   @xY w# 1 sw Y   y xY w)Nr   .jpg)	extensionz.jpg)r)   )fns    r9   test_tmpfile_namingr'    s    	 b "v}}
 
5	! !R"#w&   ! 
6	" b"#w&   "v}}  
! ! s"   A*A6B*A36A?Bc                    t        j                  d      } t        j                  d      }t        j                  d      }t        j                  d      }t        |j                               |k(  sJ t        | j	                  g             | k(  sJ t        |j                               t        |j                        k(  sJ t        | j                  g             t        | j
                        k(  sJ t        |j                               t        |j                  i d            k(  sJ t        | j                  g             t        |j                  g             k(  sJ y )Nr=   r  
dask.arrayr  r   npartitions)r?   r@   r   r  r   ndarray	from_dict
from_array)rB   pddar  s       r9   test_get_meta_libraryr1    s    			W	%B			X	&B			\	*B			-	.BBLLN+r111BHHRL)R///BLLN+/?/MMMMBJJrN+/?

/KKKKBLLN+/?
RQ'0    BJJrN+/?b@Q/RRRRr;   c                    t        j                  d      } t        j                  d      }t        j                  d      }t        j                  d      }t        |j                               |k(  sJ t        | j	                  g             | k(  sJ t        |j                               t        |j                        k(  sJ t        | j                  g             t        | j
                        k(  sJ t        |j                               t        |j                  i d      j                  d            k(  sJ t        | j                  g             t        |j                  g       j                  d            k(  sJ y )Ncupycudfr)  r  r   r*  )	r?   r@   r   r  r   r,  r-  
to_backendr.  )cpr4  r0  r  s       r9   test_get_meta_library_gpur7    sB   			V	$Bv&D			\	*B			-	.BDNN,-555BHHRL)R///DNN,-1A$..1QQQQBJJrN+/?

/KKKKDNN,-1A
RQ'226:2    BJJrN+/?
b$$V,0   r;   )u
__future__r   r  rr   r]  r   r   r?   tlzr   rz  r   dask.highlevelgraphr   dask.optimizationr   
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)   r*   dask.utils_testr+   r:   rC   rK   rN   rU   rW   rv   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r"  r&  r+  r3  r;  rI  rR  rX  r^  rb  r  markparametrizepropertycached_propertyr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rp   r  r  r  r  r'  r1  r7  r[   r;   r9   <module>rB     s   "         . .# # # # # # # # #H  %%9.?>$2.$@ 04

28-@" F2$ %:
.C"" 
 M
!"2J y(()	()  
K
K.
HM",%!P2Q#-L "*#"*	/0	.I
	 	2
!7)S$r;   