
    biY                       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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	 Z2d
 Z3d Z4d 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+ ZTej                  j                  d,eWej                  gd-d.g/      d0        ZYd1 ZZd2 Z[d3 Z\d4 Z]d5 Z^d6 Z_d7 Z`ej                  j                  d8g d9      d:        Zad; Zbd< Zcd= Zdd> Zed? Zfd@ ZgdA Zh G dB dC      ZidD ZjdE ZkdF ZldG ZmdH ZndI ZodJ Zpy)K    )annotationsN)array)curry)get)HighLevelGraph)!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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      P/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/tests/test_utils.pytest_ensure_bytesr8   4   sV    #z$'4%T:JKD a&%(((~~    c                     t        j                  d      } t        | j                  d            }t	        |t
              sJ y )Nnumpy   )pytestimportorskipr   aranger1   r2   )npr6   s     r7   test_ensure_bytes_ndarrayrA   <   s4    			W	%B"))B-(Ffe$$$r9   c                     t        j                  d      } | j                  d      }t        |      }t	        |t
              sJ y )Npyarrow   123)r=   r>   	py_bufferr   r1   r2   pabufr6   s      r7    test_ensure_bytes_pyarrow_bufferrI   B   s:    			Y	'B
,,v
C#Ffe$$$r9   c                     ddt        d      t        d      t        dd      g} | D ]&  }t        |      }t	        |t
              sJ |dk(  r&J  y r+   )r/   r0   r   r   r1   strr3   s      r7   test_ensure_unicoderL   I   sW    #z$'4%T:JKD "&#&&&}}r9   c                     t        j                  d      } | j                  dd      }t        |      }t	        |t
              sJ |dk(  sJ y )Nr;   rD   u1)dtype123)r=   r>   
frombufferr   r1   rK   )r@   ar6   s      r7   test_ensure_unicode_ndarrayrS   Q   sJ    			W	%B
fD)AAFfc"""U??r9   c                     t        j                  d      } | j                  d      }t        |      }t	        |t
              sJ |dk(  sJ y )NrC   rD   rP   )r=   r>   rE   r   r1   rK   rF   s      r7   "test_ensure_unicode_pyarrow_bufferrU   Y   sF    			Y	'B
,,v
CC Ffc"""U??r9   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     r7   funcztest_getargspec.<locals>.funcb       r9   rZ   r[      c                      y rX   rY   )argskwargss     r7   wrapperz test_getargspec.<locals>.wrapperk   r]   r9   c                      e Zd Zd Zy)test_getargspec.<locals>.MyTypec                     y rX   rY   selfrZ   r[   s      r7   __init__z(test_getargspec.<locals>.MyType.__init__r       r9   N__name__
__module____qualname__rh   rY   r9   r7   MyTyperd   q       	r9   rn   rf   )r   r`   	functoolspartial__wrapped__)r\   func2rb   rn   s       r7   test_getargspecrt   a   s     d  S#J...dA&Ee!!c3Z/// Gg##Sz111  f""&8888r9   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 rX   rY   rR   bcs      r7   multiz,test_takes_multiple_arguments.<locals>.multi|   s    !Qwr9   c                      e Zd Zd Zy)/test_takes_multiple_arguments.<locals>.Singularc                     y rX   rY   )rg   rR   s     r7   rh   z8test_takes_multiple_arguments.<locals>.Singular.__init__   ri   r9   Nrj   rY   r9   r7   Singularr|      ro   r9   r~   c                      e Zd Zd Zy),test_takes_multiple_arguments.<locals>.Multic                     y rX   rY   )rg   rR   rx   s      r7   rh   z5test_takes_multiple_arguments.<locals>.Multi.__init__   ri   r9   Nrj   rY   r9   r7   Multir      ro   r9   r   c                      y rX   rY   rY   r9   r7   fz(test_takes_multiple_arguments.<locals>.f   r]   r9   c                      y rX   rY   )r`   s    r7   varargz-test_takes_multiple_arguments.<locals>.vararg   r]   r9   F)varargs)r&   mapsum)rz   r~   r   r   r   s        r7   test_takes_multiple_argumentsr   x   s    #C(((',,,   $E***'111#E*** (*** $F+++'>>>>r9   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   rY   rR   s    r7   <lambda>ztest_dispatch.<locals>.<lambda>   s
    A r9   c                    | dz
  S r   rY   r   s    r7   r   ztest_dispatch.<locals>.<lambda>   s
    !a% r9   c                ,    t        fd| D              S )Nc              3  .   K   | ]  } |        y wrX   rY   ).0ifoos     r7   	<genexpr>z2test_dispatch.<locals>.<lambda>.<locals>.<genexpr>   s     ':1A':s   )tuple)rR   r   s    r7   r   ztest_dispatch.<locals>.<lambda>   s    %':':": r9   c                    | S )zMy DocstringrY   r   s    r7   r   ztest_dispatch.<locals>.f   s    r9   c                      e Zd Zy)test_dispatch.<locals>.BarNrk   rl   rm   rY   r9   r7   Barr          r9   r   r   r^         ?g               @)r   registerintfloatr   objectdispatch__doc__)r   r   rx   r   s      @r7   test_dispatchr      s    
