
    PiS                        d dl Zd dlZd dlZd dlmZmZmZmZ d dl	m
Z  ej        ddgddggd           d	             Z G d
 d          Z G d d          Zd Zej                            dddg          d             ZdS )    N)	DataFrameIndexSeries	Timestamplinearsinglenearesttablec                 ,    d                     |           S )N-)joinxs    |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/methods/test_quantile.py<lambda>r      s    sxxPQ{{     paramsidsc                     | j         S )z.(interpolation, method) arguments for quantile)param)requests    r   interp_methodr      s    
 =r   c                      e Zd Zej                            d e eej	        
                    ddg                     eej	        
                    ddg                    d           eddgd	
          g e eg dd                     edgd	
          gg          d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dg d           d!             Zej                            d"d#dd	d#gd	dgg          d$             Zd% Zd& Zd' Zd( Z d) Z!d* Z"d+ Z#d, Z$d- Z%d. Z&d/S )0TestDataFrameQuantilezdf,expected            )r   r         ?      @      ?name)g        N      ?       @Sparse[float]dtyper%   c                     |                                 }|                    d          }t          j        ||           d S )Nr'   )quantileastypetmassert_series_equal)selfdfexpectedresults       r   test_quantile_sparsez*TestDataFrameQuantile.test_quantile_sparse   s;    * ???33
vx00000r   c                 T   |\  }}|                     ddd||          }t          fdj        D             j        d          }|dk    rt          j        ||           n1t          j        |j        |j                   |j        |j        k    sJ                      dd	d||          }t          fd
j        D             j        d          }|dk    rt          j        ||           d S t          j        |j        |j                   |j        |j        k    sJ d S )N皙?r   Taxisnumeric_onlyinterpolationmethodc                 F    g | ]}t          j        |         d           S )
   )np
percentile).0colr0   s     r   
<listcomp>z7TestDataFrameQuantile.test_quantile.<locals>.<listcomp>7   s)    >>>CR]2c7B''>>>r   indexr$   r   ?r   c                 P    g | ]"}t          j        j        |         d           #S )Z   )r=   r>   loc)r?   dater0   s     r   rA   z7TestDataFrameQuantile.test_quantile.<locals>.<listcomp>F   s+    BBBR]26$<,,BBBr   )r+   r   columnsr-   r.   assert_index_equalrC   r$   )	r/   datetime_framer   r   r9   r:   r2   r1   r0   s	           @r   test_quantilez#TestDataFrameQuantile.test_quantile0   so    -vad-PV  
 
 >>>>2:>>>*
 
 

 H$$"684444!&,???;(-////ad-PV  
 
 BBBBBBB(
 
 

 H$$"6844444!&,???;(-//////r   c                     |\  }}t          g g d                              ddd||          }t          j        |d                   rt          j        |d                   sJ d S )Nr   yr5   r   Tr6   r   rO   )r   r+   r=   isnan)r/   r   r9   r:   qs        r   
test_emptyz TestDataFrameQuantile.test_emptyQ   sw     -vBR(())22ad-PV 3 
 
 x#4BHQsV$4$444444r   c                 :   |\  }}t          g dg dd          }|                    dd||          }|                    d                              d          }|dk    r"|dz                       t
          j                  }t          j        ||           d S )	N)ArT   BrU   )r   r   r   r   )col1col2r"   Tr8   r9   r:   r8   r	   )	r   r+   medianrenamer,   r=   int64r-   r.   )r/   r   r   r9   r:   r0   rsxps           r   test_non_numeric_exclusionz0TestDataFrameQuantile.test_non_numeric_exclusionX   s     -v 4 4 4lllKKLL[[d-  
 
 YYDY))0055I%%s(""28,,B
r2&&&&&r   c                 b   |\  }}t          g dg ddg d          }|                    dd||          }t          g dg dd	          }|d
k    r|                    t          j                  }t          j        ||           |                    ddgd||          }t          ddgddgddgdddg          }|d
k    rQ|j        dd d fxx         dz  cc<   |j        dd d fxx         dz  cc<   |                    t          j                  }t          j	        ||d           d S )Nr   r   r   r   r   r   rT   rU   rC   r"   r   r7   r9   r:   r          @r!   rB   r	         ?r    g      ?rg   g      @r!   g      @r         ?T)check_index_type)
r   r+   r   r,   r=   r\   r-   r.   ilocassert_frame_equalr/   r   r9   r:   r0   r2   r1   s          r   	test_axiszTestDataFrameQuantile.test_axisc   s|    -vYYYYYY77yyyIIISqfUU///EEEI%%rx00H
vx000$Ka}V  
 
 ddd<<S$K
 
 
 I%%M!QQQ$3&M!QQQ$4'rx00H
