
    Owg_                        d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmc mc mZ d Zej@                  jC                  de"ejF                  g      d        Z$d Z%d Z&d	 Z'd
 Z(d Z)d Z*ej@                  jC                  d edd      ejV                   ed      ejX                  g e
jZ                  ejV                   ed      f ed      ejX                  fg      fg d ejF                   ej\                  ej^                        jV                  d  ej\                  ej^                        jX                  gd       e
jZ                   ej\                  ej^                        jV                  d fd  ej\                  ej^                        jX                  fg      f ej`                  dd       ej`                  d d       ej`                  dd      g ejF                   ej`                   ej\                  ej^                        jX                   d       ej`                  d d       ej`                   ej\                  ej^                        jX                  d      g       e
jZ                   ej`                   ej\                  ej^                        jX                   d       ej`                  d d      f ej`                  d d       ej`                   ej\                  ej^                        jX                  d      fg      fg      d        Z1d Z2ej@                  jC                  dg ddfg dddfg      d         Z3ej@                  jC                  d!d ejh                  d       e ejh                  d            g      ej@                  jC                  d"eeg      d#               Z5ej@                  jC                  d$d dddd%ejl                  gejl                   d dddd%gejl                   d dddd%ejl                  gg      d&        Z7d' Z8ej@                  jC                  d(d)g d*d+fd,g d-d.fg      d/        Z9d0 Z:d1 Z;ej@                  jC                  d2dd,g      d3        Z<d4 Z=d5 Z>ej@                  jC                  d6d7 d8 fd9 d: fg      d;        Z?d< Z@ej@                  jC                  d= ej                  d>       ej                  d>      d?z  g      d@        ZBej@                  jC                  dAg dB      dC        ZCdD ZDdE ZEej@                  jC                  dFdGdHidfi dIfdGdJidIfdGdKidLfg      dM        ZFej@                  jC                  d$g dN      ej@                  jC                  dOddg      dP               ZGej@                  jC                  dQg dR      dS        ZHej@                  jC                  dTdU dV dW dX g      dY        ZIej@                  jC                  dZeeejF                  e"g      d[        ZJej@                  jC                  dZe"ejF                  eeg      d\        ZKej@                  jC                  d]d ed^d_`      j                  da       edbd_`      j                  da       edcd_`      j                  da       eddd_`      j                  da      gg      ej@                  jC                  dZe"ejF                  eeg      de               ZMdf ZNdg ZOej@                  jC                  dhg di      dj        ZPdk ZQej@                  jC                  d]dldmg      ej@                  jC                  dneej                  fejF                  ej                  fe"ej                  fg      do               ZUej@                  jC                  d2g dp      dq        ZVej@                  jC                  d]dg drg      ej@                  jC                  d+d)d,g      ej@                  jC                  dsd)d,g      dt                      ZWej@                  jC                  dug dvg dwg dxg dydzd{gfg d|g d}g d~g dg dfg      d        ZXej@                  jC                  dug dvg dwg dg dg dfg d|g d}g dg dg dfg      d        ZYd ZZd Z[d Z\d Z]d Z^d Z_d Z`d Zay)    N)Categorical	DataFrameDatetimeIndexIndexIntervalIntervalIndexSeriesTimedeltaIndex	Timestampcut
date_rangeinterval_rangeisnaqcuttimedelta_rangeto_datetime)CategoricalDtypec                      t        j                  dd      } t        | dd      }t        j                  g d      }t	        j
                  ||d       y )	N   int64dtype   Flabels)   r   r   r   r   )check_dtype)nponesr   arraytmassert_numpy_array_equal)dataresultexpecteds      T/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/reshape/test_cut.pytest_simpler'      s@    771G$Dq'Fxx(HeD    funcc                 D    | g d      }t        |dd      \  }}t        j                  |j                  d            }|j	                  g d      }t        |d      }t        j                  ||       t        j                  |t        j                  g d             y )N皙?ffffff?      @@ffffff#@ @   Tretbins)r   r   r   r      r   ordered)Mb?g>wa