*CLLo&LL(LL:; LL  	Aq6Q;;3<<Q1$$$s8s??q6Q;;3{3{***;;!))###r9   c                 f    t               } | j                  t        dd        | dd      dk(  sJ y )Nc                    | |z   S rX   rY   rR   rx   s     r7   r   z&test_dispatch_kwargs.<locals>.<lambda>   s
    a!e r9   r      )rx      )
   )r   r   r   r   s    r7   test_dispatch_kwargsr      s,    
*CLL+,qB<2r9   c                     t               } | j                  t        d        | j                  t        d         | dd      dk(  sJ  | dd      dk(  sJ y )	Nc                    | |z   S rX   rY   r   s     r7   r   z:test_dispatch_variadic_on_first_argument.<locals>.<lambda>   s
    1q5 r9   c                    | |z
  S rX   rY   r   s     r7   r   z:test_dispatch_variadic_on_first_argument.<locals>.<lambda>   s
    QU r9   r   r^      r   r   )r   r   r   r   r   s    r7   (test_dispatch_variadic_on_first_argumentr      sM    
*CLL()LL*+q!9>>sC=Br9   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 rX   rY   r   s    r7   r   z$test_dispatch_lazy.<locals>.<lambda>   s     r9   r   c                    | dz   S r   rY   r   s    r7   foo_decz#test_dispatch_lazy.<locals>.foo_dec   s    1ur9   decimalc                 F    dd l } j                  | j                         y )Nr   )r   r   Decimal)r   r   r   s    r7   register_decimalz,test_dispatch_lazy.<locals>.register_decimal   s    W__g.r9   r   r^   )r   r   r   r   register_lazyr   r   )r   r   r   r   s     @@r7   test_dispatch_lazyr      s    
*CLLk" 	y!/ "/ <<(G333wq!"gooa&8888q6Q;;r9   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   rY   r9   r7   Lazyr      r   r9   r   c                      e Zd Zy)+test_dispatch_lazy_walks_mro.<locals>.EagerNr   rY   r9   r7   Eagerr      r   r9   r   c                     y)NeagerrY   )rZ   s    r7   eager_handlerz3test_dispatch_lazy_walks_mro.<locals>.eager_handler   s    r9   c                     y)NlazyrY   r   s    r7   lazy_handlerz2test_dispatch_lazy_walks_mro.<locals>.lazy_handler   s    r9   r   c                 >    j                   j                         y rX   )r   r   )r   r   r   s   r7   r   z6test_dispatch_lazy_walks_mro.<locals>.register_decimal   s    W__l3r9   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   r   s       @@@r7   test_dispatch_lazy_walks_mror      s     w   *C\\%  	y!4 "4 <<---tAw<6!!!<<(L888wq!"f,,,<<-///uQx=G###r9   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)r@   seedstatenstatesstates2s1s2s           r7   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~~ r9   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     r7   test_memory_reprr     s2    $%PQ 4x4;'83334r9   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dirrK   repr)rR   r   s     r7   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1r9   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      r7   test_skip_doctestr   !  sg    G
 w
C		 ###GH w
C(??r9   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     r7   test_extra_titlesr   =  s%    GH  H,,,r9   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    r7   test_asciitabler   ]  s0    
	'VC 		 	 	r9   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   )	rR   rx   a2a3a4rZ   r[   b2b3s	            r7   test_SerializableLockr  n  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 )NrR   rx   )r
   lock)rR   rx   ry   r5   s       r7   $test_SerializableLock_name_collisionr
    sy    AAAA6666QVV66!&&!&&!&&1111r9   c                     t        d      } | j                         rJ | 5  | j                         sJ 	 d d d        | j                         rJ y # 1 sw Y   xY w)NrR   )r
   lockedr   s    r7   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 )NrR   T)blockingF)r
   r  releaser   s    r7   &test_SerializableLock_acquire_blockingr    s=    A99d9###yy%y(((IIKr9   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 rX   rY   rw   s      r7   r   ztest_funcname.<locals>.foo  r]   r9   r   r   r   r   c                      yr   rY   rY   r9   r7   r   ztest_funcname.<locals>.<lambda>      r9   lambdac                      e Zd Zy)test_funcname.<locals>.FooNr   rY   r9   r7   Foor    r   r9   r  )r   rp   rq   r	   r   )r   r  s     r7   test_funcnamer    s     C=E!!!I%%cQ/0E999AEE?e###I(***  C=E!!!HSUO###r9   c                 L    d } t        |       }d|v sJ t        |      dk  sJ y )Nc                      y rX   rY   rY   r9   r7   Da_long_function_name_11111111111111111111111111111111111111111111111z`test_funcname_long.<locals>.a_long_function_name_11111111111111111111111111111111111111111111111  r]   r9   a_long_function_name<   )r   r   )r  r6   s     r7   test_funcname_longr     s8     LF "V+++v;r9   c                 h    t         d        } t        |       dk(  sJ t         | d            dk(  sJ y )Nc                     y rX   rY   rw   s      r7   r   z test_funcname_toolz.<locals>.foo      r9   r   r   )r   r   r   s    r7   test_funcname_toolzr$    s?    
  C=E!!!CFu$$$r9   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 rX   rY   rw   s      r7   r   z+test_funcname_multipledispatch.<locals>.foo  r#  r9   r   r   r   )r=   r>   r   r   r   rp   rq   )mdr   s     r7   test_funcname_multipledispatchr)    sf    			/	0B[[c3   C=E!!!I%%cQ/0E999r9   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   rp   rq   add)r@   vfuncr\   s      r7   test_funcname_numpy_vectorizer1    sj    			W	%BLLEE?o--- RVV.DLLEE?o---r9   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   r4     )r   r4  r5     )r4  r5  r6     )r   r)   )Ls    r7   test_ndeepmapr9    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Br9   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 )NrZ   r   c                      e Zd Zy) test_ensure_dict.<locals>.mydictNr   rY   r9   r7   mydictr<    r   r9   r=  Tcopy)r   dictr   from_collectionstype)r5   r=  d2d3d4dis         r7   test_ensure_dictrG    s    	aAq>Q  
