o
    g(                     @   s^  d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ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d Zdd Zdd Zejdddejejejejgg dg dejejejejgg dg d g d!gfd"dg d#g dg d$g d%g dg d&g d'gfgd(d) Z d*d+ Z!ej"d,d-d. Z#dS )/    N)		DataFrameIndex
MultiIndexPeriodSeries	Timestampconcat
date_rangetimedelta_range)SpecificationErrorc                  C   s   t tjdd} | jdd}t|jj| j | jddd }|jj	| jd ks+J | jddd }t|jj| jddg  | jddddg }t|jj| jddg  d S )N   window   )r      r   )
r   nprandomrandnrollingtmassert_index_equal_selected_objcolumnsname)framer r   Z/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pandas/tests/window/test_api.pytest_getitem   s   r   c                  C   s   t ddggddgd} | jdd}tjtdd	 |d
g  W d    n1 s(w   Y  tjtdd	 |dd
g  W d    d S 1 sFw   Y  d S )Nr      ABr   r   r   zColumns not found: 'C'matchCz^[^A]+$)r   r   pytestraisesKeyError)dfgr   r   r   test_select_bad_cols#   s   "r+   c                  C   sz   t ddggddgd} | jdd}t|j |d   d}tjt|d	 |j	 W d    d S 1 s6w   Y  d S )
Nr   r   r    r!   r"   r   r   z%'Rolling' object has no attribute 'F'r#   )
r   r   r   assert_series_equalr    sumr&   r'   AttributeErrorF)r)   r   msgr   r   r   test_attribute_access.   s   "r1   c                  C   sx   t tdtdddd} | jdd}|ddg  }t tjtjdd	d
gtjtjdddgdtdd}t|| d S )Nr   
   foor    r!   r%   r   r   r    r!      	            r    r!   ABr"   	r   ranger   r-   r   nanlistr   assert_frame_equalr)   r   resultexpectedr   r   r   tests_skip_nuisance8   s   $rD   c                  C   sp   t tdtdddd} | jdd}| }t tjtjdddgtjtjd	d
dgdtdd}t|| d S )Nr   r2   r3   r4   r   r   r5   r6   r7   r8   r9   r:   r;   r"   r<   rA   r   r   r   test_skip_sum_object_raisesD   s   $rE   c                  C   s:  t tdtdddd} | jdd}|d  }|d  }|d  }|d	  }|d	  }|tjtjg}t||||gd
d}t	
dd	gddgg|_t|| |tjtjd}t||gd
d}tj||dd |dddgi}t||gd
d}t	ddg|_t|| |d ddg}t||gd
d}ddg|_t|| d}	tjt|	d |ddddi W d    n1 sw   Y  tjt|	d |ddddddd W d    n1 sw   Y  |ddgddgd}t||||gd
d}g d}
t	|
|_tj||dd d S )Nr   r   r2   r   r:   r   r   r    r!   r   axismeanstdT
check_liker    rH   r    rI   r-   nested renamer is not supportedr#   )rH   r-   )mean2sum2)rL   rM   )r!   rH   )r!   rI   )r   r=   r   rH   rI   r-   	aggregater   r   r   from_productr   r   r@   from_tuplesr&   r'   r   )r)   r   a_meana_stda_sumb_meanb_stdrB   rC   r0   exp_colsr   r   r   test_aggO   sH   
rZ   c                 C   s   t tdtdddd}|jdd}|d  }|tjd	d
 d}|d jdd
 | d}t||gdd}tj	||dd d S )Nr   r   r2   r   r:   r   r   r    c                 S      t j| ddS Nr   )ddofr   rI   xr   r   r   <lambda>       z test_agg_apply.<locals>.<lambda>r!   c                 S   r[   r\   r^   r_   r   r   r   ra      rb   )rawr   rF   TrJ   )
r   r=   r   r-   aggr   applyr   r   r@   )rc   r)   r   rV   rB   rcustomrC   r   r   r   test_agg_apply   s   rg   c                  C   s   t tdtdddd} | jdd}|tjtjgj}t	t
dd	d
gg}t|| |d tjtjgj}td	d
g}t|| |dtjtjgij}tddg}t|| d S )Nr   r   r2   r   r:   r   r   r;   r-   rH   r    )r    r-   rL   )r   r=   r   rd   r   r-   rH   r   r   rR   r?   r   r   r   rS   rA   r   r   r   test_agg_consistency   s   rh   c                  C   sf  t tdtdddd} | jdd}d}tjt|d	 |d
ddgidddgid W d    n1 s7w   Y  t|d
  |d
 	 |d  |d 	 gdd}t