@g!""@r0   )r   r   from_breaksroundtaker   r!   assert_categorical_equalassert_almost_equalr   r    )r)   r#   r$   bins	intervalsr%   s         r&   	test_binsr@   $   s|    ./DtQ-LFD))$**Q-8I12I9d3H14*O!PQr(   c                  `   t        j                  g d      } t        | ddd      \  }}t        j                  |j                  d            }t        |d      }|j                  g d      }t        j                  ||       t        j                  |t        j                  g d             y )	Nr,   r-   r.   r/   r0   r1   皙@r   Trightr4   r2   r6   )r   r   r   r5   r2   r   r   )r8   rC   @L@r0   )r   r    r   r   r9   r:   r   r;   r!   r<   r=   r#   r$   r>   r?   r%   s        r&   
test_rightrI   1   s    889:DtQdD9LFD))$**Q-8I9d3H}}23H14*K!LMr(   c                  d   t        j                  g d      } t        | ddd      \  }}t        j                  |j                  d      d      }|j                  g d	      }t        |d
      }t        j                  ||       t        j                  |t        j                  g d             y )NrB   r   FTrD   r2   leftclosed)r   r   r   r5   r2   r   r   r6   )r,   rC   rF   rG   g%Ck#@)r   r    r   r   r9   r:   r;   r   r!   r<   r=   rH   s        r&   test_no_rightrN   =   s    889:DtQeT:LFD))$**Q-GI45I9d3H14*K!LMr(   c                     t        t        d      d      } | }t        t        d      |j                        }t        j                  ||       t        j                  t        j                  | j                  d      | j                  d      }t        t        d      |j                        }t        j                  ||       y )Nr   r2   r>   T
categoriesr7      )
r   rangerS   r!   r<   r   
from_codesr   appendcodes)cr%   r$   s      r&   test_bins_from_interval_indexrZ   I   s    E!HaAHq 3 34F1%%
		!''21<<H q 3 34F1r(   c                     t        j                  g d      } t        | g d      }t        j                  g d      }t        j                  |j                  |       t        g d|j                        }t        j                  |j                  |       t        j                  |j                  t        j                  g dd             y )	N)	
                     ;   <   )r      #   F   rP   ))r   re   )re   rf   )rf   rg   )ra      2   )r   r   r5   int8r   )
r   r    r   r   from_tuplesr!   assert_index_equalrS   r"   rX   )agesrY   r%   r$   s       r&   )test_bins_from_interval_index_doc_examplern   V   s    8889DD'A(()FGH!,,1ALL1F&++X6bhhy.OPr(   c                      d} t        j                  g d      }t        j                  t        |       5  t        ddg|       d d d        y # 1 sw Y   y xY w)Nz)Overlapping IntervalIndex is not accepted))r   r\   )r5   r_   )r      matchr   rT   rP   )r   rk   pytestraises
ValueErrorr   )msgiis     r&   -test_bins_not_overlapping_from_interval_indexrx   b   sI    
5C		"	"#>	?B	z	- QF  s   AAc                      d} g d}t        j                  t        |       5  t        |g d       d d d        y # 1 sw Y   y xY w)Nz bins must increase monotonicallyr+   rq   )皙?      ?r   r\   rs   rt   ru   r   rv   r#   s     r&   test_bins_not_monotonicr~   k   s:    
,C)D	z	- %D#$% % %s	   :Azx, bins, expectedz
2017-12-31r2   periodsz
2018-01-01rQ   r   r   r   r   rQ   nsr   c                 \    t        | |      }t        j                  |j                  |       y N)r   r!   rl   rS   )xr>   r%   r$   s       r&   #test_bins_monotonic_not_overflowingr   s   s&    h D\F&++X6r(   c                      d} g d}t        j                  t        |       5  t        |g dg d       d d d        y # 1 sw Y   y xY w)Nz9Bin labels must be one fewer than the number of bin edgesr+   rq   )r   r   r\   )foobarbazr   r|   r}   s     r&   test_wrong_num_labelsr      s<    
EC)D	z	- <D*%:;< < <s	   >Az
x,bins,msgr5   zCannot cut empty array)r   r5   r2         ?z#`bins` should be a positive integerc                 |    t        j                  t        |      5  t        | |       d d d        y # 1 sw Y   y xY w)Nrq   r|   )r   r>   rv   s      r&   test_cut_cornerr      s0     
z	- At  s   2;argcut_funcc                 z    d}t        j                  t        |      5   || d       d d d        y # 1 sw Y   y xY w)Nz!Input array must be 1 dimensionalrq   r5   )rs   rt   ru   )r   r   rv   s      r&   test_cut_not_1d_argr      s6     .C	z	- a  s   
1:r#   r   c                     d}t        j                  t        |      5  t        | d       d d d        y # 1 sw Y   y xY w)Nz?cannot specify integer `bins` when input data contains infinityrq   r2   rP   r|   )r#   rv   s     r&   test_int_bins_with_infr      s7     LC	z	- Dq  s   5>c                     d} t        g d|       }t        |ddgd      }t        t        j                  t        j                  t        j                  dt        j                  g|       }t	        j
                  ||       y )Nr   )r   rQ   r   r   namer   r   Fr   )r	   r   r   nanr!   assert_series_equal)r   serindexps       r&   test_cut_out_of_range_morer      s]    D
