
    A>i+$                     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    i/var/www/html/land-tabula/venv/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S 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\R                  R                  S\" \R                   * S5      \" \R                   * S5      /\" S\R                   5      \" S\R                   5      //5      S 5       rSrg)TestMethods<   c                     [         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_closedr5   assert_extension_array_equal)r7   r/   other_closedr2   r<   r;   s         r   test_set_closedTestMethods.test_set_closed=   sL    ))%)FC!!,/ ,,U2Y|L
''9r    otherr   r   r9   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   r8   r.   )TFTz+'value.closed' is 'right', expected 'left'.match)rT   )pdSeriesr
   rM   r0   r2   rD   raises
ValueError_wherewhereastypeobjectr5   assert_series_equal)r7   rT   sermaskrX   resr;   s          r   test_where_raisesTestMethods.test_where_raisesD   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
   rM   shiftr3   r0   r1   r5   assert_interval_array_equalrD   r[   	TypeErrorrY   NaTr7   ar<   r;   msgs        r   
test_shiftTestMethods.test_shiftW   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
   rM   r   rk   taker5   rl   rD   r[   rm   r0   timedelta64ro   s        r   test_shift_datetimeTestMethods.test_shift_datetimec   s    %%j&CD66+$67
&&v866*66
&&v8M]]9C0GGA".."=G> 100s   ,&C
C)c                    [         R                  " / SQ5      nUR                  5       n[         R                  " / SQ5      n[        R                  " X#5        [         R                  " / SQ5      nUR                  5       n[         R                  " / SQ5      n[        R                  " X#5        [         R                  " / SQ5      nUR                  5       n[         R                  " / SQ5      n[        R                  " X#5        g )N)r   r   r~   r   r   r   r   r   r   )r~   r   r   )r   r   r   r   rv   r   )r   r   r   )r   r*   rv   r   r   r   r   )r   r*   r   r   r   )r   r3   uniquer5   assert_index_equal)r7   idx_posr<   r;   idx_negidx_mixs         r   test_unique_with_negatives&TestMethods.test_unique_with_negativesr   s    ++<
 ! ,,-EF
f/++H
 ! ,,-KL
f/++C
 ! ,,9
 	f/r    datac                    [         R                  " U5      n[        R                  " UR	                  5       UR
                  5        UR                  5       S:X  d   e[        R                  " UR                  5       U5        g )Nr   )	rY   rZ   r5   rl   r   r2   nuniquera   drop_duplicates)r7   r   ss      r   test_unique_with_infinty$TestMethods.test_unique_with_infinty   sX     IIdO
&&qxxz177;yy{a
q002A6r    r?   N)r@   rA   rB   rC   rR   rD   rE   rF   r   r
   rM   re   rr   r{   r   r0   infr   rG   r?   r    r   rI   rI   <   s    : [[Q'*%%l7C	

.
.
*?02 [[rvvgq!8RVVGQ#78a (1bff"56	
77r    rI   c                        \ rS rSrS rS rSrg)TestSetitem   c                    Uu  p#[         R                  " X#SS9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      Q5      n[        UR                  /[        US	S  5      Q5      n[         R                  " Xg5      n[        R                   " XH5        g ! , (       d  f       N= f! , (       d  f       g = f)
NT)copy)mMz='value' should be an interval type, got <.*NaTType'> instead.rW   r   )iuz4Cannot set float NaN to integer-backed IntervalArrayr   )r
   from_arraysr   subtypekindrD   r[   rm   rY   rn   r0   r1   r   	_na_valuelistr5   rP   )	r7   r&   r8   r9   r<   rq   expected_leftexpected_rightr;   s	            r   test_set_naTestSetitem.test_set_na   s   '**4TB<<$$J6QCy4FFq	 5<<$$
2HC y4FFq	 5FFq	t~~?T!"X?@B$uQRy/BC ,,]K
''9! 54 54s   E4E*
E'*
E8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
   rM   rN   r   rO   rD   r[   r\   r   r_   r`   r5   rl   )r7   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@   rA   rB   rC   r   r   rG   r?   r    r   r   r      s    :02r    r   c                        \ rS rSrS rS rSrg)TestReductions   c                 d   Uu  p#[         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)Nz2`axis` must be fewer than the number of dimensions)r   r   rW   )axisz'>=' not supported betweenfoo)r
   r   rD   r[   r\   minmaxrm   )r7   r&   r8   r9   r   rq   r   s          r   test_min_max_invalid_axis(TestReductions.test_min_max_invalid_axis   s    '''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0s/   C-,C>#DD!-
C;	>
D	
D!
D/c                 .   Uu  p4[         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SS00 4 Hi  nU	R                  " S	0 UD6nX:X  d   e[        U5      [        U5      :X  d   eU	R                  " S	0 UD6nX:X  d   e[        U5      [        U5      :X  a  Mi   e   g )
Nr   rv   r   )TF)skipnaFr   Tr?   )r
   r   is_monotonic_increasingr   r0   arangelenrandomdefault_rngshufflery   insertr1   r   typer   isnan)r7   r&   index_or_series_or_arrayr8   r9   r   MINMAXindexerarr_nar   rd   kwss                r   test_min_maxTestReductions.test_min_max   s   '''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}}}t$b)C**#s#C::9S	)))**#s#C::9S	))) *r    r?   N)r@   rA   rB   rC   r   r   rG   r?   r    r   r   r      s     ")*r    r   )numpyr0   rD   pandasrY   r   r   r   r   r   r   r	   pandas._testing_testingr5   pandas.core.arraysr
   fixturer&   r(   rI   r   r   r?   r    r   <module>r      s          , 	y	5+,		!78	1	-wPQ/RS	J	*Jz1,MNz1>z1>	
	 	"6 6,[7 [7|02 02f;* ;*r    