
    biY                    "   d dl m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	Z
d dlZd dlmZ d dlZd dlmZ d dlmZ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% d dl&m'Z' d	 Z(d
 Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2ejf                  ji                  dddg      d        Z5d Z6d Z7d Z8d Z9d Z:ejf                  ji                  d e
jv                  d g       e
jx                  d g       e
jz                  d g       ej|                  dd gid        ej|                  dd gid       j~                   ej|                  dd gid       j                  g      d!        ZAejf                  ji                  d ej|                  dd gid       j~                  j                   ej                  d g      g      d"        ZDejf                  ji                  d#g d$dfg d%dfg d&dfg d'dfd(d)d  eEd*      dgdfg      d+        ZFd, ZGy)-    )annotationsN)Iterable)Version)PANDAS_GE_300tm)apply_and_enforce)UNKNOWN_CATEGORIES	assert_eqcheck_matching_columns
check_metais_dataframe_likeis_index_likeis_series_like	make_metameta_frame_constructormeta_nonemptymeta_series_constructorpyarrow_strings_enabledraise_on_meta_errorvalid_divisionsget_syncc                 j   t        j                  g dt        d      g ddg d      } t        |       }t	        |      dk(  sJ |j
                  | j
                  k(  j                         sJ t        |j                  t        | j                              sJ dD ])  }t        r|dk(  r||   j                  j                  j                  d   j                         d	   j                  }| |   j                  j                  j                  d   j                         d	   j                  }n>||   j                   j"                  d
   d   }| |   j                   j"                  d
   d   }||k7  sJ |j                  j                   j"                  d
   d   }| j                  j                   j"                  d
   d   }||k7  r*J  t        | j$                        }t	        |      dk(  sJ |j&                  | j$                  j&                  k(  sJ t        |j                  t        | j                              sJ |j                   j"                  d
   d   }| j$                  j                   j"                  d
   d   }||k7  sJ |j                  j                   j"                  d
   d   }| j                  j                   j"                  d
   d   }||k7  sJ t        | j                        }t        |t        | j                              sJ t	        |      dk(  sJ |j                   j"                  d
   d   }| j                  j                   j"                  d
   d   }||k7  sJ t)        j*                  | d      }t        |      |j,                  u sJ t        rt        dddd      }nt        dddd      }t        |t         j                        sJ t	        |      dk(  sJ |j
                  | j
                  k(  j                         sJ t        |j                  t         j.                        sJ t        rt        g d      }nt        g d      }|j0                  g dk(  j                         sJ t	        |      dk(  sJ |j
                  | j
                  |j
                  j                     k(  j                         sJ t        |j                  t         j.                        sJ t        d      }t        |t         j2                        sJ t	        |      dk(  sJ |j&                  dk(  sJ |j4                  dk(  sJ  G d dt6              }t         |             }|j0                  g dk(  j                         sJ t	        |      dk(  sJ |j
                  | j
                  |j
                  j                     k(  j                         sJ t        |j                  t         j.                        sJ t        j8                  d	dgd      }	t        ddd|	      }t        |j                        t        |	      u sJ |j                  j&                  dk(  sJ t	        |j                        dk(  sJ t        d|	      }t        |j                        t        |	      u sJ |j                  j&                  dk(  sJ t	        |j                        dk(  sJ t        ddi|       }t	        |j$                  j:                  j<                        d	k(  sJ |j$                  j:                  j<                  d   t>        k(  sJ t        d|       }t	        |j:                  j<                        d	k(  sJ |j:                  j<                  d   t>        k(  sJ t        ddd|	      }t	        |j$                  j:                  j<                        d	k(  sJ |j                  j&                  dk(  sJ |j                  j@                  sJ t        tC        jD                  d       |       }t        |tB        jD                        sJ t        d |       }t        |tB        jD                        sJ t        jF                  d!d	d	      }
t        |
|       }||
u sJ t        jH                  d"#      }
t        |
      }|t        jF                  d	|
jJ                  |
jL                  $      k(  sJ t        d|       }t        |tB        jN                        sJ t        tP        |       }t        |tC        j&                  tP              j                        sJ t        tC        j&                  d%      |       }t        |tB        jR                        sJ tU        jV                  tX        d&       sJ y )'N         abc)      ?g       @g      @abc)
         )indexr   r"   r   datar   npartitionsi8strf8Or!   r+   r#   r-   )r"   r,   r0   r1   )r"   r.   )r!   r#   r"   r0   r!   c                  $    e Zd ZdZddZd Zd Zy)&test_make_meta.<locals>.CustomMetadataz-Custom class iterator returning pandas types.c                6    t         r