QT	"B	^44S!<	=B	VAY	B2rl Bx4{{Qwwr9   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   rY   r9   r7   mysetrJ    r   r9   rK  Tr>  )r   setrB  )srK  r   s3sis        r7   test_ensure_setrP  	  s}    	
Aa=A  
AD	!B	E!H	B2h Bx3{{Qwwr9   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 )Nr3  r   r^   {   )r   r   r   r   index)r4   gg2s      r7   test_itemgetterrV    s    D1AT7a<<	fll1o	&Bd8q==88q==a=JqM)))a=JqM)))a=Cr9   c                 H    t        dt        j                  dg      dk(  sJ y )Nr5  )r   r   )functionother   )r"   operatorr/  rY   r9   r7   test_partial_by_orderr\  &  s    AWIF"LLLr9   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 rX   rY   rw   s      r7   r   ztest_has_keyword.<locals>.foo+  r]   r9   rR   rx   ry   r   r   rX   )r   rp   rq   )r   bars     r7   test_has_keywordr`  *  sk     sC   sC   sC   


C1
%CsC   sC   r9   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
            NrY   r   s     r7   r   z test_derived_from.<locals>.Foo.f9  r  r9   N)rk   rl   rm   r   rY   r9   r7   r  rc  8  s    	r9   r  c                  ,    e Zd Z eW        d        Zy)test_derived_from.<locals>.Barc                     y rX   rY   rR   ry   s     r7   r   z test_derived_from.<locals>.Bar.fG  s    r9   Nrk   rl   rm   r   r   r  s   r7   r   rf  F  s    	c		 
	r9   r   c                  ,    e Zd Z eW        d        Zy)test_derived_from.<locals>.Zapc                     yzextra docstringNrY   rh  s     r7   r   z test_derived_from.<locals>.Zap.fL  s     r9   Nri  rj  s   r7   Zaprl  K  s    	c		 
	r9   ro  zA super docstringzFoo.fc              3  $   K   | ]  }d |v  
 ywinconsistenciesNrY   r   lines     r7   r   z$test_derived_from.<locals>.<genexpr>S  s     ST D(S   
r7  zb:not supporteddaskextra docstring

)r   r   strip
startswithanysplitlower)r   ro  rt  b_argr  s       @r7   test_derived_fromr  7  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   rY   rg   s    r7   propz5test_derived_from_prop_cached_prop.<locals>.Base.propc  s    
 r9   N)rk   rl   rm   r  )r  s   r7   Baser  b  s    		 
	r9   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   rY   r  s    r7   r  z8test_derived_from_prop_cached_prop.<locals>.Derived.propk  s     r9   N)rk   rl   rm   r   r  )r  r  s   r7   Derivedr  j  s"    		d		 
 
	r9   r  z
A propertyc              3  $   K   | ]  }d |v  
 ywrq  rY   rs  s     r7   r   z5test_derived_from_prop_cached_prop.<locals>.<genexpr>t  s     KT D(Kru  rv  c              3  $   K   | ]  }d |v  
 yw)r  NrY   rs  s     r7   r   z5test_derived_from_prop_cached_prop.<locals>.<genexpr>u  s     JD4'Jru  )r  r   rz  r{  r|  r}  )r  r  	docstringr  s   `  @r7   "test_derived_from_prop_cached_propr  \  s       $$I   ??''555KY__T5JKKKKJIOOD4IJJJJr9   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rn  rY   rY   r9   r7   r   z#test_derived_from_func.<locals>.sum{  s     	r9   ry  zReturn the sum ofz+This docstring was copied from builtins.sum)builtinsr   r   )r  r   s     r7   test_derived_from_funcr  x  sT    (  !CKK///#++---8CKKGGGr9   c                    t        j                  d       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.dataframerr  rv  zaxis :rw  rx  z!Object with missing values filled)r=   r>   	DataFramedropnar   r}  r~  ffill)ddrt  axis_args      r7    test_derived_from_dask_dataframer    s    