"
.C
cAq6%
(C
"&&"&&"&&!RVV44
@C3$r(   zright,breaks,closedT)MbP      ?r         ?r   rE   F)r   r   r   r   gjt?rK   c                     t        j                  t        j                  ddd      d      }t        |dd|       \  }}t	        j
                  ||      }t        j                  |j                  |       y )Nr   g)\(?rz   r   T)r4   rE   rL   )	r   tilearanger   r   r9   r!   rl   rS   )rE   breaksrM   arrr$   r>   	ex_levelss          r&   test_labelsr      s]     ''"))AtS)1
-CsAt59LFD))&@I&++Y7r(   c                      d} t        t        j                  j                  d      j	                  d      |       }t        |d      }|j                  | k(  sJ y )Nr   r5   d   r   r   )r	   r   randomdefault_rngstandard_normalr   r   )r   r   factors      r&   #test_cut_pass_series_name_to_factorr      sJ    D
&&q)99#>T
JCa[F;;$r(   c                      t        j                  ddd      } t        | dd      }t        j                  g d      }t        j                  |j                  |       y )Nr   g\(\?{Gz?r   r5   	precision)g9̗Gg
ףp=
?g
ףp=
?gHzG?g
ףp=
?)r   r   r   r   r9   r!   rl   rS   )r   r$   r   s      r&   test_label_precisionr      sI    
))AtT
"Ca1%F))*LMI&++Y7r(   r   c                 ,   t        j                  ddd      }t         j                  |d d d<   t        |d|       }t        j                  |      }t        j
                  t        |      t         j                  |      }t        j                  ||       y )Nr   r   r   r2   r   r   )	r   r   r   r   asarraywherer   r!   r=   )r   r   r$   r%   s       r&   test_na_handlingr      sk    
))AtT
"CvvC!Ha'FZZFxxS	26662H68,r(   c                  <   t        j                  d      } t        | d      }t         j                   ddt         j                  g}t	        | |      }t	        ||      }t        j                  |      }t        j                  |j                  |       |d   t        dt         j                        k(  sJ |d   t        t         j                   d      k(  sJ |d   t        dt         j                        k(  sJ |d   t        t         j                   d      k(  sJ y )NrT   r   r   r5   r   r   r   )r   r   r	   infr   r   r9   r!   rl   rS   r   )r#   data_serr>   r$   
result_ser
ex_uniquess         r&   test_inf_handlingr     s    99Q<Dd'*HVVGQ266"Dt_FXt$J**40J&++Z8!9BFF++++!9"&&!,,,,a=HQ////a=HbffWa0000r(   c                      t         j                  j                  d      j                  d      } t	        | g d      }t        |      }| dk  | dkD  z  }t        j                  ||       y )Nr5   r   r   rQ   r   )r   r   r   r   r   r   r!   r"   )r   r$   maskex_masks       r&   test_cut_out_of_boundsr     sX    
))


