
    Pi                     h    d dl Zd dlZd dlmZ d dlZd dlmZ d dlm	Z
 d dlmZ  G d d          ZdS )    N)DatetimeTZDtype)NaT)DatetimeArrayc                   0   e Zd Zej        d             Zd Zej                            dddg          d             Z	ej                            dddg          d             Z
d Zd	 Zej                            d
          d             Zd Zd Zd ZdS )TestReductionsc                     |}|t          |          nt          j        d          }t          j        g d|          }|S )z;Fixture returning DatetimeArray with parametrized timezonesNtzM8[ns])
2000-01-03r   r   
2000-01-02
2000-01-05z
2000-01-04dtype)r   npr   r   _from_sequence)selftz_naive_fixturer
   r   arrs        /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/arrays/datetimes/test_reductions.pyarr1dzTestReductions.arr1d   s^     *,.2&&&&bhx>P>P*   

 

 

 
    c                 "   |}|                     |          }|j        }|                                }t          j        d|                               |          }||k    sJ |j        |j        k    sJ |                                }t          j        d|                               |          }||k    sJ |j        |j        k    sJ |                    d          }|t          u sJ |                    d          }|t          u sJ d S )Nr   r	   r   Fskipna)as_unitr
   minpd	Timestampunitmaxr   )r   r   r    r   r
   resultexpecteds          r   test_min_maxzTestReductions.test_min_max   s   kk$V<444<<TBB!!!!{hm++++<444<<TBB!!!!{hm++++&&}}}}&&}}}}}}r   r
   Nz
US/Centralc                    |t          |          nt          j        d          }t          j        g |          }|                    |          }|t          u sJ |                    |          }|t          u sJ d S )Nr	   r   r   r   )r   r   r   r   r   r   r   r!   )r   r   r
   r   r   r"   s         r   test_min_max_emptyz!TestReductions.test_min_max_empty4   s~    *,.2&&&&bhx>P>P*2U;;;''}}}}''}}}}}}r   c                 d   |t          |          nt          j        d          }t          j        g |          }|                    |          }|t          u sJ |                    dd          }|                    d|          }t          |                              t          t          t          g|j                  }t          j
        ||           |                    d|          }t          |                              g |j                  }t          j
        ||           d S )	Nr	   r   r   r   r      axisr      )r   r   r   r   r   medianr   reshapetypetmassert_equal)r   r   r
   r   r   r"   r#   s          r   test_median_emptyz TestReductions.test_median_empty>   s   *,.2&&&&bhx>P>P*2U;;;6**}}}}kk!Q62299++S#sO39+MM
)))62299++Bci+@@
)))))r   c                 D   |}|                                 }||d         k    sJ |                     d          }|t          u sJ |                                                     d          }||d         k    sJ |                     d          }||d         k    sJ d S )Nr   Fr   r*   )r,   r   dropna)r   r   r   r"   s       r   test_medianzTestReductions.test_medianN   s    Q5))}}}}$$E$22Q##Qr   c                 >   |}|                     d          |                                 k    sJ |                     dd          t          u sJ d}t          j        t          |          5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr   r3   Fr)   z"abs\(axis\) must be less than ndim)matchr+   )r,   r   pytestraises
ValueError)r   r   r   msgs       r   test_median_axiszTestReductions.test_median_axis\   s    zzqz!!SZZ\\1111zzqz//366663]:S111 	 	JJAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   .BBBz/ignore:All-NaN slice encountered:RuntimeWarningc                    |                     dd          }|                                |                                k    sJ |                    d          t          u sJ |                    d          }|}t          j        ||           |                    dd          }|}t          j        ||           |                    d          }t          |                              |                                g|j                  }t          j        ||           |                    dd          }t          |                              t          g|j                  }t          j        ||           d S )	Nr+   Fr   r   r3   r)   r   )r-   r,   r   r/   r0   r.   r   r   )r   r   r   r"   r#   s        r   test_median_2dzTestReductions.test_median_2de   sR   mmAr"" zz||u||~~----zzz''3.... ##
))) 511
))) ##99++U\\^^,<CI+NN
)))51199++SE+CC
)))))r   c                 b   |}|d         dt          j        d          z  z   }|                                }||k    sJ |                    d          }|t          u sJ |                                                    d          }||k    sJ |                    d          }||k    sJ d S )Nr   g?r+   )daysFr   r3   )r   	Timedeltameanr   r4   )r   r   r   r#   r"   s        r   	test_meanzTestReductions.test_mean   s     q6C",A"6"6"666!!!!''}}}}""%"00!!!!q!!!!!!!!r   c                    t          j        dddd          }|j                            dd          }|                    d	          }|d
         }t          j        ||           |                    d
	          }|d d df         t          j        d          z   }t          j        ||           |                    d 	          }|                                }||k    sJ d S )Nz
2016-01-01   z
US/Pacificns)periodsr
   r    r(      r   r3   r+      )hours)r   
date_range_datar-   rC   r/   assert_datetime_array_equalrB   )r   dtidtar"   r#   s        r   test_mean_2dzTestReductions.test_mean_2d   s    mL!4PPPi1%%q!!q6
&vx888q!!qqq!t9r|"5555
&vx888t$$88::!!!!!!r   c                    |d d         }|                     |          t          u sJ |                    dd          }|                     d|          }t          j        t          t          t          g|j                  }t          j        ||           |                     d|          }|}t          j        ||           |                     d |          }|t          u sJ d S )Nr   r   r(   r)   r   r+   )rC   r   r-   r   r   r   r/   rN   )r   r   r   r   arr2dr"   r#   s          r   test_mean_emptyzTestReductions.test_mean_empty   s    BQBixxvx&&#----Aq!!622 /c3syQQQ
&vx888622
&vx888f55}}}}}}r   )__name__
__module____qualname__r8   fixturer   r$   markparametrizer&   r1   r5   r<   filterwarningsr?   rD   rQ   rT    r   r   r   r      s       ^  ^"  * [TD,#788  98 [TD,#788* * 98*        [ QRR* * SR*4" " """ " "     r   r   )numpyr   r8   pandas.core.dtypes.dtypesr   pandasr   r   pandas._testing_testingr/   pandas.core.arraysr   r   r\   r   r   <module>rc      s         5 5 5 5 5 5                 , , , , , ,d d d d d d d d d dr   