o
    i                     @   s   d dl Zd dlZd dlmZmZmZ d dlm  m	Z
 d dlmZmZ d dlmZ ejje o4e p4e ddZe
dejdG dd	 d	ZdS )
    N)is_ci_environmentis_platform_macis_platform_windows)	DataFrameSeriesz`On GHA CI, Windows can fail with 'Windows fatal exception: stack overflow' and MacOS can timeout)reasonnumbaignorec                	   @   s   e Zd Zdd Zejjejdee	de	dde
e	dddgdd	 Zejjed
ejdee	de	dde
e	dddgdd ZdS )TestEWMc                 C   sp   t tdtdd}|dd }tjtdd |j|dd W d    d S 1 s1w   Y  d S )	N   ab         ?z;Must call mean with update=None first before passing update)match   update)	r   rangeheadewmonlinepytestraises
ValueErrormean)selfdf
online_ewm r    Z/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/window/test_online.pytest_invalid_update   s   "zTestEWM.test_invalid_updateobjr   r   foo)namec                 C   s   |j d||d }|||d}|dj d||dj|d}	tdD ]%}
|	 }t||d |	j|dd}t||d |	  q#d S )Nr   )adjust	ignore_nanogilparallelnopythonr   engine_kwargs   r   )	r   r   r   r   r   tmassert_equaltailreset)r   r#   r)   r*   r+   r&   r'   expectedr-   r   _resultr    r    r!   test_online_vs_non_online_mean'   s   
z&TestEWM.test_online_vs_non_online_mean)r   c                 C   s   t tjg ddd}|jd||||d }	|||d}
|djd|||d|dj|
d}tdD ])}| }t	||	d |j|
d	|
d	d
}t	||	
d	 |  q5d S )N)z
2020-01-01z
2020-01-05z
2020-01-07z
2020-01-17z
2020-01-21
datetime64)dtyper   )r&   r'   timeshalflifer(   r   r,   r.   )r   update_times)r   nparrayr   r   r   r   r   r/   r0   r1   r2   )r   r#   r)   r*   r+   r&   r'   halflife_with_timesr9   r3   r-   r   r4   r5   r    r    r!   test_update_times_mean@   sD   
zTestEWM.test_update_times_meanN)__name__
__module____qualname__r"   r   markslowparametrizer   r   r   r6   xfailNotImplementedErrorr?   r    r    r    r!   r
      s    	&&r
   )numpyr<   r   pandas.compatr   r   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   pandas._testing_testingr/   rC   skipif
pytestmark
skip_if_nofilterwarningsr
   r    r    r    r!   <module>   s    