fhFFFFFFr   c                 $   |\  }}t          g dg dg          }|                    ddd||          }t          ddgt          d	          d
          }|dk    r|                    t
          j                  }t          j        ||           d S )Nra   )abr   r"   r   Tr6         @      @r   rB   r	   )	r   r+   r   ranger,   r=   r\   r-   r.   rm   s          r   test_axis_numeric_only_truez1TestDataFrameQuantile.test_axis_numeric_only_truey   s     !.v			===122ad-PV  
 
 3*E!HH3???I%%rx00H
vx00000r   c                     |\  }}t          j        dddd          }t          |          }t          |          }|                    d||          }t          dgd	d
          }t          j        ||           d S )N
2016-01-01r   
US/Pacificns)periodstzunitFrX   z2016-01-02 00:00:00r"   datetime64[ns, US/Pacific]r$   r)   )pd
date_ranger   r   r+   r-   r.   )	r/   r   r9   r:   dtiserr0   r2   r1   s	            r   test_quantile_date_rangez.TestDataFrameQuantile.test_quantile_date_range   s     -vmL!4PPPSkks^^mF  
 
 "##5Q
 
 
 	vx00000r   c                    |\  }}t          g dg dt          j        dd          g dd          }|                    dd	d
||          }t	          g dd          }|dk    r|dz  }t          j        ||           d}t          j        t          |          5  |                    dd	d           d d d            d S # 1 swxY w Y   d S )Nra   r&   rr   rs   20130101r   rz   )foobarbaz)rT   rU   CDr"   r   Tr6   rf   r#   r	   z>'<' not supported between instances of 'Timestamp' and 'float'matchFr7   r8   )
r   r   r   r+   r   r-   r.   pytestraises	TypeErrorr/   r   r9   r:   r0   r2   r1   msgs           r   test_quantile_axis_mixedz.TestDataFrameQuantile.test_quantile_axis_mixed   sL    -vYY$__]:q999***	 
 
 ad-PV  
 
 ///444I%%OH
vx000 O]9C000 	9 	9KK!%K888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   CCCc                     |\  }}t          g dg ddg d          }|                    dd||          }t          dd	gd
dgd          }|dk    r|                    t          j                  }t          j        ||           |                    dd||          }|dk    r|                    t          j                  }t          j        ||           |                    dd||          }t          g dg dd          }|dk    r|                    t          j                  }t          j        ||           |                    dd||          }t          j        ||           d}t          j	        t          |          5  |                    dd||           d d d            n# 1 swxY w Y   d}t          j	        t          |          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nra   rb   rc   rd   r"   r   re   r&   rr   rT   rU   rB   r	   rC   r   rf   rI   z*No axis named -1 for object type DataFramer   r5   z.No axis named column for object type DataFramecolumnr7   )r   r+   r   r,   r=   r\   r-   r.   r   r   
ValueErrorr   s           r   test_quantile_axis_parameterz2TestDataFrameQuantile.test_quantile_axis_parameter   s    -vYYYYYY77yyyIIISqfUU3*S#JSAAAI%%rx00H
vx000;;g]6  
 
 I%%rx00H
vx000SqfUU///EEEI%%rx00H
vx000i}V  
 
 	vx000:]:S111 	R 	RKK"M&KQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R>]:S111 	, 	,KK(K+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s$   F66F:=F:HH