"
2
23
7Cj!F<DRxC!G$Gg.r(   zget_labels,get_expectedc                     | S r    r   s    r&   <lambda>r   *  s    6 r(   c                 8    t        dgddgz  z   ddgz   | d      S )NMediumr   SmallLargeTrR   )r   r   s    r&   r   r   +  s+    ;
Q']*h-@@! r(   c                 2    t        j                  g d|       S )Nr   r   r5   r   rV   r   s    r&   r   r   2  s    ;11)VD r(   c                 H    t        j                  dgddgz  z   ddgz   |       S )Nr   r   r   r5   r   r   s    r&   r   r   3  s(    ;111#QC-1a&2H&Q r(   c                 |    g d}g d}g d}t        || | |            }t        j                  | ||             y )N)r   ra   ri   r   ri   r   r\   r]   rh      rg   )r   r   r   r   )r   r!   r<   )
get_labelsget_expectedr>   r   r   r$   s         r&   test_cut_pass_labelsr   &  s;    $ D
%C)Fd:f#56FV(<=r(   c            	          g d} g d}t        | d|      }t        | dt        ||d            }t        j                  ||       y )Nr   )Goodr   Badr2   r   TrR   )r   r   r!   r<   )r   r   r$   r   s       r&   test_cut_pass_labels_compatr   @  sA    
%C&Fa'F
c1[FDQ
RC,r(   r   g      &@g    _Bc                     t        | d       y )Nr5   r   )r   s    r&   test_round_frac_just_worksr   J  s     1Ir(   zval,precision,expected))g#]r2   i)眢#]@r2   v   )r   r5   r   )gݔ	~. ?r5   giUMu?c                 @    t        j                  | |      }||k(  sJ y )Nr   )tmod_round_frac)valr   r%   r$   s       r&   test_round_fracr   P  s$     cY7FXr(   c                  ^   t        g d      } t        | d      }t        j                  ddd      j	                  d      }|dxx   dz  cc<   t        t        j                  |d	      j                  g d
            j                  t        d            }t        j                  ||       y )N)	r   r   r5   r2   r   r   rT         r2   r   r   r   )numgMb?rE   rL   )	r   r   r   r   r   r   r5   r5   r5   Tr6   )r	   r   r   linspacer:   r   r9   r;   astyper   r!   r   )r   r$   exp_binsr%   s       r&   test_cut_return_intervalsr   _  s    
,
-Ca[F{{1aQ'--a0HQK5K!!(7;@@'	
 fd+,	 
 68,r(   c                  "   t        t        j                  d            } t        | dd      \  }}t        t	        j
                  g dd      j                  d            j                  t        d            }t        j                  ||       y )	Nr   r5   Tr3   )g~jthr{   r2   rE   rL   r6   )r	   r   r   r   r   r9   repeatr   r   r!   r   )r   r$   r>   r%   s       r&   test_series_ret_binsr   n  sq    
1
CsAt,LFD!!"27CJJ1Mfd+,  68,r(   z
kwargs,msg
duplicatesdropzBin edges must be uniqueraiser   z(invalid value for 'duplicates' parameterc                 ~   g d}t        t        j                  g d      g d      }|2t        j                  t
        |      5  t        ||fi |  d d d        y t        ||fi | }t        |t        j                  t        j                  |                  }t        j                  ||       y # 1 sw Y   y xY w)N)r   r5   r   rT   r\   r\   )r   r2   r   r   	   )abrY   deindexrq   )r	   r   r    rs   rt   ru   r   pduniquer   r!   r   )kwargsrv   r>   valuesr$   r%   s         r&   test_cut_duplicates_binr   y  s      DBHH_-5NOF
]]:S1 	(''	( 	( VT,V,vryyD)9:;
vx0	( 	(s   B33B<)g      "@g      "g        lengthc                     t        | g|z        }t        |dd      }t        dg|z  t        j                        }t	        j
                  ||       y )Nr   Fr   r   r   )r	   r   r   intpr!   r   )r#   r   r   r$   r%   s        r&   test_single_binr     sH     $&
!Ca&FqcFl"''2H68,r(   z#array_1_writeable,array_2_writeable))TT)TF)FFc                 "   t        j                  ddd      }| |j                  _        t        j                  ddd      }||j                  _        t        j                  d      }t	        j
                  t        ||      t        ||             y )Nr   r   r\   )r   r   flags	writeabler!   r<   r   )array_1_writeablearray_2_writeablearray_1array_2hundred_elementss        r&   test_cut_read_onlyr	    sq    
 ii3#G/GMMii3#G/GMMyy~g&,<g(Fr(   convc                     t        |       S r   )r   vs    r&   r   r     s
    )A, r(   c                     t        |       S r   )r   r  s    r&   r   r     s
    +a. r(   c                 ,    t        j                  |       S r   )r   
datetime64r  s    r&   r   r     s    "--" r(   c                 4    t        |       j                         S r   )r   to_pydatetimer  s    r&   r   r     s    )A,,,. r(   c                    t        j                  d      t        j                  d      g}g d}t        t        t	        t        |d         t        |d               t	        t        |d         t        |d               g            j                  t        d            }|D cg c]
  } | |       }}t        t        ||	            }t        j                  ||       y c c}w )