g d| _        y g d| _        y )Nr/   r2   )r   types)selfmaxs     d/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/tests/test_utils_dataframe.py__init__z/test_make_meta.<locals>.CustomMetadata.__init__y   s    E
C
    c                    d| _         | S )Nr   )n)r7   s    r9   __iter__z/test_make_meta.<locals>.CustomMetadata.__iter__   s    DFKr;   c                    | j                   t        | j                        k  r0| j                  | j                      }| xj                   dz  c_         |S t        )Nr   )r=   lenr6   StopIteration)r7   rets     r9   __next__z/test_make_meta.<locals>.CustomMetadata.__next__   s@    vvDJJ'jj(!
##r;   N)r   )__name__
__module____qualname____doc__r:   r>   rC    r;   r9   CustomMetadatar4   v   s    ;	D		$r;   rI   foonamei4)r!   r"   int64category)parent_meta)r!   rO   r     UTCtzrT   unitboolc                     t        d       S N)r   rH   r;   r9   <lambda>z test_make_meta.<locals>.<lambda>   s
    IdO r;   )-pd	DataFramelistr   r@   dtypesall
isinstancer'   typer   array	_pa_arraychunksbuffersaddressvalues__array_interface__r!   dtypeddfrom_pandas_meta
RangeIndexcolumnsSeriesrL   r   Indexcat
categoriesr	   emptynpfloat64	TimestampDatetimeTZDtyperT   rV   rN   floatbool_pytestraises	TypeError)dfmetacolmeta_pointer
df_pointermeta_index_pointerdf_index_pointerddfrI   idxxs              r9   test_make_metar   $   s   	d5k@
B
 R=Dt9>>KK299$))+++djj$rxx.111 6SCZ9??44;;A>FFHKSSLC0077:BBDQGOOJ  9++??GJLC;;FCAFJz)))!ZZ..BB6J1M88??>>vFqI!%55556  RTT?Dt9>>::###djj$rxx.111;;226:1=L008;J:%%%::$$88@CL44V<Q?J:%%% RXXDdDN+++t9>>;;226:1=L44V<Q?J:%%% ..
+CS>SYY&&& t%d;<t#D9:dBLL)))t9>>KK299$))+++djj"--000 AB?@LLO+00222t9>>KK299T[[%6%677<<>>>djj"--000 [!DdBII&&&t9>>::99$ $* ^%&DLLO+00222t9>>KK299T[[%6%677<<>>>djj"--000 ((Aq6
&CD 