Hc                    t          g dg ddg d          }|                    ddd          }t          g dg dd	          }t          j        ||           t          j        t          j        g dg dg          dd
d          }t          |g ddd          }t          j        ||           t          g dg ddg d          }|                    ddd          }t          g dg dd	          }t          j        ||           t          j        t          j        g dg dg          dd
d          }t          |g ddd          }t          j        ||           |                    ddgdd          }t          ddgddgddgdddg          }t          j        ||           t          g g d          }|                    dd
d          }t          j	        |d                   rt          j	        |d                   sJ t          g dg dg dgg d          }|                    d dgd!"          }t          g d#g d$gd dgg d%          }t          j        ||           d S )&Nra   rb   rc   rd   r"   r   r	   r7   r9   rB   r   )r7   r:   r\   rC   r$   r)   r%   r&   rr   r   float64rh   lowerr%   r&   rr   rN   r5   higherr   rO   r   r   r   r   r   r   r   r   r   rp   rq   crI   ri   midpoint)r9   r    r    r    r&   r&   r&   rC   rI   )
r   r+   r   r-   r.   r=   r>   arrayrl   rP   )r/   r0   r2   r1   exprQ   s         r   test_quantile_interpolationz1TestDataFrameQuantile.test_quantile_interpolation   s    YYYYYY77yyyIIISq	BB)))9993???
vx000 mHiii+,,	
 
 
 #YYYSHHH
vx000 ___???CC999UUUSq	BB///EEE
vx000mHooo788	
 
 
 #YYYS	JJJ
vx000 c4[qHHc
SzsCj99#t
 
 
 	fh/// Rb))**KK!8K<<x#4BHQsV$4$4444 			999iii8///RRRdC[
CC __ooo.+#OO
 
 

 	fh/////r   c                     |}|                     dddd          }|d         t          j        |d         d          k    sJ d S )Nr5   r   Tr   )r7   r8   r9   rT   r<   )r+   r=   r>   )r/   rK   r0   rQ   s       r   $test_quantile_interpolation_datetimez:TestDataFrameQuantile.test_quantile_interpolation_datetime  sM     KK!$hKOOvr#w33333333r   c                 *   |}|                     d          }|d         t          j        |d         d          k    sJ |                     ddd          }|d         t          j        |d         d          k    sJ t          j        ||           d S )Nr5   rT   r<   r   r   r   )r+   r=   r>   r-   r.   )r/   	int_framer0   rQ   q1s        r   test_quantile_interpolation_intz5TestDataFrameQuantile.test_quantile_interpolation_int  s     KKvr#w333333 [[1H[==#w"-3444444
q"%%%%%r   c                 (   |\  }}t          g dg dg dgg d          }|                    ddg||          }t          g d	g d
gddgg d          }|dk    r|                    t          j                  }t          j        ||           d S )Nr   r   r   r   r   ri   r"   r9   r:   r   r   r   r	   r   r+   r,   r=   r\   r-   rl   rm   s          r   test_quantile_multiz)TestDataFrameQuantile.test_quantile_multi#  s     -v			999iii8///RRRdC[fUU__ooo.+#OO
 
 

 I%%rx00H
fh/////r   c                 *   |\  }}t          g dg dg dgg d          }|                    ddgd||	          }t          g d
gdz  ddgg d          }|dk    r|                    t          j                  }t          j        ||           d S )Nr   r   r   r   r   ri   r"   r   re   r   r   )r   r   r   r   r	   r   rm   s          r   test_quantile_multi_axis_1z0TestDataFrameQuantile.test_quantile_multi_axis_10  s     -v			999iii8///RRR3Ka}V  
 
 __!$iii
 
 
 I%%rx00H
fh/////r   c                    |\  }}t          g g d                              ddgd||          }t          t          j        t          j        gt          j        t          j        gdddg          }t	          j        ||           d S )NrN   r5   rD   r   re   rd   )r   r+   r=   nanr-   rl   )r/   r   r9   r:   r2   r1   s         r   test_quantile_multi_emptyz/TestDataFrameQuantile.test_quantile_multi_empty=  s     -v"--..77#JQmF 8 
 
 626""&"&)9::3*
 
 
 	fh/////r   c                    t          j        ddg                              |          }t          |ddgd          }|                    dd          }t          d	gd