!			-	.B 3 3 ; ;;;; ,,44::4@HPTDTJX hnn....X^^%%%%.",,2D2D2L2LLLLs    	C 
C 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 ʚ;MBrR  z.5GBi e)r    rY   r9   r7   test_parse_bytesr    s    u$$$x I---v)+++u%%%x D(((v$&&&u&&&u(((x J...t'''ss"""v)+++r9   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皙?)5Sr5  )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valuer6   s      r7   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   FrY   T)r   )r   r   )r=   r>   r   empty)r@   s    r7   test_is_arrayliker    s    			W	%B?e###u$$$?e###u$$$%%%%---'4///()T111r9   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)
      r5  	   r7  r  r      r  r  r  r  r  r5  r  r7  r      )r  r  r5  )r  r7  r  r   C   )r  r  r5  r  r7  r  r   )r  r  r  )listr   )sizess    r7   test_iter_chunksr    s    -EE2&'		
A	
A	
A		
	,    E2&'Jr1gPRt+TTTTE2&',BK+PPPPr9   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  y c c}}w c c}w )NHellos   HellorZ   r   rY   )	exclusiverZ   r   )r  )rZ   r^   r3  c              3  <   K   | ]  }t        |t                y wrX   )r1   rK   )r   ks     r7   r   z!test_stringify.<locals>.<genexpr>  s     4!:a%4s   )r%   rK   r)   r   itemsr  r   r   )objdskdsksr  vsdskkeysskeyss           r7   test_stringifyr    s   
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R&s   !FF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 rX   )r   r   )r   expects     r7   test_format_bytesr  	  s    $ A6)))r9   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   rY   r9   r7   test_format_timer    s    sx'''t	)))u+++v)+++w9,,,x I---x I---y!Z///y!Y...r9   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Nr_  rY   rY   r9   r7   r   ztest_deprecated.<locals>.foo+      r9   r_  r   r   zfoo is deprecatedzremoved in a future releaser   r=   warnsFutureWarningr   rK   message)r   recordmsgs      r7   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  rY   rY   r9   r7   r   z$test_deprecated_version.<locals>.foo9  r  r9   zdeprecated in version 1.2.3r  r_  r   r=   r  r  r   s    r7   test_deprecated_versionr  8  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  rY   rY   r9   r7   r   z*test_deprecated_after_version.<locals>.fooB  r  r9   zdeprecated after version 1.2.3r  r_  r  r   s    r7   test_deprecated_after_versionr  A  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  rY   rY   r9   r7   r   z%test_deprecated_category.<locals>.fooK  r  r9   r_  )r   DeprecationWarningr=   r  r   s    r7   test_deprecated_categoryr  J  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  rY   rY   r9   r7   r   z$test_deprecated_message.<locals>.fooT  r  r9   r_  r   r   r  )r   r  s     r7   test_deprecated_messager  S  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   rY   r9   r7   test_typenamer  _  s,    N#'KKKKN$/3HHHHr9   c                      e Zd Zy)rn   Nr   rY   r9   r7   rn   rn   d  s    r9   rn   c                 R    t               } t        |       t        t               k(  sJ y rX   )rn   r(   )instances    r7   test_typename_on_instancesr	  h  s!    xHH&!1111r9   c                 T    d} t        |       }t        | d      }|dk(  sJ |dk(  sJ y )N)r   r^   r   r4  Tinitial_zero)r   r   r6  r   )r   r   r   r6  r   r   )rR   rZ   r[   s      r7   test_cached_cumsumr  m  s:    AaAad+A    r9   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)r@   rR   rZ   r[   s       r7   test_cached_cumsum_nanr  u  s    			W	%B	
BFFAAaAad+AJJA26626623JJA1bffbff56r9   c                 V    g d} t        |       dk(  sJ d| d<   t        |       dk(  sJ y )Nr3  )r   r   r6  r4  r   )r   r5  r  r  r   s    r7   test_cached_cumsum_non_tupler  ~  s6    Ay(((AaDy(((r9   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    r7   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)r@   pddar  s       r7   test_get_meta_libraryr'    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Rr9   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$  )cpr*  r&  r  s       r7   test_get_meta_library_gpur-    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   r9   )q
__future__r   r  rp   r[  r   r   r=   tlzr   rx  r   dask.highlevelgraphr   
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(   dask.utils_testr)   r8   rA   rI   rL   rS   rU   rt   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r   r$  r)  r1  r9  rG  rP  rV  r\  r`  r  markparametrizepropertycached_propertyr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rn   r	  r  r  r  r  r'  r-  rY   r9   r7   <module>r7     s   "         ." " " " " " " " "F  %%9.?>$2.$@ 04

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