tCy(((::w&&&tzz?a[,D

tCy(((::w&&&tzz?a c:&B7Dtvvzz$$%***66::  #'9999&B7Dtxx""#q(((88q!%7777 :G4C@Dtvvzz$$%***::w&&&:: RZZ_"5DdBJJ''' Sb)DdBJJ''' 	T1a AQB'D199 	e$AQ<D2<<add8888 Tr*DdBHH%%%U+DdBHHUO00111RXXf%26DdBHH%%%==$;<<<r;   c                    t        j                  t        j                  g d      t        d      dt	        j
                  d      t	        j                  d      t        j                  d      t        j                  ddd      t        j                  d	      t	        j                  d
      t        j                  t        gdz        t        j                  g d      dt        d            } | j                  dd }t        |      }|j                  |j                  k(  j                         sJ |d   d   dk(  sJ t         r|d   d   dk(  sJ |d   d   dk(  sJ |d   d   dk(  sJ |d   d   dk(  sJ |d   d   t	        j
                  d      k(  sJ |d   d   j"                  dk(  sJ |d   d   t	        j                  d      k(  sJ |d   d   j"                  dk(  sJ |d   d   t        j                  d      k(  sJ |d   d   t        j                  dd      k(  sJ |d   d   t        j                  d      k(  sJ t         rt%        |d    d         t&        u sJ |d    d   dk(  sJ |d!   d   t        k(  sJ t)        |d"   j*                  j,                        dk(  sJ t        |d         }|j"                  |d   j"                  k(  sJ |d   |k(  j                         sJ y )#N)AliceBobCarolr   barr   z
2016-01-01r   America/New_York)periodsrT   z1 hours    )NNN)ABCDEFGHIJKDCBAHGFEIJKrn   r   r   r   r   r!   r   rJ   r   f4r   rM   r   z1970-01-01 00:00:00r   rS   r   1r   r   r   )r[   r\   Categoricalr]   rt   float32int32rv   
date_range	Timedeltavoidr	   ilocr   r^   r_   r   ri   ra   objectr@   rq   rr   )df1df2df3ss       r9   test_meta_nonemptyr      s   
,, 9:eA!l+|Q;MNi(!3 4q 89 23	
 ]#C  ((1Q-C

CJJ#**$))+++s8A;'!!!3x{c!!!3x{c!!!3x{e###3x{e###s8A;"**Q-'''s8A;$$$s8A;"((1+%%%s8A;$$$s8A;",,'<====s8A;",,'<ASTTTTs8A;",,s++++CHQK F***3x{e###s8A;,,,,s3x||&&'1,,,c#hA77c#hnn$$$HM   r;   c                 &   t        j                  g d      } t        |       }t        rt        j
                  j                  }nd}t        j                  |||g|||ggt        | j                        g d      }t        j                  ||       y )N)r   r   r   r   rJ   )r'   rn   )
r[   r\   r   r   rj   utils_objectr'   r   assert_frame_equal)r}   resoexps       r9   test_meta_duplicatedr      st    	o	.B

CHH
,,
QQ1IBHH%C
 #s#r;   c                    dD ]  } t        j                  g t        j                  g |       dd      }t        |      }t	        |      t         j                  u sJ t	        |j
                        t	        |j
                        u sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                         }t        |      }|j                  dk(  sJ |j                  dk(  sJ t	        |j                  j
                        t	        |j                  j
                        u sJ |j                  j                  |j                  j                  k(  sJ |j                  |j                  k(  rJ  y )N)r.   r-   zM8[ns]ri   TrJ   orderedrL   rO   )r[   CategoricalIndexrp   r   ra   rr   r   rL   	to_seriesri   rq   )ri   r   r   r   s       r9   #test_meta_nonempty_empty_categoriesr   
  s>   & "!!5)4e
 C CyB/////CNN#tCNN';;;;{{ckk)))xx388###MMOAyyJ&&&ww*$$$CGG&&'40@0@+AAAAww!%%--///xx166!!!#"r;   c                    t        j                  dd      } t        |       }t        |      t         j                  u sJ |j                  | j                  k(  sJ t        j
                  dgdd      } t        |       }t        |      t        |       u sJ |j                  t        j                  k(  sJ |j                  | j                  k(  sJ t        j
                  dgd      } t        |       }t        |      t         j
                  u sJ |j                  | j                  k(  sJ t        j                  dgdd	d
      } t        |       }t        |      t         j                  u sJ |j                  | j                  k(  sJ |j                  | j                  k(  sJ |j                  | j                  k(  sJ t        j                  dgdd      } t        |       }t        |      t         j                  u sJ |j                  | j                  k(  sJ |j                  | j                  k(  sJ t        j                  t        j                  dd      gdd      } t        |       }t        |      t         j                  u sJ |j                  | j                  k(  sJ |j                  | j                  k(  sJ t        j                  dgddgdd      } t        |       }t        |      t         j                  u sJ |j                   | j                   k(  j#                         sJ |j$                  | j$                  k(  sJ |j                  | j                  k(  sJ t        j                  g t&        gdd      } t        |       }t        |      t         j                  u sJ |j$                  | j$                  k(  sJ |j                  | j                  k(  sJ t        j
                  dgd      t        j
                  dgd      g}dgdgg}t        j(                  |ddg|      } t        |       }t        |      t         j(                  u sJ t+        | j,                  |j,                        D ]8  \  }}t        |      t        |      u sJ |j                  |j                  k(  r8J  |j.                  | j.                  k(  sJ t        j
                  dgd      t        j                  dgdgd      t        j                  t        j0                  dd      gd      g}dgdgdgg}t        j(                  |g d|      } t        |       }t        |      t         j(                  u sJ t+        | j,                  |j,                        D ]8  \  }}t        |      t        |      u sJ |j                  |j                  k(  r8J  |j.                  | j.                  k(  sJ y )Nr   rJ   rK   intrL   ri   r!   z
1970-01-01r   r   )freqrT   rL   )r   rL   xyxzzzTr   r   r"   r   )levelsnamescodes)r(   rr   rL   	timedelta)r!   r"   r   )r[   rm   r   ra   rL   rp   ri   rt   int_DatetimeIndexrT   r   PeriodIndexTimedeltaIndexr   r   rr   r_   r   r	   
MultiIndexzipr   r   timedelta64)r   r   r   r   idx1idx2s         r9   test_meta_nonempty_indexr     s   
--
&C