gd          }t          j        ||           |                    dd          }t          t          d          d	gdd
gd          }t          j        ||           |                    dgd          }t          t          d                              |          d	ddg          }t          j	        ||           t          j        ddg                              |          |d<   |ddg                             ddd          }t          t          d          t          d          gddgdd| d          }t          j        ||           |ddg                             dgdd          }t          t          d          t          d          ggdgddgd| d          }t          j	        ||           |ddg                             dd          }t          g t          g d          t          j        d          }t          j        ||           |ddg                             dgd          }t          dgt          g d                    }t          j	        ||           d S )N20102011r      rp   rq   r"   TrY   rg   rq   rB   Fz2010-07-02 12:00:00rp   rd   2012r   r   r   z2011-07-02 12:00:00M8[]r   rC   rI   r)   strr(   rC   r)   r$   r   )r   to_datetimeas_unitr   r+   r   r-   r.   r   rl   r   r=   r   )r/   r|   r   r0   r2   r1   s         r   test_quantile_datetimez,TestDataFrameQuantile.test_quantile_datetimeG  s   nff-..66t<<S1v..// St443%u3777
vx000 Su55,--s3C:C
 
 
 	vx000 cU77122::4@@sKK%
 
 
 	fh/// .&&!122::4@@3S#J((15(II,--y9N/O/OPa&---	
 
 
 	vx000S#J((#QU(KK-..	:O0P0PQR%F---	
 
 
 	fh/// S#J((4(@@"E"E$:$:$:"*SVWWW
vx000S#J((#T(BBC5%%2H2H2HIII
fh/////r   r)   )datetime64[ns]r}   ztimedelta64[ns]z	Period[D]c                 z   |\  }}t          ddg|          }|                    ddd||          }t          g t          g d	          d|
          }t	          j        ||           |                    dgdd||          }t          dgt          g d	                    }t	          j        ||           d S )Nrp   rq   rI   r)   r"   r   Fr6   r   r(   r   r   )r   r+   r   r   r-   r.   rl   )r/   r)   r   r9   r:   r0   resr1   s           r   test_quantile_dt64_emptyz.TestDataFrameQuantile.test_quantile_dt64_empty|  s     !.vSz777kkae=QW  
 
 "E"E$:$:$:ERRR
sH--- kkE'  
 
 C5%%2H2H2HIII
c8,,,,,r   invalidr   c                     d}|\  }}t          j        t          |          5  |                    |||           d d d            d S # 1 swxY w Y   d S )Nz2percentiles should all be in the interval \[0, 1\]r   r   )r   r   r   r+   )r/   r   rK   r   r   r9   r:   s          r   test_quantile_invalidz+TestDataFrameQuantile.test_quantile_invalid  s    D -v]:S111 	Y 	Y##G=QW#XXX	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Ys   A		AAc           	      .   |\  }}t          t          d          t          d          t          d          gt          dd          t          dd          t          dd          gt          j        d          t          j        d          t          j        d          gd	          }|                    d
d||          }t          t          d          t          dd          t          j        d          gd
g d	          }t          j        ||           |                    d
gd||          }t          t          d          t          dd          t          j        d          ggd
gg d	          }t          j        ||           d S )N
2011-01-01
2011-01-02
2011-01-03
US/Easternr{   1 days2 days3 days)rT   rU   r   r"   FrX   r$   rC   r   )	r   r   r   	Timedeltar+   r   r-   r.   rl   r/   r   r9   r:   r0   r   r   s          r   test_quantile_boxz'TestDataFrameQuantile.test_quantile_box  s    -v l++l++l++ l|<<<l|<<<l|<<< L**L**L** 
 