Nz
2012-12-13z
2012-12-15)z
2012-12-12z
2012-12-14z
2012-12-16r   r   r5   Tr6   rP   )r   r  r	   r   r   r   r   r   r   r!   r   )r
  r#   bin_datar%   r  r>   r$   s          r&   test_datetime_binr    s     MM,'|)DED9H8A;/8A;1GH8A;/8A;1GH	
 fd+,  &&DG&D&C4()F68, 's   &C$boxc                    t        g d      j                  d|  d      } ||      }t        |dd      \  }}|t        u rd} | dk(  rt	        g d	d|  d
      }nt	        g dd|  d
      }t	        g dd|  d
      }t        j                  ||      }t        |      j                  t        d            }t        j                  t        |      |       y )N)z
2013-01-01z
2013-01-02z
2013-01-03M8[]r2   Tr3   r   s)z2012-12-31 23:57:082013-01-01 16:00:002013-01-02 08:00:00r   )2012-12-31 23:57:07.200000r  r  )r  r  2013-01-03 00:00:00r6   )r   r   r   listr   r   from_arraysr	   r   r!   r   )	unitr  r#   r$   _rK   rE   exp_intervalsr%   s	            r&   test_datetime_cutr$    s    
 ABIICPTvUV-XDt9DD!T*IFA
d{s{ QvQ-

 
 vQ-
 MD6mE
 "--dE:Mm$++,<T,JKH6&>84r(   c                     | t        d      t        d      t        d      t        d      g      }t        t        ddd            }d	}t        j                  t
        |
      5  t        ||       d d d        y # 1 sw Y   y xY w)N2013-01-01 04:57:07.2000002013-01-01 21:00:002013-01-02 13:00:002013-01-03 05:00:0020130101r2   
US/Easternr   tzz9Cannot use timezone-naive bins with timezone-aware valuesrq   )r   r	   r   rs   rt   ru   r   )r  r>   r   rv   s       r&   +test_datetime_tz_cut_mismatched_tzawarenessr.    s}     23+,+,+,		
D JlC
DC
EC	z	- C  s   %A;;Br>   r&  UTCr-  r+  r'  r(  r)  c                    d}t        t        dd|            }t        | t              s ||       } t	        ||       }t        t        t        t        d|      t        d|            t        t        d|      t        d|            t        t        d|      t        d	|            g            j                  t        d
            }t        j                  ||       y )Nr+  r*  r2   r,  r  r0  r  r  r  Tr6   )r	   r   
isinstanceintr   r   r   r   r   r   r!   r   )r>   r  r-  r   r$   r%   s         r&   test_datetime_tz_cutr4     s     
B
Jb9
:CdC 4yd^F:rB3; 3;3; 3;3;	
" fd+,# $ 68,r(   c                      d} t        j                  t        |       5  t        t	        dd      g d       d d d        y # 1 sw Y   y xY w)Nz bins must be of datetime64 dtyperq   r*  r2   r   r   r5   r   rP   )rs   rt   ru   r   r   rv   s    r&   test_datetime_nan_errorr8  +  s;    
,C	z	- ?Jz1-I>? ? ?s   AAc                  H   t        t        dd      t        dd            } | j                  j                         }t	        j
                  |t        j                  dg             | j                         }t	        j
                  |t        j                  g d             y )	N20130102r   r   r*  r5   rP   F)FTTTT)r   r   rS   r   r!   r"   r   r    )r$   r   s     r&   test_datetime_nan_maskr;  2  su    :q)
:q0QF !!#Dbhhw&78;;=Dbhh/N&OPr(   r-  )Nr/  z
US/Pacificc                 @   t        t        dd| |            }t        |dd      \  }}t        ||      }t        j                  ||       |dk(  rt        g dd	| d
      }nt        g dd	| d
      }|j                  |       }t        j                  ||       y )N20180101r2   )r   r-  r!  r5   Tr3   r  )z2017-12-31 23:57:082018-01-02 00:00:002018-01-03 00:00:00r  r  r   )z2017-12-31 23:57:07.200000r>  r?  )r	   r   r   r!   r   r   tz_localizerl   )r-  r!  r   r$   result_binsr%   expected_binss          r&   test_datetime_cut_roundtriprC  >  s     JbtD
ECc1d3FK3$H68,s{ &QvQ-

 &
 vQ-
 "--b1M+}5r(   c                      t        t        dd            } t        | dd      \  }}t        | |      }t        j                  ||       t        g d      }t        j                  ||       y )N1dayr2   r   r5   Tr3   )z0 days 23:57:07.200000z2 days 00:00:00z3 days 00:00:00)r	   r   r   r!   r   r
   rl   )r   r$   rA  r%   rB  s        r&   test_timedelta_cut_roundtriprF  ^  sa    
