
    .id                     X   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dSfg dTdSfg dUdVfg      dW        ZHej@                  jC                  dXg dY      dZ        ZIej@                  jC                  d[d\ d] d^ d_ g      d`        ZJej@                  jC                  daeeejF                  e"g      db        ZKej@                  jC                  dae"ejF                  eeg      dc        ZLej@                  jC                  ddd ededfg      j                  dh       edidfg      j                  dh       edjdfg      j                  dh       edkdfg      j                  dh      gg      ej@                  jC                  dae"ejF                  eeg      dl               ZNdm ZOdn ZPej@                  jC                  dog dp      dq        ZQdr ZRej@                  jC                  dddsdtg      ej@                  jC                  dueej                  fejF                  ej                  fe"ej                  fg      dv               ZVej@                  jC                  d2g dw      dx        ZWej@                  jC                  dddg dyg      ej@                  jC                  d+d)d,g      ej@                  jC                  dzd)d,g      d{                      ZXej@                  jC                  d|g d}g d~g dg dddgfg dg dg dg dg dfg      d        ZYej@                  jC                  d|g d}g d~g dg dg dfg dg dg dg dg dfg      d        ZZd Z[d Z\d Z]d Z^ej@                  j                  d      d        Z`d Zad Zbd Zcd Zdy)    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      [/var/www/app/trading-bot/venv/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values,threshold)rz   rz   rz   gMbP?)皙r  r  )r   r   r   g-C6?c                 J    t        | dd      \  }}|d   |d   z
  }||k  sJ y )Nr2   Tr3   rQ   r   r   )r   	thresholdr$   r>   	bin_ranges        r&   test_single_bin_edge_adjustmentr    s6     vq$/LFDR47"Iy   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                 4   t        j                  d      t        j                  d      g}g d}t        t        t	        t        |d         t        |d               t	        t        |d         t        |d               g            }|D cg c]
  } | |       }}t        t        ||            }t        |d         t         j                  u r|j                  d      }|j                  t        d	
            }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   rP   zinterval[datetime64[s]]Tr6   )r   r  r	   r   r   r   r   typer   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	
H &&DG&D&C4()FDG}%??#<=/=>H68, 's   Dboxc                    t        g d      j                  d|  d      } ||      }t        |d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   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   r   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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_tzawarenessr2     s}     23+,+,+,		
D JlC
DC
EC	z	- C  s   %A;;Br>   r+  UTCr1  r0  r,  r-  r.  c                    d}t        t        dd|d            }t        | t              s ||       } t	        ||       }t        t        t        d|      t        d|            t        t        d|      t        d	|            t        t        d	|      t        d
|            g      }t        | t              r|j                  d      }t        |      j                  t        d            }t        j                  ||       y )Nr0  r/  r2   r   r   r1  r&  r#  r4  r!  r"  r$  z$interval[datetime64[ns, US/Eastern]]Tr6   )r	   r   
isinstanceintr   r   r   r   r   r   r!   r   )r>   r  r1  r   r$   rw   r%   s          r&   test_datetime_tz_cutr9    s     
B
JbtD
ECdC 4yd^F	62>/B7 /B7/B7 /B7/B7	

B  $YY=>bz  !1$!?@H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_errorr=  ?  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@  F  su    :q)
:q0QF !!#Dbhhw&78;;=Dbhh/N&OPr(   r1  )Nr3  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   r6  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.200000rC  rD  )r	   r   r   r!   r   r   tz_localizerl   )r1  r&  r   r$   result_binsr%   expected_binss          r&   test_datetime_cut_roundtriprH  R  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$   rF  r%   rG  s        r&   test_timedelta_cut_roundtriprK  r  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_intrP    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_labelsrR    sA     1XF
VC	z	- &FAf%& & &s   AA
)r   r   r]   include_lowestc                    t         j                  j                  d      j                  ddd      j	                  t
              }t         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   rS  )r   r   r   integersr   floatr   objectr   NAr   r    r!   r<   )r>   rE   rS  r   r   r$   r%   s          r&   test_cut_nullable_integerr[    s     			a ))!Rb)9@@GAVVAccF	AUUAccF
'"DnF 1d%GH1r(   z3data, bins, labels, expected_codes, expected_labels)r]         )rp      re   rh   )ABr_  )r   r   r   r_  r`  )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_labelsri    =     D?F%%?EH 1r(   )Cr`  r_  )r2   r   r   r5   c                 ~    t        | ||d      }t        j                  ||d      }t        j                  ||       y rc  re  rf  s          r&   test_cut_unordered_labelsrm    rj  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|   r<  s    r&   3test_cut_unordered_with_missing_labels_raises_errorro    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   Frd  )r   r   r   r   rY   categoryr   )r	   r   r!   r   )r   r>   r   r$   r%   s        r&   %test_cut_unordered_with_series_labelsrr    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   rW  rU   r!   assert_produces_warningr   rt  )dfir   s      r&   test_cut_no_warningsrz    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   rq  )r   r   r   r;  T)r>   rS  )r	   r   cat
as_orderedr   r!   r   )r%   r   r$   s      r&   .test_cut_with_duplicated_index_lowest_includedr~    s    	&!G	,-1Aq)8FAg+N
O	P	
 
c**,  
8C9T:F68,r(   z7ignore:invalid value encountered in cast:RuntimeWarningc                     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      |       }t	        j
                  dg| d	      }t        j                  |j                  |       y )
Nz
2022-02-25z
2022-02-271D)freqz
2022-02-26rP   r   Tr6   )	r   r   r   r	   r   rV   r!   r<   r    )r>   r$   r%   s      r&   $test_cut_bins_datetime_intervalindexr    s^    )L19\3JQUVD<012>F%%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   rV  r   ra  )rQ   r   r   r   r   rQ   r5   r2   Tr6   rP   )
r	   r   rZ  r   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(   c                      t        t        ddg            } t        | j                  d      }|j                  }t        j                  ddg|d      }t        j                  ||dd	       y )
Nz2023-10-06 12:00:00+0000z2023-10-07 12:00:00+0000r5   rP   r   r   TrR   )r   check_category_order)	r	   r   r   r    rS   r   rV   r!   r<   )r   r$   rS   r%   s       r&   )test_cut_datetime_array_no_attributeerrorr  1  sb    
8:TUV
WC#F""J%%q!fTRHdr(   )e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parametrizelistr    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)  r2  
tz_convertr9  r=  r@  rH  rK  r   r<   assert_equalrP  rR  r[  ri  rm  ro  rr  rz  r~  filterwarningsr  r  r  r  r  r   r(   r&   <module>r     s	         $  - ' '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- 	% 	U#	V$!! )+X 
 ".	--0 $ ?@5 A5D 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- UV, W,>28-r(   