o
    d                     @   s   d dl Zd dlZd dlZd dlmZ d dlmZ ej	
dddgdd Zej	
dd	d
gdd Zdd Zej	
dd	d
gdd Zdd Zdd Zej	
dejejgej	
ddd	ide igdd Zdd Zdd Zd d! ZdS )"    N)Serieszoperation, expected)mina)maxbc                 C   s,   t ddgdd}t||  }||ksJ d S )Nr   r   stringdtype)r   getattr)Z	operationexpectedserZres_operation_serie r   W/app/.heroku/python/lib/python3.10/site-packages/pandas/tests/series/test_reductions.pytest_reductions_series_strings	   s   r   	as_periodTFc                 C   s^   t dd tddD }| r|jd}n|jd}| }|j|jks'J t|| d S )Nc                 S   s   g | ]	}t d d|qS )i     )pd	Timestamp).0nr   r   r   
<listcomp>   s    z-test_mode_extension_dtype.<locals>.<listcomp>      Dz
US/Central)	r   rangedtZ	to_periodZtz_localizemoder	   tmZassert_series_equal)r   r   resr   r   r   test_mode_extension_dtype   s   r   c                  C   sN   t dtjgdd} | d }|  |ksJ |  |ksJ |  |ks%J d S )Nr   zm8[ns]r   )r   r   ZNaTmedianr   r   )r   expr   r   r   test_reductions_td64_with_nat    s
   r"   skipnac                 C   s>   t g dd}|j| d}t|tjsJ |tdksJ d S )Nztimedelta64[ns]r   )r#   r   )r   sum
isinstancer   	Timedelta)r#   r   resultr   r   r   test_td64_sum_empty)   s   r(   c                  C   s(  t tjdddd} | d  td7  < | |    }tt| |   jt|  	 }t
|jd |jd s>J d}tjt|d	 | |   	  W d    n1 sZw   Y  | dd
 }tjt|d	 ||  	  W d    n1 sw   Y  | dd }||  	  d S )NZ20130101i H)Zperiodsfreqr   z1s 1msi  zoverflow in timedelta operationmatchi'  )r   r   Z
date_ranger&   r   meanZTimedeltaIndexZasi8lenr$   npZallclose_valuepytestraises
ValueError)r   r'   r   msgs1s2r   r   r   test_td64_summation_overflow3   s   &r7   c                  C   s.   t g dtdd} |  }t|t rJ d S )N)      ?r8   r8      )index)r   r   prodr%   )r   r'   r   r   r   test_prod_numpy16_bugL   s   r<   funckwargskeepdimsoutc                 C   st   t ddg}t| d }|j}d| d| d}tjt|d ||fi |  W d    d S 1 s3w   Y  d S )Nr      r   zthe 'z=' parameter is not supported in the pandas implementation of z\(\)r+   )r   list__name__r1   r2   r3   )r>   r=   r   paramnamer4   r   r   r   )test_validate_any_all_out_keepdims_raisesS   s   "rF   c                  C   R   t ddg} d}tjt|d tj| dd W d    d S 1 s"w   Y  d S )Nr   rA   zPthe 'initial' parameter is not supported in the pandas implementation of sum\(\)r+   
   )initialr   r1   r2   r3   r/   r$   r   r4   r   r   r   test_validate_sum_initialc      "rL   c                  C   sP   t ddg} d}tjt|d | jdd W d    d S 1 s!w   Y  d S )Nr   rA   z[the 'overwrite_input' parameter is not supported in the pandas implementation of median\(\)r+   T)Zoverwrite_input)r   r1   r2   r3   r    rK   r   r   r   test_validate_median_initialn   s   "rN   c                  C   rG   )Nr   rA   zQthe 'keepdims' parameter is not supported in the pandas implementation of sum\(\)r+   T)r?   rJ   rK   r   r   r   test_validate_stat_keepdims{   rM   rO   )numpyr/   r1   Zpandasr   r   Zpandas._testingZ_testingr   markZparametrizer   r   r"   r(   r7   r<   anyallobjectrF   rL   rN   rO   r   r   r   r   <module>   s(    

	
	