C9%%%88sxx
((A3U%
0C

C9S	!!!9988sxx
((C5u
%C

C9   88sxx


L>8JQV
WC

C9(((((66SVV88sxx88sxx
..,c
>C

C9&&&88sxx88sxx


R\\!S125
IC

C9)))))88sxx88sxx


ugu~t%
PC

C9+++++NNcnn,11333;;#++%%%88sxx


b#5"65
QC

C9+++++;;#++%%%88sxxhhs%rxxC'@AFS1#JE
--vc3Zu
EC

C9%%%#**cjj1 &
dDzT$Z'''yyDII%%%& 99		!!! 	!3
%eW3G
2>>!S12EF S1#sOE
--v-DE
RC

C9%%%#**cjj1 &
dDzT$Z'''yyDII%%%& 99		!!!r;   c                     t        j                  dgdd      } t        |       }t        |      t        |       u sJ |j                  dk(  sJ |j
                  | j
                  k(  sJ y )Nr   rJ   uint64r   )r[   rp   r   ra   ri   rL   )r   r   s     r9   test_meta_nonempty_uint64indexr   k  s^    
((A3U(
3C

C9S	!!!99   88sxxr;   c                 l   t        t        j                  d            } t        | t        j                        sJ t	        j
                  ddd      }t        |      } | |u sJ t	        j                  d      }t        |      } | t	        j
                  d|j                  |j                        k(  sJ y )Nr   rQ   r   rR   rS   rU   )	r   rt   ru   r`   r[   rv   rw   rT   rV   )r~   r   s     r9   test_meta_nonempty_scalarr   s  s    C)DdBJJ'''
T1a AD199 	e$AD2<<add8888r;   c                    	 t               5  t        d      # 1 sw Y   nxY w	 J d       # t        $ r=} | j                  d   j	                  d      sJ d| j                  d   v sJ Y d } ~ nd } ~ ww xY w	 t        d      5  t        d      # 1 sw Y   nxY w	 J d       # t        $ r=} | j                  d   j	                  d      sJ d| j                  d   v sJ Y d } ~ y d } ~ ww xY w)Nz	Bad stuffzshould have erroredr   zMetadata inference failed.
RuntimeErrormyfuncz'Metadata inference failed in `myfunc`.
)r   r   	Exceptionargs
startswith)es    r9   test_raise_on_meta_errorr     s    , " 	,{++	, 	, 	, 	,++u	  +vvay##$BCCC***+, * 	,{++	, 	, 	, 	,++u	  +vvay##$NOOO***+sJ   
, !, 	A23A--A26B! BBB! !	C'*3C""C'c                    t        j                  g dg dg dg dt        j                  g d      t        j                  g dt        j
                        d      } | j                  d d }t        | |      | u sJ | j                  }t        ||j                        |u sJ | j                  }| j                  }t        ||j                  j                  d      d	
      |u sJ t        ||j                  j                  d      d	
      |u sJ t        ||j                  j                  d      d	
      |u sJ t        j                  t              5 }t        ||j                  j                  d      d
       d d d        t        sdnd}t!        j"                        d| dk(  sJ |j                  ddd      g d   }| g d   }t        j                  t              5 }t        ||d       d d d        t        sdnd}	t        rd}
nd}
t%        j&                  d|	 d|
 d      }t!        |j"                        |k(  sJ t        j                  t              5 }t        | j(                  t        j                  g d      d
       d d d        t%        j&                  d| d |
 d!      }t!        |j"                        |k(  sJ y # 1 sw Y   SxY w# 1 sw Y   xY w# 1 sw Y   YxY w)"N)r   yz)TFT)r   g      @g      @r   r   )r!   r"   r#   dr   fr   r-   T)numeric_equalr+   Fzpandas.core.series.Serieszpandas.Seriesz+Metadata mismatch found.

Partition type: `z`
+----------+---------+
|          | dtype   |
+----------+---------+
| Found    | int64   |
| Expected | float64 |
+----------+---------+rO   )r!   r   r!   r"   r#   r   )r!   r"   r   r   from_delayed)funcnamezpandas.core.frame.DataFramezpandas.DataFramezstr   r   zM        Metadata mismatch found in `from_delayed`.

        Partition type: `z`
        +--------+----------+----------+
        | Column | Found    | Expected |
        +--------+----------+----------+
        | 'a'    | z   | category |
        | 'c'    | -        | float64  |
        | 'e'    | category | -        |
        +--------+----------+----------+stringz;        Metadata mismatch found.

        Partition type: `zq`
        +----------+--------+
        |          | dtype  |
        +----------+--------+
        | Found    | z> |
        | Expected | string |
        +----------+--------+)r[   r\   r   ro   rt   r   r   r   r   r   r   astyperz   r{   
ValueErrorr   r,   valuetextwrapdedentr!   )r}   r~   r   r   r   errseriesmeta2r   framestring_typer   expecteds                r9   test_check_metar     s   	 $09BII6	
	
B 772A;D b$2%%%
Aa A%%%
A
Aat,DAQFFFat,DAQFFFat,DAQFFF 
z	" @c1dffmmD)?@0=(?Fsyy>	"8 $!	!
 
 
 KKjt456JKE
!
"C	z	" 8c3781>)DVE
//   !  = !)
	,C syy>S    
z	" Mc2442X6eLM  ! " "] #		!H syy>X%%%y@ @$8 84M Ms$   (K'K".K(KK%(K1c                 >   t        j                  g d      } t        j                  g d      }t        j                  t        d      5  t        ||       sJ 	 d d d        t        j                  g d      }t        j                  t        d      5  t        ||       sJ 	 d d d        t        j                  dd	g      }t        j                  t        d
      5  t        ||       sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   axY w# 1 sw Y   y xY w)Nr    r   )r"   r!   r#   zXOrder of columns does not match.
Actual:   \['a', 'b', 'c'\]
Expected: \['b', 'a', 'c'\]matchr   zMissing: \['d'\]r!   r"   zExtra:   \['c'\])r[   r\   rz   r{   r   r   )r}   r~   s     r9   5test_check_matching_columns_raises_appropriate_errorsr     s    	o	.B<<0D	*
 0 &dB///0 << 45D	z)=	> 0%dB///0 <<c
+D	z)=	> 0%dB///0 00 00 00 0s$   C;D"D;DDDc                 P   t        j                  dg i      } t        j                  | d      }t	        | |        t        j                  t              5 }t	        ||        d d d        dt        j                        v sJ dt        |j                        v sJ y # 1 sw Y   <xY w)Nr   r   r)   daskpandas)
r[   r\   rj   rk   r   rz   r{   r   r,   r   )r}   r   infos      r9   test_check_meta_typenamer     s    	sBi	 B
..
+Cr2	y	! T3 S_$$$s4::&&&	 s   BB%frame_value_countsTFc                   |r$| j                  t        j                  dd d       t        j                  dg di      }t        j                  |d      }t        |      sJ t        |      sJ t        |j                        rJ t        |j                        rJ t        |j                        rJ t        |j                        rJ t        t        j                        rJ t        |      rJ t        |      rJ t        |j                        sJ t        |j                        sJ t        |j                        rJ t        |j                        rJ t        t        j                        rJ t        |      rJ t        |      rJ t        |j                        rJ t        |j                        rJ t        |j                        sJ t        |j                        sJ t        t        j                        rJ  G d	 d
      } |       }d |_        d |_        t        |      sJ  G d d      } |       }d |_        d |_        t        |      sJ  G d d      } |       }d |_        d |_        t        |      sJ y )Nvalue_countsc                     y rY   rH   )r   s    r9   rZ   z(test_is_dataframe_like.<locals>.<lambda>  s    r;   F)raisingr   r   r   r)   c                  $    e Zd Zej                  Zy)0test_is_dataframe_like.<locals>.DataFrameWrapperN)rD   rE   rF   r[   r\   	__class__rH   r;   r9   DataFrameWrapperr  2  s    LL	r;   r  c                  $    e Zd Zej                  Zy)-test_is_dataframe_like.<locals>.SeriesWrapperN)rD   rE   rF   r[   ro   r  rH   r;   r9   SeriesWrapperr  :  s    II	r;   r  c                  $    e Zd Zej                  Zy),test_is_dataframe_like.<locals>.IndexWrapperN)rD   rE   rF   r[   rp   r  rH   r;   r9   IndexWrapperr  B  s    HH	r;   r	  )setattrr[   r\   rj   rk   r   r   r'   r   ro   r   rp   r^   rn   ri   rL   )monkeypatchr   r}   r   r  wrapr  r	  s           r9   test_is_dataframe_liker    s6    BLL..RWX	sI&	'B
..
+CR   S!!! &&& ''' *** +++ ...b!!!c""""$$#%%   bhh'''cii(((bii(((R   S!!!RTT"""SUU###"""###RXX&&&! ! DDKDLT"""  ?DDJDI$  >DDJDIr;   c                 X   d } t        j                  ddgdg      }t        j                  t        d      5  t        | |       d d d        t        j                  t        t        j                  d	            5  t        | |       d d d        y # 1 sw Y   NxY w# 1 sw Y   y xY w)
Nc                 6    t        j                  g ddg      S )N)r   r   r   r   rn   r'   )r[   r\   rH   r;   r9   funcz,test_apply_and_enforce_message.<locals>.funcL  s    ||OA3??r;   r   r   r   r  zExtra: *['B', 'C']r   )_funcrl   zMissing: ['D'])r[   r\   rz   r{   r   r   reescape)r  r~   s     r9   test_apply_and_enforce_messager  K  s    @ <<c
1#6D	z)=	> 2D12 
z3C)D	E 2D12 22 22 2s   B=B B B)c                     t        j                  t        j                  ddgd            } t        j                  d      5 }t        |        d d d        rJ y # 1 sw Y   xY w)Nr   r   Sparser   T)record)r[   ro   rb   warningscatch_warningsr   )serr  s     r9   test_nonempty_series_sparser  W  sV    
))BHHaV84
5C		 	 	- c:v s   AA%c                 j    t        j                  g d      } t        |       }|j                  dk(  sJ y )NFloat64r   )r[   ro   r   ri   )r  	non_emptys     r9   #test_nonempty_series_nullable_floatr   ^  s.    
))Bi
(Cc"I??i'''r;   c                    t        j                  t        j                  ddd      t        j                  j	                  d      d      } | j                  d      }t        | |       t        j                  t              5  t        | |d       d d d        |j                  d	      }t        | |d
       t        j                  t              5  t        | |       d d d        t        j                  t              5  t        | |dd       d d d        t        j                  | d      }|j                  dg      }t        | |       t        j                  t              5  t        | |d       d d d        |j                  d	      }t        | |d
       t        j                  t              5  t        | |dd       d d d        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   xY w# 1 sw Y   y xY w)Nr   r   r$   )r   r   r   F)sort_resultsT)drop)check_index)r$  r"  r   r)   )r[   r\   rt   linspacerandomsort_valuesr
   rz   r{   AssertionErrorreset_indexrj   rk   )r}   df_sdf_srr   ddf_sddf_srs         r9   test_assert_eq_sortsr.  d  s   	BKK1b1		8H8H8LM	NB>>#Db$	~	& 0"d/0 $'Eb%U+	~	& "e	~	& D"eUCD ..
+COOSE"Eb%	~	& 1"e%01 D)Fb&e,	~	& E"f%eDE E%0 0
 D D1 1
E Es<   GG?G'%G35G?GG$'G03G<?Hc                    dfd} dfd}t        j                  dg di      }t        j                  |d      }|j	                  ||      }t        j                  t        d	
      5  t        ||       d d d        t        |||        t        j                  j                  |       5  t        ||d        d d d        y # 1 sw Y   OxY w# 1 sw Y   y xY w)NFc                 2    	 dt        | i |dS # dw xY w)NTFr   )r   kwargsusing_custom_schedulers     r9   custom_schedulerz2test_assert_eq_scheduler.<locals>.custom_scheduler  s(    	+%)"T,V,%*"U"s    c                     sJ d       | dz   S )Nnot using custom schedulerr   rH   )partr2  s    r9   check_custom_schedulerz8test_assert_eq_scheduler.<locals>.check_custom_scheduler  s    %C'CC%axr;   r   )r   r   r      r   r)   )r~   r5  r   )	scheduler)r6  pd.DataFramereturnr:  )r[   r\   rj   rk   map_partitionsrz   r{   r(  r
   r   configset)r3  r7  r}   r   ddf2r2  s        @r9   test_assert_eq_schedulerr@  ~  s    "+ 
sL)	*B
..
+C43?D	~-I	J $ dD$45	#3	4 .$-. . 
. .s   -C0CCCr(   r   r   r)   c                x    t        |       t        j                  u sJ t        |       t        j                  u sJ y rY   )r   r[   ro   r   r\   r(   s    r9   test_meta_constructor_utilitiesrC    s2     #4(BII555!$'2<<777r;   c                    t        j                  t        d      5  t        |        d d d        t        j                  t        d      5  t	        |        d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w)Nznot supported by meta_seriesr   znot supported by meta_frame)rz   r{   r|   r   r   rB  s    r9   %test_meta_constructor_utilities_raiserE    sa     
y(F	G &%&	y(E	F %t$% %& &% %s   A A, A),A5zdivisions, validr   )r   r   r   )r   r   r   )r   r   r   )r   T){   Fnanc                $    t        |       |k(  sJ y rY   )r   )	divisionsvalids     r9   test_valid_divisionsrK    s     9%...r;   c                    	 dd l } t        j                  j	                  d      dv r1| /t        | j                        t        d      k\  rt               du sJ t               du sJ t        j                  j                  ddi      5  t               du sJ 	 d d d        t        j                  j                  ddi      5  t               du sJ 	 d d d        y # t        $ r d } Y w xY w# 1 sw Y   TxY w# 1 sw Y   y xY w)Nr   zdataframe.convert-string)TNz12.0.0TF)	pyarrowImportErrorr   r=  getr   __version__r   r>  )pas    r9   test_pyarrow_strings_enabledrR    s     	23|CNBNN#wx'88&(D000&(E111 
4e<	= 2&(E1112 
4d;	< 1&(D0001 1%  2 21 1s)   C C* C6C'&C'*C36C?)H
__future__r   r  r   r  collections.abcr   numpyrt   r   r[   rz   packaging.versionr   r   dask.dataframe	dataframerj   dask.dataframe._compatr   r   dask.dataframe.corer   dask.dataframe.utilsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   
dask.localr   r   r   r   r   r   r   r   r   r   r   r   markparametrizer  r  r  r   r.  r@  r\   ro   rp   	from_dictr   r'   rC  rg   rb   rE  rx   rK  rR  rH   r;   r9   <module>r`     s4   " 	   $    %   4 1      c=L,!^$""*I"X 9,(V&r0*' -e}=9 >9x	2(E4.8 
aS		1#!cA3ZQ/cA3ZQ/11cA3ZQ/55
8
8
 
cA3ZQ/1188!%% 	D	E	E	D
U5\1	u%//1r;   