U
    /e                     @   s   d dl 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 d dlmZ dd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd ZdS )    N)	Blockwiseoptimize_blockwise)tm)optimize_dataframe_getitem)	assert_eqc                  C   s&  t jjddtttdddd} | jd tdks6t	| jd	 td
ksNt	t
| jtdddg | d  jtks~t	| d  jtkst	| d  jtkst	| jjdkst	|  jj| jjkst	| jttjddddkst	t
|  |   t jjddtttddddd}t jjddtttddddd}t jjddtttddddd}t jjddtttddddd}t jjddtttddddd}t
| |  |d|dk  rt	|j|jkst	|j|jkst	|j|jkst	|j|jks"t	d S )N2000Z2015ABCZ2D6Mfreqpartition_freqr   z
2000-01-31z
2014-07-31r	   r
   r   	timestamp)startendr   {   r   r   seedi  3M1D
   )dddemomake_timeseriesfloatintstrZ	divisionspdZ	TimestampAssertionErrorr   Zassert_index_equalcolumnsZIndexheadZdtypeobjectindexnametupleZ
date_rangeZassert_frame_equalall_name)dfabcde r0   E/tmp/pip-unpacked-wheel-dbjnr7gq/dask/dataframe/io/tests/test_demo.pytest_make_timeseries   s~      
  




"r2   c                  C   sR   t j } d| j  k r dk s&n tt| jdks8ttt| jdksNtd S )N   i  )	r   r   r   npartitionsr!   lenr"   setZdtypesr*   r0   r0   r1   test_make_timeseries_no_argsL   s    
r8   c                     s   t j   ddg   fddt jD } t  | }dd |j D d }t	|j| j
ddhksptt  | }|j}t| d }t|dkstt|| tstd S )Nxyc                    s   g | ]} j |fqS r0   )r)   .0ir7   r0   r1   
<listcomp>V   s     z2test_make_timeseries_blockwise.<locals>.<listcomp>c                 S   s   g | ]}| d r|qS )zmake-timeseries-)
startswith)r<   kr0   r0   r1   r>   [   s     
 r   r3   )r   r   r   ranger4   r   Z__dask_graph__layerskeysr6   r"   r!   r   listr5   
isinstancer   )rC   graphkeyrB   r&   r0   r7   r1   test_make_timeseries_blockwiseS   s    
rH   c                      sB   t jjdddtiddd t fddt jd	 D s>td S )
Nr   2001r	   Z3Hr   r   c                 3   s:   | ]2}  |j    |d  j  k V  qdS )r3   N)Zget_partitionr%   maxcomputeminr;   r7   r0   r1   	<genexpr>l   s   z#test_no_overlaps.<locals>.<genexpr>   )r   r   r   r   r(   rA   r4   r!   r0   r0   r7   r1   test_no_overlapsg   s        rO   c               	   C   s   t jjddtttdddddd} | j }| j }tj	||d	d
\}}d|  k r^dksdn t
d|  k rxdks~n t
d S )Nr   rI   r   r   r   @B rN   )r   r   ZA_lamZB_lamsingle-threadedZ	schedulerd   逖 r3   )r   r   r   r   r   r	   nuniquer
   daskrK   r!   r*   Za_cardinalityZb_cardinalityZaaZbbr0   r0   r1   test_make_timeseries_keywordss   s    
	

rX   c               	   C   s   t jjddtttdddddd} | j }| j }tj	||d	d
\}}d|  k r^dksdn t
d|  k rxdks~n t
d S )Nr   rI   )A_BB_r   r   r   rP   rN   )r   r   ZA_B_lamZB__lamrQ   rR   rS   rT   r3   )r   r   r   r   r   rY   rU   rZ   rV   rK   r!   rW   r0   r0   r1   #test_make_timeseries_fancy_keywords   s    
	

r[   c                  C   sP   t j } | | jdk }| }|d  dks4tt| jt|jksLtd S )Nr   r:   )	r   r   r   r:   rK   rL   r!   rD   r"   )r*   Zdf2Zdf3r0   r0   r1   $test_make_timeseries_getitem_compute   s
    
r\   c                  C   sn   t jjdddddd} t| dg  |  dg  t| dd	d
d |  dd	d
d d S )NrI   Z2002r   r   *   r   r9   r&   sumrJ   )r9   r:   )r   r   r   r   rK   groupbyZ	aggregate)Zddfr0   r0   r1   &test_make_timeseries_column_projection   s        r`   )Zpandasr    rV   Zdask.dataframeZ	dataframer   Zdask.blockwiser   r   Zdask.dataframe._compatr   Zdask.dataframe.optimizer   Zdask.dataframe.utilsr   r2   r8   rH   rO   rX   r[   r\   r`   r0   r0   r0   r1   <module>   s   A