3
4Cc1d3FK3$H68,"HM +}5r(   rT   r   zbox, comparec                      |g ddz        } |g ddz        }t        || d      }t        || d      } |||       y )N)r   r   r   r   r   r\   )FTTFTr   )r   r   )r>   r  comparedata_expecteddata_resultr%   r$   s          r&   test_cut_bool_coercion_to_intrK  l  sI     ",-M6;<K=$6:Hdv6FFHr(   )r   r   Tc                     t        d      }d}t        j                  t        |      5  t	        |d|        d d d        y # 1 sw Y   y xY w)Nr   zJBin labels must either be False, None or passed in as a list-like argumentrq   r   r   )rU   rs   rt   ru   r   )r   r   rv   s      r&   test_cut_incorrect_labelsrM  ~  sA     1XF
VC	z	- &FAf%& & &s   AA
)r   r   r]   include_lowestc                 J   t         j                  j                  d      j                  ddd      j	                  t
              }t         j                  |d d d<   t        t        j                  |d      | ||      }t        || ||      }t        j                  ||       y )	Nr5   r   r\   ri   )sizeInt64r   )rE   rN  )r   r   r   integersr   floatr   r   r   r    r!   r<   )r>   rE   rN  r   r$   r%   s         r&   test_cut_nullable_integerrT    s     			a ))!Rb)9@@GAVVAccF
'"DnF 1d%GH1r(   z3data, bins, labels, expected_codes, expected_labels)r]         )rp      re   rh   )ABrX  )r   r   r   rX  rY  )r   r2   r   r   r5   r   rT   r   )r5   r   r   r5   )r5   r   r   r   c                 ~    t        | ||d      }t        j                  ||d      }t        j                  ||       y NFr>   r   r7   rR   r   r   rV   r!   r<   r#   r>   r   expected_codesexpected_labelsr$   r%   s          r&   test_cut_non_unique_labelsrb    =     D?F%%?EH 1r(   )CrY  rX  )r2   r   r   r5   c                 ~    t        | ||d      }t        j                  ||d      }t        j                  ||       y r\  r^  r_  s          r&   test_cut_unordered_labelsrf    rc  r(   c                      d} t        j                  t        |       5  t        ddgg dd       d d d        y # 1 sw Y   y xY w)Nz.'labels' must be provided if 'ordered = False'rq   r   r2   r   F)r>   r7   r|   r7  s    r&   3test_cut_unordered_with_missing_labels_raises_errorrh    s:    
:C	z	- 5S!H9e45 5 5s	   :Ac                      t        g d      } t        g d      }t        g d      }t        | ||d      }t        g dd      }t        j                  ||       y )	N)r   r5   r2   r   r   )r   r5   r   rT   )r   r   rY   Fr]  )r   r   r   r   rY   categoryr   )r	   r   r!   r   )r   r>   r   r$   r%   s        r&   %test_cut_unordered_with_series_labelsrk    sM    

!C,DO$F4>F/zBH68,r(   c            	      j   t        dt        j                  j                  d      j	                  ddd      i      } t        ddd      D cg c]  }| d|dz     }}t        j                  d	      5  t        | j                  t        dd
d      d	|      | d<   d d d        y c c}w # 1 sw Y   y xY w)Nvaluer5   r   r   rh   r\   z - r   Fi   )rE   r   group)
r   r   r   r   rR  rU   r!   assert_produces_warningr   rm  )dfir   s      r&   test_cut_no_warningsrs    s    	GRYY2215>>q#rJK	LB(-ab(9:13q1ug:F:		#	#E	* S"((E!S"$5U6R7S S ;S Ss   B$3(B))B2c            	         t        t        ddd      gdz  t        ddd      t        ddd      gz   g dd	      j                  j                         } t        g dg d
      }t	        |g dd      }t        j                  ||        y )Nr   r5   rE   rL   r2   r   )r   r   r5   r2   r   rj  )r   r   r   r6  T)r>   rN  )r	   r   cat
as_orderedr   r!   r   )r%   r   r$   s      r&   .test_cut_with_duplicated_index_lowest_includedrw    s    	&!G	,-1Aq)8FAg+N
O	P	
 
