
    Mh                     v   S SK rS SKrS SKrS SKJrJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  \R"                  " \" / SQ5      \" / SQ5      4\" / SQ5      \" / SQ5      4\" SS	S
9\" SS	S
94\
" SS	S
9\
" SS	S
94\
" SS	SS9\
" SS	SS94/S S9S 5       r " S S5      r " S S5      r " S S5      r " S S5      rg)    N)IndexIntervalIntervalIndex	Timedelta	Timestamp
date_rangetimedelta_range)IntervalArray)r         )         )g              ?       @)r   r   g      @0 daysr   periods1 day2017010120170102
US/Eastern)r   tzc                 2    [        U S   R                  5      $ )Nr   )strdtype)xs    \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/interval/test_interval.py<lambda>r      s    #adjj/    )paramsidsc                     U R                   $ )z;
Fixture for building an IntervalArray from various dtypes
)param)requests    r   left_right_dtypesr&      s    " ==r    c                       \ rS rSr\R
                  R                  SS\" S5      \" S5      4\" S5      \" S5      4\" SSS	9\" SSS	94/5      \R
                  R                  S
\	\
/5      S 5       5       rSrg)TestAttributes&   zleft, right)r   r   r   r   z
2018-01-01z
2018-01-02r   )r   constructorc                     X"4X#4[         R                  /n[         R                  " US:g  SS/5      nUR                  XTS9R                  n[
        R                  " Xv5        g )NbothFclosed)npnanarrayfrom_tuplesis_emptytmassert_numpy_array_equal)selfr*   leftrightr.   tuplesexpectedresults           r   test_is_emptyTestAttributes.test_is_empty'   sY     ,rvv688Vv-ue<=(((?HH
##F5r     N)__name__
__module____qualname____firstlineno__pytestmarkparametrizer   r   r
   r   r<   __static_attributes__r>   r    r   r(   r(   &   s    [[x )G"45|$i&=>,<8,<8		
 [[]]M,JK6 L6r    r(   c            	           \ rS rSr\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S\" SSSS	9\	R                  " / S
QSS	9/5      S 5       rS rS rSrg)TestMethods<   
new_closed)r7   r8   r,   neitherc                     [         R                  " [        S5      US9nUR                  U5      n[         R                  " [        S5      US9n[        R
                  " XE5        g )N
   r-   )r
   from_breaksrange
set_closedr4   assert_extension_array_equal)r6   r.   rJ   r1   r;   r:   s         r   test_set_closedTestMethods.test_set_closed=   sN     ))%)FC!!*- ,,U2YzJ
''9r    otherr   r   r8   r-   r   r   r   r   c                    [         R                  " [        R                  " / SQSS95      n[        R
                  " / SQ5      nSn[        R                  " [        US9   UR
                  R                  X15        S S S 5        UR                  X1S9nUR                  [        5      R                  X15      n[        R                  " XV5        g ! , (       d  f       NX= f)NrU   r7   r-   )TFTz+'value.closed' is 'right', expected 'left'.match)rT   )pdSeriesr
   rN   r/   r1   rC   raises
ValueError_wherewhereastypeobjectr4   assert_series_equal)r6   rT   sermaskrX   resr:   s          r   test_where_raisesTestMethods.test_where_raisesE   s     ii11,vNOxx+,=]]:U3IIT) 4 iii*::f%++D8
s- 43s   C
Cc                    [         R                  " / SQ5      nUR                  5       n[         R                  " [        R
                  [        R
                  4S/5      n[        R                  " X#5        Sn[        R                  " [        US9   UR                  S[        R                  S9  S S S 5        g ! , (       d  f       g = f)N)r   r   r   )r   r   =can only insert Interval objects and NA into an IntervalArrayrW   r   
fill_value)r
   rN   shiftr2   r/   r0   r4   assert_interval_array_equalrC   r[   	TypeErrorrY   NaTr6   ar;   r:   msgs        r   
test_shiftTestMethods.test_shiftX   s    %%i0 ,,rvvrvv.>
-KL
&&v8M]]9C0GGA"&&G) 100s   B88
Cc                    [         R                  " [        SSS95      nUR                  S5      nUR	                  / SQSS9n[
        R                  " X#5        UR                  S5      nUR	                  / S	QSS9n[
        R                  " X#5        S
n[        R                  " [        US9   UR                  S[        R                  " SS5      S9  S S S 5        g ! , (       d  f       g = f)N2000r   r   r   )rv   r   T)
allow_fillrv   )r   r   rv   rh   rW   r   rn   nsri   )r
   rN   r   rk   taker4   rl   rC   r[   rm   r/   timedelta64ro   s        r   test_shift_datetimeTestMethods.test_shift_datetimed   s    %%j&CD66+$67
&&v866*66
&&v8M]]9C0GGA".."=G> 100s   ,&C
C)r>   N)r?   r@   rA   rB   rC   rD   rE   rR   r   r
   rN   re   rr   r{   rF   r>   r    r   rH   rH   <   sx    [[\+OP: Q: [[Q'*%%l7C	

.
.
*?r    rH   c                        \ rS rSrS rS rSrg)TestSetitemt   c                 8   Uu  p#UR                  SS9nUR                  SS9n[        R                  " X#5      nUR                  R                  R
                  S;  a7  Sn[        R                  " [        US9   [        R                  US'   S S S 5        UR                  R                  R
                  S;   a8  Sn[        R                  " [        US9   [        R                  US'   S S S 5        g [        R                  US'   [        UR                  /[        US	S  5      -   5      n[        UR                  /[        US	S  5      -   5      n[        R                  " Xg5      n[         R"                  " XH5        g ! , (       d  f       N= f! , (       d  f       g = f)
NTdeep)mMz='value' should be an interval type, got <.*NaTType'> instead.rW   r   )iuz4Cannot set float NaN to integer-backed IntervalArrayr   )copyr
   from_arraysr   subtypekindrC   r[   rm   rY   rn   r/   r0   r   	_na_valuelistr4   rQ   )	r6   r&   r7   r8   r;   rq   expected_leftexpected_rightr:   s	            r   test_set_naTestSetitem.test_set_nau   s8   'yydy#


%**47<<$$J6QCy4FFq	 5<<$$
2HC y4FFq	 5FFq	t~~.d12h?@04ab	?BC ,,]K
''9! 54 54s   8E:F:
F
Fc                 n   [         R                  " [        S5      5      nUR                  5       nUR	                  S5      nSn[
        R                  " [        US9   US   US'   S S S 5        [
        R                  " [        US9   US S US S& S S S 5        [
        R                  " [        US9   US S US S& S S S 5        [
        R                  " [        US9   US S S2   US S & S S S 5        [
        R                  " [        US9   [        US S S2   5      US S & S S S 5        [
        R                  " [        US9   US S S2   R                  [        5      US S & S S S 5        [
        R                  " [        US9   US S S2   R                  S5      US S & S S S 5        / US S& [        R                  " X5        g ! , (       d  f       GN^= f! , (       d  f       GNF= f! , (       d  f       GN.= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)	Nr   r,   z*'value.closed' is 'both', expected 'right'rW   r   r   rv   category)r
   rN   rO   r   rP   rC   r[   r\   r   r_   r`   r4   rl   )r6   arrorigrT   rq   s        r   test_setitem_mismatched_closed*TestSetitem.test_setitem_mismatched_closed   s   ''a1xxzv&:]]:S11XCF 2]]:S1BQiCG 2]]:S1BQiCG 2]]:S14R4[CF 2]]:S1%"+&CF 2]]:S14R4[''/CF 2]]:S14R4[''
3CF 2 BQ
&&s1# 21111111111111sT   	F<	G0	G G2H=H=H&<
G
G 
G/2
H
H
H#&
H4r>   N)r?   r@   rA   rB   r   r   rF   r>   r    r   r~   r~   t   s    :42r    r~   c                        \ rS rSrS rS rSrg)TestReductions   c                    Uu  p#UR                  SS9nUR                  SS9n[        R                  " X#5      nSnS He  n[        R                  " [
        US9   UR                  US9  S S S 5        [        R                  " [
        US9   UR                  US9  S S S 5        Mg     Sn[        R                  " [        US9   UR                  SS9  S S S 5        [        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       M  = f! , (       d  f       Nc= f! , (       d  f       g = f)	NTr   z2`axis` must be fewer than the number of dimensions)r   rW   )axisz'>=' not supported betweenfoo)	r   r
   r   rC   r[   r\   minmaxrm   )r6   r&   r7   r8   r   rq   r   s          r   test_min_max_invalid_axis(TestReductions.test_min_max_invalid_axis   s    'yydy#


%''4BDz5T" 6z5T" 65  +]]9C0GGG 1]]9C0GGG 10 6555 1000s0   D
DD.2D?
D	
D+	.
D<?
Ec                 D   Uu  p4UR                  SS9nUR                  SS9n[        R                  " X45      nUR                  (       d   e[	        U5      R                  (       d   eUS   nUS   n[
        R                  " [        U5      5      n[
        R                  R                  S5      R                  U5        UR                  U5      nUR                  S[
        R                  5      n	U" U5      nU" U	5      n	S Hc  n
UR                  U
S9nX:X  d   e[        U5      [        U5      :X  d   eUR!                  U
S9nX:X  d   e[        U5      [        U5      :X  a  Mc   e   U	R                  SS9n[
        R"                  " U5      (       d   eU	R!                  SS9n[
        R"                  " U5      (       d   eU	R                  SS9nX:X  d   e[        U5      [        U5      :X  d   eU	R!                  SS9nX:X  d   e[        U5      [        U5      :X  d   eg )	NTr   r   rv   r   )TF)skipnaF)r   r
   r   is_monotonic_increasingr   r/   arangelenrandomdefault_rngshufflery   insertr0   r   typer   isnan)r6   r&   index_or_series_or_arrayr7   r8   r   MINMAXindexerarr_nar   rd   s               r   test_min_maxTestReductions.test_min_max   s   'yydy#


%''4 ++++Sz1111!f"g))CH%
		a ((1hhwArvv&&s+)&1#F'''(C::9S	)))'''(C::9S	))) $ jjj&xx}}}jjj&xx}}}jjj%zzCyDI%%%jjj%zzCyDI%%%r    r>   N)r?   r@   rA   rB   r   r   rF   r>   r    r   r   r      s     &*&r    r   )numpyr/   rC   pandasrY   r   r   r   r   r   r   r	   pandas._testing_testingr4   pandas.core.arraysr
   fixturer&   r(   rH   r~   r   r>   r    r   <module>r      s          , 	y	5+,		!78	1	-wPQ/RS	J	*Jz1,MNz1>z1>	
	 	"6 6,5? 5?p22 22j>& >&r    