( kke=  
 
 ,'',<888X&&
 !//
 
 
 	sC(((kkE]6  
 
  l++l|<<<L** %#OO

 

 

 	c3'''''r   c                    t          t          d          t          j        t          d          t          d          gt          d          t          d          t          j        t          d          gt          dd          t          j        t          dd          t          dd          gt          dd          t          dd          t          j        t          dd          gt          j        d          t          j        d          t          j        d          t          j        gt          j        t          j        d          t          j        d          t          j        d          gd	t          d
                    }|                    dd          }t          t          d          t          d          t          dd          t          dd          t          j        d          t          j        d          gdt          d
                    }t          j	        ||           |                    dgd          }t          t          d          t          d          t          dd          t          dd          t          j        d          t          j        d          ggdgt          d
                    }t          j
        ||           d S )Nr   r   r   r   r   r   r   r   )rT   rp   rU   rq   r   r   AaBbCcr   r"   FrY   r   r   )r   r   r   NaTr   listr+   r   r-   r.   rl   )r/   r0   r   r   s       r   test_quantile_box_natz+TestDataFrameQuantile.test_quantile_box_nat  s    l++Fl++l++	 l++l++Fl++	 l|<<<Fl|<<<l|<<<	 l|<<<l|<<<Fl|<<<	 L**L**L**F	 FL**L**L**	?% %L NNO(
 (
 (
T kk#Ek22,'','',<888,<888X&&X&& x..
 
 
 	sC(((kk3%ek44 l++l++l|<<<l|<<<L**L**	 %NN
 
 
 	c3'''''r   c                    |\  }}t          t          j        dd          t          j        dd          d          }t          j        |j        d<   |                    d||          }t          d|dk    rd	ndgd
