
    d                     N   d dl Zd dlZd dlmZmZmZ d dlmc m	Z
 d dlmZmZ d dlmZ ej                             e            o e            p	 e            d          Z e
j        d          ej                            d           G 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            
       &   e Zd Zd Zej        j        ej                            d e e	d           e	d          d           e
 e	d          d          g          d                         Zej                            e          ej                            d e e	d           e	d          d           e
 e	d          d          g          d	                         Zej                            d
g d          d             ZdS )TestEWMc                    t          t          d          t          d          d          }|                    d                              d                                          }t          j        t          d          5  |                    |                    d                     d d d            d S # 1 swxY w 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_ewms      [/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/window/test_online.pytest_invalid_updatezTestEWM.test_invalid_update   s    U1XXE!HH5566WWQZZ^^C((//11
]O
 
 
 	/ 	/ OO2771::O...		/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   *B99B= B=objr   r   foo)namec                 J   |                     d||                                          }|||d}|                    d                               d||                              |          }	t	          d          D ]}
|	                                }t          j        ||                    d                     |	                    |                    d                    }t          j        ||                    d                     |	                                 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+   expectedr1   r#   _results               r$   test_online_vs_non_online_meanz&TestEWM.test_online_vs_non_online_mean'   s
    773v7CCHHJJ"'X8TT HHQKKSVyS99V-V00 	 q 	 	A__&&FOFHMM!$4$4555__CHHQKK_88FOFHMM!$4$4555	 	    )r   c                    t          t          j        g dd                    }|                    d||||                                          }	|||d}
|                    d                              d|||                    d          |                              |
          }t          d          D ]}|                                }t          j	        ||	                    d                     |                    |
                    d	          |
                    d	          
          }t          j	        ||	
                    d	                     |                                 d S )N)z
2020-01-01z
2020-01-05z
2020-01-07z
2020-01-17z
2020-01-21zdatetime64[ns])dtyper   )r*   r+   timeshalflifer,   r   r0   r2   )r   update_times)r   nparrayr   r    r   r   r   r3   r4   r5   r6   )r!   r&   r-   r.   r/   r*   r+   halflife_with_timesr>   r7   r1   r#   r8   r9   s                 r$   test_update_times_meanzTestEWM.test_update_times_mean@   sv    HVVV&  
 
 77(  
 
 $&& 	 #(X8TTHHQKKS#jjmm,    V-V00 	 q 	 	A__&&FOFHMM!$4$4555__CHHQKKejjQRmm_TTFOFHMM!$4$4555	 	r;   method)	aggregatestdcorrcovvarc                 8   t          t          d                    }i }|dk    rd |d<   t          j        t          d          5   t          |                    d                                          |          di | d d d            d S # 1 swxY w Y   d S )	N
   rF   c                     | S )N )xs    r$   <lambda>z=TestEWM.test_ewm_notimplementederror_raises.<locals>.<lambda>p   s    q r;   funcz.* is not implemented.r   r   rN   )r   r   r   r   NotImplementedErrorgetattrr   r   )r!   rE   serkwargss       r$   #test_ewm_notimplementederror_raisesz+TestEWM.test_ewm_notimplementederror_raisesk   s    U2YY[  ([F6N].6NOOO 	; 	;0GCGGAJJ%%''00::6:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s   <BBBN)__name__
__module____qualname__r%   r   markslowparametrizer   r   r   r:   xfailrR   rD   rV   rN   r;   r$   r   r      sq       / / / [[		auuQxx889966%%((QV;W;W;WX    * [122[		auuQxx889966%%((QV;W;W;WX % %  32%N [X'Q'Q'QRR; ; SR; ; ;r;   r   )numpyrA   r   pandas.compatr   r   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   pandas._testing_testingr3   rZ   skipif
pytestmark
skip_if_nofilterwarningsr   rN   r;   r$   <module>rk      s`                
 * ) ) ) ) ) ) ) )              [H0022Goo6G6G    
 wH%%V; V; V; V; V; V; V; &% V; V; V;r;   