g d|_tjt|d	 |d
dg dddgidddgid W d    n1 sw   Y  tjt|d	 |dddgidddgid W d    d S 1 sw   Y  d S )Nr   r   r2   r   r:   r   r   rN   r#   r    rH   r-   r!   )r1r2r   rF   ))rarH   )rk   rI   )rbrH   )rl   rI   rk   rI   rl   )r   r=   r   r&   r'   r   rQ   r   rH   rI   r   rS   r   rd   )r)   r   r0   rC   r   r   r   test_agg_nested_dicts   s$   ",*""rm   c                  C   s:  g d} t dt dt d g}tg dg dtdtdddtd	dd
dtdtdtdgddtjgddtjgddtjg|tdtdtd gd| d}tg dg dg dg dg dg dg dg dg dg dg dd| d}|j	ddd
 }t|| |j	ddd
 }| t}t|| d S )N)intfloatstringdatetime	timedeltaperiodsfl_inffl_nanstr_nandt_natperiods_nat2017010120170203)r   r   r   )g      @g      @g      @abcr   )rs   z1 ss)rs   freqz2012-01z2012-02z2012-03      ?       @aabbr"   )r~   r   r   )r~   r   r~   r   r   )r   min_periodsr   )r   )r   r   r?   r	   r
   r   r   InfNaNr   countr   r@   notnaastypero   )cols
dt_nat_colr)   rC   rB   r   r   r   test_count_nonnumeric_types   sV   



r   c                  C   sN   t tddd} | d }| d }|jdksJ |jdks%J d S )Nd   r3   )r         )r   r   aranger   r-   r   )r|   s2s3r   r   r   test_preserve_metadata   s
   r   zfunc,window_size,expected_valsr   r   )g      .@      4@      9@r   )r         >@     A@r   )r   r   r   r   )r         D@      N@r   )r         T@g     @U@P   	expanding)      $@r   r   r   )r   r   r   r   )r   r   r   r   )gRB:@r   g      I@r   )r   r   r   r   c           
   	   C   s   t g dg dg dg dg dg dg dgg dd	}t|d
| }|r,||}n| }tjg dd
d gd}tg d}t |||d}|ddgddgd}	t|	| d S )N)r    r2   r   )r    r   r   )r    r   (   )r!   r2   r   )r!   r   r   )r!   r   r   )r!   r   Z   )stocklowhighr"   r   ))r    r   )r    r   )r    r   )r!   r   )r!      )r!   r   )r!   r5   )names))r   rH   )r   max)r   rH   )r   min)indexr   rH   r   r   )r   r   )r   getattrgroupbyr   rS   rd   r   r@   )
funcwindow_sizeexpected_valsr)   fr   r   r   rC   rB   r   r   r   test_multiple_agg_funcs  s2   !	
r   c                  C   sL   t tdd} tt | jrJ W d    d S 1 sw   Y  d S )Nr   )r   r=   r   r   assert_produces_warningFutureWarningis_datetimelike)r|   r   r   r   test_is_datetimelike_deprecatedE  s   "r   z ignore:min_periods:FutureWarningc                    s^   t tdjd|||d  fdd jD }t |    fdd jD }||ks-J d S )Nr   )centerclosedr   c                       i | ]}|t  |qS r   r   .0attrroll_objr   r   
<dictcomp>S      z=test_dont_modify_attributes_after_methods.<locals>.<dictcomp>c                    r   r   r   r   r   r   r   r   U  r   )r   r=   r   _attributesr   )arithmetic_win_operatorsr   r   r   rC   rB   r   r   r   )test_dont_modify_attributes_after_methodsK  s   r   )$numpyr   r&   pandasr   r   r   r   r   r   r   r	   r
   pandas._testing_testingr   pandas.core.baser   r   r+   r1   rD   rE   rZ   rg   rh   rm   r   r   markparametrizer>   r   r   filterwarningsr   r   r   r   r   <module>   s\    ,
0C

#