c**,  
8C9T:F68,r(   c                     t        t        d            } t        | d      j                         j	                  d      }t        | d      j                         j                  d      }t        ||d      }t        j                  t        ddd      t        dd	d      t        d	d
d      t        d
dd      t        ddd      t        ddd      t        ddd      t        ddd      t        ddd      t        ddd      g
d      }t        dgdz  t        j                  gdz  z   t        j                  gdz  dgdz  z   d|      }t        j                  ||       y )Nr   r\   r   )12gMbXg#@rE   rL   g3@g33333=@gC@g     H@g33333M@g33333SQ@gS@gfffffFV@c   Tr6   r   )r	   rU   r   value_countsheadtailr   r   CategoricalIndexr   r   r   r!   assert_frame_equal)r   ser1ser2r$   r   r%   s         r&   *test_cut_with_nonexact_categorical_indicesr    sC    s
CsB<$$&++A.DsB<$$&++A.DT-.FVS1S$w/T40T40T40T40T40T40T40T2g.	
 E  dQh"&&A%RVVHqLB4!8,CDEH (F+r(   c                      t        d      ft        d      ft        d      fg} t        g dg d|       }t        j                  g d| d	      }t	        j
                  ||       y )
Nr\   rh   r   )r5   r   rT   )r   r2   r   r   )r>   r   r   Tr6   )r   r   r   rV   r!   r<   )r   r$   r%   s      r&   $test_cut_with_timestamp_tuple_labelsr    sU    }2 09R=2BCFf=F%%iFH1r(   c                     t        t        d      t        d      d      } t        t        t        d      g      j	                  d      |       }t        j                  dg| d	
      }t        j                  |j                  |       y )Nz
2022-02-25z
2022-02-271D)freqz
2022-02-26zM8[ns]rP   r   Tr6   )
r   r   r   r	   r   r   rV   r!   r<   r    )r>   r$   r%   s      r&   $test_cut_bins_datetime_intervalindexr    si    )L19\3JQUVD<01299(C$OF%%qc4>Hh7r(   c            
         t        dddddt        j                  ddgd	      } g d
}t        j                  |      }t        t        j                  g d|d            }t        | |      }t        j                  ||       y )Nr   r   r5   r2   r   rT   r   rQ  r   rZ  )rQ   r   r   r   r   rQ   r5   r2   Tr6   rP   )
r	   r   NAr   r9   r   rV   r   r!   r   )seriesr>   r?   r%   r$   s        r&   test_cut_with_nullable_int64r    ss    Q1aBEE1a0@FD))$/I99dSH d#F68,r(   )bnumpyr   rs   pandasr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   pandas._testing_testingr!   pandas.api.typesr   pandas.core.reshape.tilecorereshaper   r   r'   markparametrizer  r    r@   rI   rN   rZ   rn   rx   r~   minmaxrk   iinfor   timedelta64r   r   r   eyer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r$  r.  
tz_convertr4  r8  r;  rC  rF  r   r<   assert_equalrK  rM  rT  rb  rf  rh  rk  rs  rw  r  r  r  r  r   r(   r&   <module>r     sd	         $  - ' 'E $!12	R 3	R	N	N
2	Q%  |Q/]]Il3Y]]C%M%%]]Il$;<|,imm<		
 BHH"((#''HBHHRXX,>,B,BC7 &M%%"((288$((!,q("((2882D2H2H.IJ	
 r4(q$'q$'
 BHH"BNNHBHHRXX$6$:$:#:DA"BNN1d+"BNN8288BHH#5#9#94@ &M%% '(:(>(>'>E&q$/
 'q$/&xrxx'9'='=tD		
).1d7e1d7< 	Q()	C>?
 FBFF1Iy/C DEc4[1 2 F 
	
Aq!Q
&&!Q1a 
&&!Q1a(% 	*G4	.7888 D%=1- 2-1"/  "	
 EQ	
">#">- yryy			$$0FGH I
 -- 
	&	'(
	 "<=
	 JK	11 !12Aq6*- + 3- )+X 
 ".	--$ $ ?@#5 A#5L rxx ?@ A" 
	2u=HHV+6AA,O+6AA,O+6AA,O		
 rxx ?@- A-<?	Q :;6 <6>6 !Q(	''(	2../	r ) #34& 5& !Z14-0)D%=92 : 1 22 9	')c3ZP	O\9iH22 9	')_U	O\9lK225-S-,>28-r(   