dgd          }t          j        ||           |                    ddg||          }t          ddg|dk    rd	dgnddgdddg          }t          j	        ||           |                    dd||          }t          t          j        dd          d          }t          j        ||           |                    ddgd||          }t          t          j        dd          gdz  ddg          }|dk    rt          j        |j        d<   t          j	        ||           t          j        |d<   |                    d||          }t          dt          j        gd
dgd          }t          j        ||           |                    ddg||          }t          ddgt          j        t          j        gdddg          }t          j	        ||           d S )Nr   g      @r   )r   r   r"   r   rr   r   rg   rp   rq   rB   rh   rs   g      
@rd   re   r%   r#   r   r	   )r   r   )
r   r=   aranger   rk   r+   r   r-   r.   rl   r   s          r   test_quantile_nanz'TestDataFrameQuantile.test_quantile_nan#  s    -vRYq#..RYq#5F5FGGHHkk#]6kJJ(22##<S#JUX
 
 
 	sC(((kk3+]6kRR3Z$1X$=$=c4[[C:  +
 
 
 	c3'''kk#A]6kRRRYsC((s333
sC(((kk$Ka}V  
 
 3,,-1#tEEEI%% fCHUO
c3''' &3kk#]6kJJc26]3*3???
sC(((kk3+]6kRRsCj/?@@dTTT
c3'''''r   c                    |\  }}t          dt          j        t          j        t          j        gid| d          }|                    dd||          }t	          t          j        gdgdd| d          }t          j        ||           |                    dgd||          }t          dt          j        gidgd| d	          }t          j        ||           t          t          d
          t          d          t          d          gt          j        t          j        t          j        gdd| d          }|                    dd||          }t	          t          d          t          j        gddgdd| d          }t          j        ||           |                    dgd||          }t          t          d          t          j        ggdgddgd| d          }t          j        ||           d S )Nrp   r   r   r(   r"   FrX   r   )rC   r)   z
2012-01-01z
2012-01-02z
2012-01-03r   rq   r   )	r   r   r   r+   r   r-   r.   rl   r   )r/   r   r|   r9   r:   r0   r   r   s           r   test_quantile_natz'TestDataFrameQuantile.test_quantile_natP  sL    -vbfbfbf56mDmmmLLLkke=  
 
 bfXcUM$MMMJJJ
sC(((kkE]6  
 
 rvhuM$MMMJJJ
c3'''  l++l++l++
 fbfbf-   ---

 

 

 kke=  
 
 |$$bf-*---	
 
 
 	sC(((kkE]6  
 
 %%rv./%#J---	
 
 
 	c3'''''r   c                    |\  }}t          ddgd          }|                    d||          }t          t          j        t          j        gddgd          }t          j        ||           |                    dg||          }t          t          j        t          j        ggddgdg          }t          j        ||           |                    dd	||
          }t          g t          g d          dd          }t          j        ||           |                    dgd	||
          }t          t          g d          dg          }t          j        ||           d S )Nrp   rq   r   r   r"   r   rB   )rI   rC   r   re   r   r(   r   )	r   r+   r   r=   r   r-   r.   rl   r   r   s          r   "test_quantile_empty_no_rows_floatsz8TestDataFrameQuantile.test_quantile_empty_no_rows_floats  sc    -vSz;;;kk#]6kJJbfbf%c3ZcBBB
sC(((kk3%}VkLL"&"&)*S#JseLLL
c3'''kk#A]6kRRRuRu555YSQQQ
sC(((kk3%a}VkTTb 6 6 6seDDD
c3'''''r   c                     |\  }}t          ddgd          }|                    d||          }t          t          j        t          j        gddgd          }t          j        ||           d S )Nrp   rq   r\   r   r"   r   rB   )r   r+   r   r=   r   r-   r.   r   s          r    test_quantile_empty_no_rows_intsz6TestDataFrameQuantile.test_quantile_empty_no_rows_ints  ss     -vSz999kk#]6kJJbfbf%c3ZcBBB
sC(((((r   c                    |\  }}t          ddgd          }|                    dd||          }t          t          j        t          j        gddgdd          }t          j        ||           |d         j                            d	          |d<   |                    dd||          }|	                    t                    }|d
k    r|                    t          j                  }t          j        ||           |d         j                            d	          |d<   |                    dd||          }|	                    |d         j                  }t          j        ||           d S )Nrp   rq   r   r   r"   FrX   r   z
US/Centralr	   )r   r+   r   r   r   r-   r.   dttz_localizer,   objectfillnar=   r   r)   r   s          r    test_quantile_empty_no_rows_dt64z6TestDataFrameQuantile.test_quantile_empty_no_rows_dt64  s|    -vSz1ABBBkke=  
 
 VRVS#J6FS
 
 
 	sC((( S'*((663kke=  
 
 jj  I%%**RV$$C
sC((( S'*((663kke=  
 
 jjC''
sC(((((r   c                    |\  }}t          t          j        dd                    }d|j        _        |                    dd||          }t          g dt          j                  }d|j	        _        t          j        ||           |                    dgd||          }t          g dg	          }d|j        _        t          j        ||           d S )
Nz1/1/18r   r   zcaptain tightpantsr"   TrX   r~   rd   )r   r   r   rI   r$   r+   r   r=   r   rC   r-   r.   rl   rm   s          r   test_quantile_empty_no_columnsz4TestDataFrameQuantile.test_quantile_empty_no_columns  s     -vr}Xq999::.
d-  
 
 "3bj9992
vx000EM&  
 
 Ru--- 4
fh/////r   c                     t          j        t          d          5  t          t	          d                                        dd           d d d            d S # 1 swxY w Y   d S )NzInvalid method: foor   r   r"   r   )r:   r   r   r   r   rt   r+   r/   s    r   test_invalid_methodz)TestDataFrameQuantile.test_invalid_method  s    ]:-BCCC 	< 	<eAhh((U(;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   2AA"Ac                     t          j        t          d          5  t          t	          d                                        ddd           d d d            d S # 1 swxY w Y   d S )NzInvalid interpolation: foor   r   r"   r
   r   )r:   r9   r   r   s    r    test_table_invalid_interpolationz6TestDataFrameQuantile.test_table_invalid_interpolation  s    ]:-IJJJ 	S 	SeAhh((WE(RRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	Ss   3AA #A N)'__name__
__module____qualname__r   markparametrizer   r   r   arraysSparseArrayr3   rL   rR   r_   rn   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r      s       [ 	!6")"7"7A"?"?@@!6")"7"7A"?"?@@   Sz,,, 	&&!6!6!6oNNNOOu3'''	
 $1 1% $10 0 0B5 5 5	' 	' 	'G G G,1 1 11 1 1 9 9 90$, $, $,L70 70 70r4 4 4& & &0 0 00 0 00 0 030 30 30j [	
 	
 	
 - - -, [YQb	C8(DEEY Y FEY3( 3( 3(jJ( J( J(X+( +( +(Z2( 2( 2(h( ( (*) ) )) ) )@0 0 0&< < <S S S S Sr   r   c                      e Zd Z ej         ej        ej                             e	d                    ej
                            d                     ej        ddd           ej        ddd	
           ej        dd           ej         ej        d          d           ej         ej        d          d          gd           d             Zej        d             Zd Zd Zd Zd Zd Zej
                            ddg g dgdg g dgdej        ej        gddgdgdej        ej        gddgdgg          d              Zej
                            d!d"g g dd"gd"ej        ej        gddgdd"gg          d#             Zej
                            d$ej        ej        g e	d%          dgg g dgg          d&             Zd'S )(TestQuantileExtensionDtyper<   z#raises when trying to add Intervals)reason)marksrw   	   r   )rz   freqrx   )rz   r{   z1 Dayr   Int64r(   Float64c                 *    t          | j                  S )N)r   r)   r   s    r   r   z#TestQuantileExtensionDtype.<lambda>  s    c!'ll r   r   c                 "    |j         }d|_        |S NrT   )r   r$   )r/   r   idxs      r   rC   z TestQuantileExtensionDtype.index  s      m
r   c                 r     ||                                           }|t          u rd|_        ndg|_        |S r  )copyr   r$   rI   )r/   rC   frame_or_seriesobjs       r   r  zTestQuantileExtensionDtype.obj  sA     oe$$))++f$$CHH%CK
r   c                     t          |t                    r|                    |          }n|                    |d          }|S )NFrY   )
isinstancer   r+   )r/   r  qsr2   s       r   compute_quantilez+TestQuantileExtensionDtype.compute_quantile   sA    c6"" 	:\\"%%FF\\"5\99Fr   c                    t          j        t          |          t           j                  }t           j                            d                              |           |j        |         }g d}|                     ||          }|j	        }|j	        dk    rd}t          |d         |d         |d         g||d	
          } t          |          |          }t          j        ||           d S )Nr(   r   r"   r   r   r  r  r   r   r   rT   r)   rC   r$   )r=   r   lenintprandomdefault_rngshufflerk   r  r)   r   typer-   assert_equal	r/   r   r  rC   indexerr  r2   	exp_dtyper1   s	            r   test_quantile_eaz+TestQuantileExtensionDtype.test_quantile_ea  s    )CJJbg666
	a  ((111hw[[&&sB//K	;'!!!I 1XuQxr+9BS
 
 
 499X&&
)))))r   c                    |j         |j        d<   |j         |j        d<   t          j        t	          |          t          j                  }t          j                            d                              |           |j        |         }g d}| 	                    ||          }t          |d         |d         |d         g|j        |d	
          } t          |          |          }t          j        ||           d S )Nr   r   r(   r   r  r   r   rT   r  )	_na_valuerk   r=   r   r  r  r  r   r!  r  r   r)   r"  r-   r#  )r/   r  rC   r%  r  r2   r1   s          r   test_quantile_ea_with_naz3TestQuantileExtensionDtype.test_quantile_ea_with_na  s    o )CJJbg666
	a  ((111hw[[&&sB// 1XuQxr+5;bs
 
 
 499X&&
)))))r   c                 8   |j         |j        d d <   t          j        |j        |j        k              sJ t          j        t          |          t          j                  }t          j	        
                    d                              |           |j        |         }g d}|                     ||          }|                    g dd|j                   }t          ||d          } t          |          |          }t!          j        ||           d S )	Nr(   r   r  )r   r   r   T)
allow_fill
fill_valuerT   rB   )r*  rk   r=   alldtypesr)   r   r  r  r  r   r!  r  taker   r"  r-   r#  )r/   r   r  rC   r%  r  r2   r1   s           r   test_quantile_ea_all_naz2TestQuantileExtensionDtype.test_quantile_ea_all_na0  s    ovcjEK/00000 )CJJbg666
	a  ((111hw[[&&sB//::lllt:XX("3777499X&&
)))))r   c                    t          j        t          |          t           j                  }t           j                            d                              |           |j        |         }d}|                     ||          }|j	        }|j	        dk    rd}t          d|d         i|d          }t          |t                    r|d         }||k    sJ d S t          j        ||           d S )	Nr(   r   r"   r  r  rT   r   )r)   r$   )r=   r   r  r  r  r   r!  rk   r  r)   r   r  r-   r.   r$  s	            r   test_quantile_ea_scalarz2TestQuantileExtensionDtype.test_quantile_ea_scalarB  s     )CJJbg666
	a  ((111hw&&sB//K	;'!!!I3a/EEEc6"" 	5}HX%%%%%%"6844444r   z*dtype, expected_data, expected_index, axisr   r   r\   rp   rq   r   c                     t          ddg|          }|                    d|          }t          |dt          |d          d	          }t	          j        ||           d S )
Nrp   rq   r   r"   r   r   r(   r   r$   rC   r)   r   r+   r   r   r-   r.   )r/   r)   expected_dataexpected_indexr7   r0   r2   r1   s           r   test_empty_numericz-TestQuantileExtensionDtype.test_empty_numericX  sw     Sz777St,,e444	
 
 
 	vx00000r   z:dtype, expected_data, expected_index, axis, expected_dtyper   c                     t          ddg|          }|                    d|d          }t          |dt          |d          |	          }t	          j        ||           d S )
Nrp   rq   r   r"   Fr   r   r(   r6  r7  )	r/   r)   r8  r9  r7   expected_dtyper0   r2   r1   s	            r   test_empty_datelikez.TestQuantileExtensionDtype.test_empty_datelikem  sy     Sz777St%@@e444 	
 
 
 	vx00000r   z#expected_data, expected_index, axisr   c           	      R   t          t          j        ddg          ddgt          j        ddg          d          }|ddg                             d	|d
          }t	          |d	t          ||dk    rdnd          t          j                  }t          j	        ||           d S )Nr   r   r   r   r   r   rp   r   r"   Tr   r   r\   r(   r6  )
r   r   r   r+   r   r   r=   r   r-   r.   )r/   r8  r9  r7   r0   r2   r1   s          r   test_datelike_numeric_onlyz5TestQuantileExtensionDtype.test_datelike_numeric_only  s     ^VV$455V^VV$455 
 
 S#J((4d(KKtqyyeegNNN*	
 
 
 	vx00000r   N)r   r   r   r   fixturer   r   IntervalIndexfrom_breaksrt   r  xfailperiod_ranger   timedelta_ranger   r=   r   rC   r  r  r'  r+  r2  r4  r  r   r:  r   r=  r?  r  r   r   r  r    s        V^FL ,,UU2YY77k''/T'UU   BOL!#>>>BM,lCCCBw222BHYRYq\\111BHYRYq\\333

 #"     ^  ^  * * *,* * *&* * *$5 5 5, [4B"b"a (3*a8rvrv&c
A6		
 
1 
1 
1 [Dr2q*:;/#sQ@PQ	
 1 1 1 [-fbfuuQxx+QK	
 1 1 1 1 1r   r  c                      t          t          d                    } |                     ddgd          }t          ddg          }t          j        ||dd           d S )Nabcr"   gffffff?TrY   rd   )rj   check_column_type)r   r   r+   r-   rl   )r0   r2   r1   s      r   0test_multi_quantile_numeric_only_retains_columnsrI    so    	4;;		B[[#s$[77FSz***H44     r   typ
datetime64timedelta64c                     |  d| d}t          t          j        g |                    }|                                }t	          t
          j        gd|          }t          j        ||           d S )N[r   r(   r"   r~   )	r   r=   r   r+   r   r   r   r-   r.   )rJ  r|   r)   r0   r2   r1   s         r    test_quantile_empty_datetimelikerO    sr    TE	28Be,,,	-	-B[[]]FrvhS666H68,,,,,r   )numpyr=   r   pandasr   r   r   r   r   pandas._testing_testingr-   r@  r   r   r  rI  r  r  rO  r  r   r   <module>rT     su                             x 9g"67=R=R    
DS DS DS DS DS DS DS DSN|1 |1 |1 |1 |1 |1 |1 |1~   } =>>- - ?>- - -r   