
    A>i<              
          S SK Jr  S SKr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JrJrJr  S SKJr  S SKJs  Jr   " S S5      rS rS rS r\R:                  R=                  S	S
S/SS/\" SSS9/S-  /5      S 5       rg)    )permutationsN)
IndexIntervalIntervalIndex	Timedelta	Timestamp
date_rangeinterval_rangeisnanotnatimedelta_rangec                   D   \ rS rSr\R
                  " SS/SS/5      rSkS jrSkS jrS r	\
R                  R                  S	/ S
Q\R                  * SSSSSSSS\R                  /
\" SSSS9\" SSSS9\R"                  " / SQ5      /5      S 5       rS rS rS rS r\
R                  R                  S\" SSSS 9\" S!S"S#S$S%9\" \" S&5      S'S(S 9\" \" S)5      S*SS 9/5      S+ 5       rS, rS- rS. r\
R                  R                  S	\" S/S0S19\" S/S0S2S39\" S4S0S19/S5 S69S7 5       r\
R                  R                  S	\" S8S9S19\" S4S9S:S;9/5      S< 5       r \
R                  R                  S=S> \!/S?S@/S69SA 5       r"\
R                  R                  S=\RF                  SB SC // SDQS69SE 5       r$\
R                  R                  SF\%" \" S/S0S19\" S/S0S2S39\" S4S0S19/S5      SG S69\
R                  R                  S=\RF                  SH SI SJ \!// SKQS69SL 5       5       r&SM r'SN r(SO r)SP r*SQ r+SR r,SS r-\
R                  R                  STSUS2/5      SV 5       r.SW r/SX r0\
R                  R                  SYSS\Rb                  4\" S85      \" S)5      \Rd                  4\" S45      \" S)5      \Rd                  4/5      SZ 5       r3\
R                  R                  S[\4" \5" S5      \5" SS\5      5      \4" \" S&SS19\" S&SS195      \4" \" S4SS19\" S)SS195      /5      S] 5       r6\
R                  R                  S[/ \!" \4" \5" S5      \5" SS\5      5      5      Q\Rb                  P/ \!" \4" \" S&SS19\" S&SS195      5      Q\Rb                  P/ \!" \4" \" S4SS19\" S)SS195      5      Q\Rb                  P/5      \
R                  R                  S^S_S`/5      Sa 5       5       r7Sb r8\
R                  R                  ScSUSd/5      Se 5       r9\
R                  R                  Sf/ SgQ5      Sh 5       r:Si r;Sjr<gU)lTestIntervalIndex   r         rightc                 >    [         R                  " [        S5      US9$ )N   closed)r   from_breaksrange)selfr   s     j/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/indexes/interval/test_interval.pycreate_indexTestIntervalIndex.create_index   s    ((r6BB    c           
      &   SS/S/S-  -   n[         R                  " [        R                  " U[        R                  " S5      [        R
                  5      [        R                  " U[        R                  " SS5      [        R
                  5      US9$ )NTF   
   r   r   r   )r   from_arraysnpwherearangenan)r   r   masks      r   create_index_with_nan'TestIntervalIndex.create_index_with_nan   sg    e}vz)((HHT299R="&&1HHT299Q+RVV4
 	
r   c                 v   U R                  US9n[        U5      S:X  d   eUR                  S:X  d   eUR                  S:X  d   e[        R
                  " UR                  [        [        R                  " S[        R                  S95      5        [        R
                  " UR                  [        [        R                  " SS[        R                  S95      5        [        R
                  " UR                  [        [        R                  " SS[        R                  S95      5        UR                  U:X  d   e[        [!        S5      [!        SS5      5       VVs/ s H  u  p4[#        X4U5      PM     nnn[        R$                  " U[&        S9n[        R(                  " [        R*                  " U5      U5        U R-                  US9n[        U5      S:X  d   eUR                  S:X  d   eUR                  S:X  d   e[        S	[        R.                  S
SSSSSSS/
5      nUS-   nUS-   n	[        R
                  " UR                  U5        [        R
                  " UR                  U5        [        R
                  " UR                  U	5        UR                  U:X  d   e[        Xx5       VVs/ s H1  u  p4[1        U5      (       a  [#        X4U5      O[        R.                  PM3     nnn[        R$                  " U[&        S9n[        R(                  " [        R*                  " U5      U5        g s  snnf s  snnf )Nr   r!   )r!   dtyper   r         ?g      %@r   r                  r    	   )r   lensizeshapetmassert_index_equalleftr   r#   r%   int64r   midfloat64r   zipr   r   arrayobjectassert_numpy_array_equalasarrayr(   r&   r   )
r   r   indexr9   r   ivsexpectedexpected_leftexpected_rightexpected_mids
             r   test_properties!TestIntervalIndex.test_properties&   s   !!!05zRzzR{{e###
ejj%		"BHH0M*NO
ekk51b1Q+RS
eiiryyd"**/U)VW||v%%%  #59eArl;
; T&); 	 
 88Cv.
##BJJu$5x@ **&*95zRzzR{{e###q"&&!Q1aAqAB&*$s*
ejj-8
ekk>:
eii6||v%%%  #=A
A .34[[HT&)bffDA 	 
 88Cv.
##BJJu$5x@7
,
s   L//8L5breaks)r   r   r   r0      5      i  i  iz  i iir-         ?gffffff@e      z
2017-01-01z
2017-01-04ns)units)1ns2ms3s4min5h6Dc                 <   [         R                  " X!S9nUR                  n[        S U 5       5      n[        R
                  " XE5        UR                  S[        R                  5      nUR                  n[        S U 5       5      n[        R
                  " XE5        g )Nr   c              3   8   #    U  H  oR                   v   M     g 7fN)length.0ivs     r   	<genexpr>0TestIntervalIndex.test_length.<locals>.<genexpr>]   s     3UrU   r   c              3   ^   #    U  H#  n[        U5      (       a  UR                  OUv   M%     g 7fr\   )r   r]   r^   s     r   ra   rb   c   s!     H%BeBiiR7%s   +-)	r   r   r]   r   r7   r8   insertr#   r&   )r   r   rJ   rB   resultrD   s         r   test_lengthTestIntervalIndex.test_lengthO   sx     ))&@3U33
f/ Q'H%HH
f/r   c                    U R                  US9nUR                  SL d   eUR                  5       n[        R                  " [        U5      [        S9n[        R                  " X45        UR                  5       n[        R                  " [        U5      [        S9n[        R                  " X45        U R                  US9nUR                  SL d   eUR                  5       n[        R                  " SS/S/[        U5      S-
  -  -   5      n[        R                  " X45        UR                  5       n[        R                  " SS/S/[        U5      S-
  -  -   5      n[        R                  " X45        g )Nr   Fr+   Tr   )r   hasnansr   r#   zerosr4   boolr7   r@   r   onesr(   r>   r   r   rB   rf   rD   s        r   test_with_nans TestIntervalIndex.test_with_nansf   s$   !!!0}}%%%88CJd3
##F5773u:T2
##F5**&*9}}$$$88UDMUGs5zA~,FFG
##F588T5MTFc%j1n,EEF
##F5r   c                     U R                  US9nUR                  5       nUR                  U5      (       d   eUR                  SS9nUR                  U5      (       d   eUR                  UR                  Ld   eg )Nr   T)deep)r   copyequalsr9   )r   r   rD   rf   s       r   	test_copyTestIntervalIndex.test_copy}   sp    $$F$3}}X&&&&D)}}X&&&&{{(--///r   c                 b   U R                  US9n[        USS9n[        R                  " UR                  R
                  UR                  R
                  SS9  [        R                  " UR                  R
                  UR                  R
                  SS9  [        [        R                  " U5      SS9n[        R                  " UR                  R
                  UR                  R
                  SS9  [        R                  " UR                  R
                  UR                  R
                  SS9  g )Nr   F)rs   same)
check_samers   )	r   r   r7   r@   r9   valuesr   r#   r>   )r   r   rB   rf   s       r   test_ensure_copied_data)TestIntervalIndex.test_ensure_copied_data   s     !!!0u51
##JJv{{11f	
 	##KK 3 3	

 rxxU;
##JJv{{11f	
 	##KK 3 3	
r   c                     [         R                  " SS[         R                  S9n[        R                  " X!S9nU R                  US9R                  S5      n[        R                  " XC5        g )Nr   r   r+   r   r   )	r#   r%   r:   r   r   r   deleter7   r8   )r   r   rJ   rD   rf   s        r   test_deleteTestIntervalIndex.test_delete   sT    1b1 ,,VC""&"188;
f/r   datar!   neither)periodsr   g333333?r          @both)r   freqr   20170101   r9   z1 dayr1   c                    US   n[        U/5      nUR                  U5      nUR                  SU5      n[        R                  " XT5        UR                  U5      nUR                  [        U5      U5      n[        R                  " XT5        US S R                  U5      R                  USS  5      nUR                  SU5      n[        R                  " XT5        UR                  SS5      nUR                  [        5      R                  SS5      n[        R                  " Xd5        Sn[        R                  " [        US9   UR                  R                  SS5        S S S 5        Sn1 SkUR                  1-
   H  nS	U S
UR                   S3n[        UR                  UR                  US9n	UR                  SU	5      nUR                  [        5      R                  SU	5      n[        R                  " Xd5        [        R                  " [         US9   UR                  R                  SU	5        S S S 5        M     [        ["        R$                  /UR                  S9n
["        R$                  S [&        R(                  4 HQ  nUS S R                  U
5      R                  USS  5      nUR                  SU5      n[        R                  " XT5        MS     UR                  R*                  R,                  S;  a  UR                  [        5      R                  S[&        R.                  5      nSn[        R                  " [        US9   UR                  R                  S[&        R.                  5        S S S 5        UR                  S[&        R.                  5      n[        R                  " XT5        g ! , (       d  f       GN\= f! , (       d  f       GM[  = f! , (       d  f       Nj= f)Nr   r.   r   fooz=can only insert Interval objects and NA into an IntervalArraymatchz+'value.closed' is 'left', expected 'right'.>   r   r9   r   r   z'value.closed' is 'z', expected 'z'.r   )mM)r   appendre   r7   r8   r4   astyper?   pytestraises	TypeError_datar   r   r9   r   
ValueErrorr#   r&   pdNAr,   kindNaT)r   r   itemidx_itemrD   rf   resmsgr   bad_itemna_idxnas               r   test_insertTestIntervalIndex.test_insert   s    Aw $( ??4(Q%
f/ ;;x(SY-
f/ 8??8,33DH=Q%
f/ kk!U#;;v&--a7
c,M]]9C0JJa' 1 <:dkk]JF'x}T[[MLC		4::fEH++a*C{{6*11!X>H!!#0z5

!!!X. 65 K x<664'BBQxv.55d12h?H[[B'F!!&3 (
 99??z1{{6*11!RVV<HQCy4

!!!RVV, 5 Q'
f/= 10 65 54s$   N5O+O5
O
O	
O(c                 F   [         R                  " SS/US9nUR                  SL d   e[         R                  " / SQUS9nUR                  SL d   e[         R                  " SS/US9nUR                  SL d   e[         R                  " [        R                  [        R                  4/US9nUR                  SL d   e[         R                  " [        R                  [        R                  4[        R                  [        R                  4/US9nUR                  SL d   eg	)
zG
Interval specific tests for is_unique in addition to base class tests
r   r   )r-   rN   r   Tr   r   r   r.   r   r.   )r   )r   FN)r   from_tuples	is_uniquer#   r&   r   r   idxs      r   test_is_unique_interval)TestIntervalIndex.test_is_unique_interval   s    
 ''(<VL}}$$$ ''(@P}}$$$ '''(:6J}}$$$ ''"&&"&&)9(:6J}}$$$ ''ffbff/0
 }}%%%r   c                    [         R                  " / SQUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / SQUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / SQUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / SQUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / SQUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / S	QUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / S
QUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " / SQUS9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[         R                  " SS/US9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   e[        / US9nUR                  SL d   eUR                  SL d   eUR                  SL d   eUR
                  SL d   eg )N)r   r   r/   r0   r   TF)r   r   r   )r   r   r   )r   r   r-   r   r   )r   r   r   )r   r   r   r   )r   r   r   r   )r   r   is_monotonic_increasing!_is_strictly_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_decreasingr   s      r   test_monotonic TestIntervalIndex.test_monotonic   s   ''(@P**d22244<<<**e33344=== ''(@P**e33344===**d22244<<< ''(@P**e33344===**e33344=== ''(DVT**d22244<<<**e33344=== ''(DVT**e33344===**d22244<<< ''(DVT**e33344===**e33344=== ''(@P**d22244<<<**e33344=== ''(@P**e33344===**d22244<<< ''(8H**d22244===**d22244=== Bv.**d22244<<<**d22244<<<r   c                    [        [        R                  [        R                  /5      nUR                  (       a   eUR                  (       a   eUR                  (       a   eUR
                  (       a   eUR                  (       a   eg r\   )r   r#   r&   r   r   r   r   )r   rB   s     r   test_is_monotonic_with_nans-TestIntervalIndex.test_is_monotonic_with_nansF  sg    rvvrvv./0000::::0000::::00000r   20180101r/   )r   z
US/Eastern)r   tzz0 daysc                 ,    [        U R                  5      $ r\   strr,   xs    r   <lambda>TestIntervalIndex.<lambda>W      c!''lr   )idsc                    [         R                  " U5      nUR                  U5      n[         R                  " UR                  5      n[        R
                  " X45        [        US   US   5      nUR                  U5      n[        US   R                  US   R                  5      nX4:X  d   eUR                  U5      n[        UR                  5      n[        R
                  " X45        UR                  US   5      nUS   R                  nX4:X  d   eUR                  [        U5      5      n[        UR                  5      n[        R
                  " X45        g Nr   r   )
r   r   _maybe_convert_i8asi8r7   r8   r   _valuer   list)r   rJ   rB   rf   rD   intervals         r   test_maybe_convert_i8'TestIntervalIndex.test_maybe_convert_i8P  s+    ))&1 ((/ ,,V[[9
f/ F1Ivay1((2F1I,,fQi.>.>?!!! ((0%
f/ ((3!9##!!! ((f6%
f/r   z
2018-01-01r0   us)r   rR   c                    [         R                  " U5      nUR                  [        R                  /S-  5      R                  S5      n[        [        R                  /S-  [        R                  S9nUR                  U5      n[        R                  " XT5        UR                  SUS   5      nUR                  S[        US   R                  5      5      nUR                  U5      n[        R                  " XT5        g )Nr.   r   r+   r   )r   r   _constructorr   r   as_unitr   r#   r&   r<   r   r7   r8   re   floatr   )r   rJ   rB   
to_convertrD   rf   s         r   test_maybe_convert_i8_nat+TestIntervalIndex.test_maybe_convert_i8_natw  s     ))&1(("&&A6>>tD
"&&ARZZ8((4
f/&&q&)4
??1eF1I,<,<&=>((4
f/r   make_keyc                     U $ r\    rJ   s    r   r   r     s    r   lambdar   c                 \   [         R                  " SUS9n[        R                  " U5      nU" U5      nUR	                  U5      nUR
                  R                  n[         R                  [         R                  [         R                  S.U   n[        XXS9n	[        R                  " Xi5        g )Nr0   r+   )iuf)r#   r%   r   r   r   r,   r   r:   uint64r<   r   r7   r8   )
r   r   any_real_numpy_dtyperJ   rB   keyrf   r   expected_dtyperD   s
             r   test_maybe_convert_i8_numeric/TestIntervalIndex.test_maybe_convert_i8_numeric  s     1$89))&1v((-||  !xxbiibjjI$O3
f/r   c                 &    [        U S   U S   5      $ r   r   r   s    r   r   r         8F1Ivay9r   c                     U S   $ Nr   r   r   s    r   r   r         6!9r   )r   r   scalarc                     [         R                  " SUS9n[        R                  " U5      nU" U5      nUR	                  U5      nXeL d   eg )Nr0   r+   )r#   r%   r   r   r   )r   r   r   rJ   rB   r   rf   s          r   'test_maybe_convert_i8_numeric_identical9TestIntervalIndex.test_maybe_convert_i8_numeric_identical  sK     1$89))&1v ((-}}r   zbreaks1, breaks2c                 ,    [        U R                  5      $ r\   r   r   s    r   r   r     r   r   c                 &    [        U S   U S   5      $ r   r   r   s    r   r   r     r   r   c                     U $ r\   r   r   s    r   r   r     s    6r   c                     U S   $ r   r   r   s    r   r   r     r   r   )r   r   r   r   r   c                 ,   [         R                  " U5      nU" U5      nSUR                   SUR                   3n[        R                  " U5      n[
        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)Nz)Cannot index an IntervalIndex of subtype z with values of dtype r   )	r   r   r,   reescaper   r   r   r   )r   breaks1breaks2r   rB   r   r   s          r   test_maybe_convert_i8_errors.TestIntervalIndex.test_maybe_convert_i8_errors  s{    2 ))'2w 8 G&}}o/ 	 iin]]:S1##C( 211s   *B
Bc                 j   [         R                  " SS/SS/5      n[        R                  " SS/SS9nUR	                  S5      n[
        R                  " X25        UR	                  S5      n[
        R                  " X25        [        R                  " SS/SS9nUR	                  S	5      n[
        R                  " X25        UR	                  S5      n[
        R                  " X25        [        R                  " [        S
S9   UR	                  [        SS5      5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   Frl   r+   r.   Tr-   z contains not implemented for twor   )r   r"   r#   r>   containsr7   r@   r   r   NotImplementedErrorr   )r   r   rD   actuals       r   test_contains_method&TestIntervalIndex.test_contains_method  s    %%q!fq!f588UEN&9A
##F5A
##F588T5M8C
##F5A
##F5 ]]'I
 JJx1~&
 
 
s   ?D$$
D2c                    [         R                  " SS/US9n[         R                  " SS[        R                  /US9nUR	                  5       n[
        R                  " XB5        [         R                  " SS[        R                  /SS[        R                  /US9nUR	                  5       n[
        R                  " XB5        g )	N)g              ?)r  g       @r   r   r   r   r   r   )r   r   r#   r&   dropnar7   r8   r"   )r   r   rD   iirf   s        r   test_dropnaTestIntervalIndex.test_dropna  s     ,,j*-EfU&&'?O
f/&&1bff~1bff~fU
f/r   c                     [         R                  " SS/US9n/ SQnUR                  U5      n[        R                  " / SQSS9n[
        R                  " XE5        SU;  d   eg )	Nr   r   r   )r-   rN   r   )r   r   r   intpr+   rN   )r   r   get_indexerr#   r>   r7   r@   )r   r   rB   targetr  rD   s         r   test_non_contiguous%TestIntervalIndex.test_non_contiguous  sZ    ))66*:6J ""6*88Jf5
##F5%r   c                    U R                  US9n[        R                  " S/S/[        U5      S-
  -  -   5      nUR	                  US S 5      n[
        R                  " XC5        UR	                  US   /5      n[
        R                  " XC5        [        R                  " [        R                  " SS5      US9n[        R                  " S/[        U5      S-
  -  S/-   5      nUR	                  U5      n[
        R                  " XC5        UR	                  UR                  5       5      n[
        R                  " XC5        S H  nU R                  US9n[        R                  " X:H  [        U5      5      nUR	                  U5      n[
        R                  " XC5        UR	                  UR                  5       5      n[
        R                  " XC5        M     g )	Nr   TFr   r   r   r!   )r   r9   r   r   )r   r#   r>   r4   isinr7   r@   r   r   r%   tolistrepeat)r   r   rB   rD   rf   otherother_closeds          r   	test_isinTestIntervalIndex.test_isin  so   !!!088TFeWE
Q%??@E"1I&
##F5U1XJ'
##F5))"))B*;FK88TFc%j1n5?@E"
##F5ELLN+
##F5@L%%\%:Eyy!7UDHZZ&F''9ZZ/F''9 Ar   c                    [        SS5      U R                  :  n[        R                  " SS/5      n[        R
                  " X5        [        SS5      U R                  :  n[        R                  " SS/5      n[        R
                  " X5        U R                  [        SS5      :  n[        R
                  " X5        U R                  U R                  :H  n[        R                  " SS/5      n[        R
                  " X5        U R                  U R                  :*  n[        R
                  " X5        U R                  U R                  :  n[        R
                  " X5        U R                  U R                  :  n[        R                  " SS/5      n[        R
                  " X5        U R                  U R                  :  n[        R
                  " X5        U R                  [        R                  " / SQS5      :H  n[        R
                  " X5        U R                  U R                  R                  :H  n[        R
                  " U[        R                  " SS/5      5        U R                  R                  U R                  :H  n[        R
                  " U[        R                  " SS/5      5        U R                  U R                  R                  :*  n[        R
                  " U[        R                  " SS/5      5        U R                  U R                  R                  :g  n[        R
                  " U[        R                  " SS/5      5        U R                  U R                  R                  :  n[        R
                  " U[        R                  " SS/5      5        U R                  R                  U R                  :  n[        R
                  " U[        R                  " SS/5      5        U R                  S:H  n[        R
                  " U[        R                  " SS/5      5        U R                  U R                  R                  :H  n[        R
                  " U[        R                  " SS/5      5        S	R                  S
S/5      n[        R                  " [        US9   U R                  S:    S S S 5        [        R                  " [        US9   U R                  S:*    S S S 5        [        R                  " [        US9   U R                  [        R                  " S5      :    S S S 5        Sn[        R                  " [        US9   U R                  [        R                  " S5      :    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)Nr   r   FTr-   rN   r   r   r   r9   |z:not supported between instances of 'int' and '.*.Interval'z>Invalid comparison between dtype=interval\[int64, right\] and r   r   zLengths must match to comparer.   )r   rB   r#   r>   r7   r@   r   r   rz   r9   joinr   r   r   r%   r   )r   r  rD   r   s       r   test_comparison!TestIntervalIndex.test_comparison  s   !Q$**,88UDM*
##F5#s#djj088UDM*
##F5hsC00
##F5tzz)88T4L)
##F5tzz)
##F5tzz)
##F5djj(88UEN+
##F5djj(
##F5}88FKK
##F5tzz000
##FBHHdD\,BC""djj0
##FBHHdD\,BCtzz000
##FBHHdD\,BCtzz000
##FBHHeU^,DEdjj///
##FBHHeU^,DE""TZZ/
##FBHHeU^,DE q
##FBHHeU^,DEtzz.
##FBHHeU^,DEhhLQ
 ]]9C0JJN 1]]9C0JJ!O 1]]9C0JJ1% 1 .]]:S1JJ1% 21 100000 21s0   -VV$V%$V6
V
V"%
V36
Wc           
      P   [        [        R                  [        SSUS9[        SSUS9/5      n[        R
                  " [        R                  SS/[        R                  SS/US9nUR                  U5      (       d   eSn[        R                  " [        US9   [        R
                  " [        R                  SS/[        R                  " / SQ5      US9  S S S 5        [        R                  " [        U5      [        R                  " / SQ5      5        g ! , (       d  f       NE= f)	Nr   r   r   r   zMmissing values must be missing in the same location both left and right sidesr   r  )TFF)r   r#   r&   r   r   r"   rt   r   r   r   r>   r7   r@   r   )r   r   r   idx2r   s        r   test_missing_values%TestIntervalIndex.test_missing_valuesZ  s    VVXa62HQ&4QR
 (("&&!Q"&&!QPVWzz$ 	 ]]:S1%%A 3F 2
 	##DIrxx8L/MN 21s   >D
D%c                 |   U R                  US9nUR                  5       n[        R                  " X25        UR                  SS9n[        R                  " X2S S S2   5        [	        [        SS5      [        R                  [        SS5      /5      nUR                  5       n[	        [        SS5      [        SS5      [        R                  /5      n[        R                  " X45        UR                  SSS	9n[	        [        R                  [        SS5      [        SS5      /5      n[        R                  " X45        g )
Nr   F)	ascendingr   r   r   r   first)r#  na_position)r   sort_valuesr7   r8   r   r   r#   r&   rn   s        r   test_sort_values"TestIntervalIndex.test_sort_valuesl  s    !!!0""$
f,""U"3
fDbDk2 x1~rvvx1~FG""$ (1a.(1a."&&!IJ
f/""U"H "&&(1a.(1a.!IJ
f/r   r   Nc                    [        SUS9n[        USS9n[        R                  " U5      n[        SUS9n[        USS9n[        R
                  " UR                  U5        [        SUS9U;  d   e[        SUS9U;  d   e[        SUS9U;  d   e[        [        SUS9[        S	US95      n[        [        S
US9[        SUS95      nXd;   d   eXt;  d   eUR                  [        SUS95      R                  5       (       a   eUR                  [        SUS95      R                  5       (       d   eUR                  [        SUS95      R                  5       (       d   e[        SUS9n[        USSS9nUR                  U5      n	[        R                  " / SQSS9n[        R                  " X5        [        SUS9n[        USSS9nUR                  U5      n	[        R                  " / SQSS9n[        R                  " X5        g )Nz
2000-01-01r   r!   )startr   z2000-01-01T12:00r3   z2000-01-01T12z
2000-01-02z
2000-01-03z
1999-12-31z1999-12-31T12:00r2   12h)r+  r   r   )r   r   r   r   r   r   r   r  r+   z2000-01-08T18:006h)r2   r2   r    r    r    r    r   )r   r	   r   r   r7   r8   r;   r   r   anyr  r#   r>   r@   )
r   r   r+  datesrB   rD   iv_trueiv_falser  r  s
             r   test_datetimeTestIntervalIndex.test_datetime  s   ,2.3))%0 ,4E15
eii2 "-U:::R0==="-U:::lr*Ilr,J
 lr*Ilr,J
 $$$ >>)LR"@AEEGGGG~~iB?@DDFFFF~~i<=AACCCC ,4%?""6*8836B
##F5,4%>""6*882&A
##F5r   c                    [         R                  " SS/SS/US9n[         R                  " SS/SS/US9nUR                  U5      n[         R                  " / SQ/ SQUS9n[        R                  " XE5        UR                  X#/5      n[         R                  " / SQ/ S	QUS9n[        R                  " XE5        1 S
kU1-
   H{  n[         R                  " SS/SS/US9nUR                  U5      nUR                  [        5      R                  UR                  [        5      5      n[        R                  " XE5        M}     g )Nr   r   r   r   r.   )r   r   r   r   )r   r   r   r.   )r   r   r   r   r   r   )r   r   r   r   r   r.   >   r   r9   r   r   )r   r"   r   r7   r8   r   r?   )r   r   index1index2rf   rD   r  index_other_closeds           r   test_appendTestIntervalIndex.test_append  s   **Aq6Aq6&I**Aq6Aq6&Iv& ,,\<PVW
f//0 ,, 26
 	f/@F8KL!.!:!:AA|" ]]#56F}}V,334F4M4Mf4UVH!!&3 Lr   c                    / SQn[         R                  " X!S9nUR                  SL d   e[         R                  " US S S2   US9nUR                  SL d   e/ SQn[         R                  " X!S9nUR                  SL d   e[         R                  " US S S2   US9nUR                  SL d   e/ SQn[         R                  " X!S9nUR                  SL d   e[         R                  " US S S2   US9nUR                  SL d   eUS:X  a0  [         R                  " [	        S	5      US9nUR                  SL d   eg [         R                  " [	        S	5      US9nUR                  SL d   eg )
N)r   r   r   r1   r2   r   Tr   )r   r   r   r;  F)r   r   r;  r   r   r/   )r   r   is_non_overlapping_monotonicr   r   )r   r   tplsr   s       r   !test_is_non_overlapping_monotonic3TestIntervalIndex.test_is_non_overlapping_monotonic  si   /''<//4777''TrT
6B//4777 0''<//5888''TrT
6B//5888 0''<//5888''TrT
6B//5888 V++E!HVDC33u<<<++E!HVDC33t;;;r   zstart, shift, na_valuec                 f   S Vs/ s H  oQXR-  -   XS-   U-  -   4PM     nn[         R                  " XdS9nUR                  SL d   eX34/UQX34Pn[         R                  " XdS9nUR                  SL d   e[        S5       Vs/ s H  oQXR-  -   XS-   U-  -   4PM     nn[         R                  " XdS9nUR                  SL d   eX34/UQX34Pn[         R                  " XdS9nUR                  SL d   e[        S5       Vs/ s H  oQXR-  -   XS-   U-  -   4PM     nn[         R                  " XdS9nUR                  nUS:H  n	XL d   eX34/UQX34Pn[         R                  " XdS9nUR                  nXL d   e/ S	Qn
/ S
Qn[         R                  " XSS9nUR                  nUSL d   eg s  snf s  snf s  snf )N)r   r   r/   r   r   Fr.   r   Tr   )r!   rK            #   (   -   rF  2   7   <   A   F   K   P   U   )rK   rA  rB  rC  rD  rE  rF  rF  rG  rH  rI  rJ  rK  rL  rM  rN  Z   r   )r   r   is_overlappingr   r"   )r   r+  shiftna_valuer   ntuplesrB   rf   rD   abs               r   test_is_overlapping%TestIntervalIndex.test_is_overlapping  s    IRR	119$e1uo&=>	R))&@##u,,, &FF(1EF))&@##u,,, INaQ119$e1uo&=>Q))&@##t+++ &FF(1EF))&@##t+++ INaQ119$e1uo&=>Q))&@%%V#!!! &FF(1EF))&@%%!!! QP))!w?%%K S R Rs   F$F)=F.rT  r   c                     [        U5      n[        R                  " U5      nUR                  5       n[	        [
        R                  " U5      5      n[        R                  " X45        g r\   )	r   r   r   	to_tuplesr   comasarray_tuplesafer7   r8   )r   rT  r   rf   rD   s        r   test_to_tuples TestIntervalIndex.test_to_tuples  sK      f''/..v67
f/r   na_tupleTFc                    [         R                  " U5      nUR                  US9n[        [        R
                  " US S 5      5      nUS S n[        R                  " Xe5        US   nU(       aB  [        U[        5      (       d   e[        U5      S:X  d   e[        S U 5       5      (       d   eg [        U5      (       d   eg )N)r_  r   r   c              3   8   #    U  H  n[        U5      v   M     g 7fr\   )r   )r_   r   s     r   ra   6TestIntervalIndex.test_to_tuples_na.<locals>.<genexpr>S  s     2	1tAww	rc   )r   r   rZ  r   r[  r\  r7   r8   
isinstancetupler4   allr   )r   rT  r_  r   rf   expected_notnaresult_notna	result_nas           r   test_to_tuples_na#TestIntervalIndex.test_to_tuples_na+  s    6 ''/1 s44VCR[ABcr{
l; 2J	i////y>Q&&&2	22222	??"?r   c                     [         R                  " SSSS9n[         R                  " SSSS9n[        R                  " X5      R                  nSnX4:X  d   eg )Nr   r/   i8r+   r   r0   @   )r#   r%   r   r"   nbytes)r   r9   r   rf   rD   s        r   test_nbytesTestIntervalIndex.test_nbytesW  sM    yyAT*		!Qd+**47>>!!!r   namer   c                 ~    [        SSX!S9nUR                  U5      n[        SSX1S9n[        R                  " XV5        g )Nr   r0   )r   rq  )r
   
set_closedr7   r8   )r   rq  r   r  rB   rf   rD   s          r   test_set_closed!TestIntervalIndex.test_set_closed`  s>     q!F>!!,/!!Q|G
f/r   
bad_closed)r   r!   LEFTTFc                     [        SS5      nSU 3n[        R                  " [        US9   UR	                  U5        S S S 5        g ! , (       d  f       g = f)Nr   r0   zinvalid option for 'closed': r   )r
   r   r   r   rs  )r   rv  rB   r   s       r   test_set_closed_errors(TestIntervalIndex.test_set_closed_errorsh  sD     q!$-j\:]]:S1Z( 211s   A
Ac                 ~    [        [        S5      [        S5      5      n[        U/5      nUR                  (       a   eg )Nz2017-01-01 00:00:00z2018-01-01 00:00:00)r   r   r   _is_all_dates)r   	year_2017year_2017_indexs      r   test_is_all_dates#TestIntervalIndex.test_is_all_datesp  s=    +,i8M.N
	 (4"00000r   r   )r   )=__name__
__module____qualname____firstlineno__r   r"   rB   r   r(   rH   r   markparametrizer#   infr	   r   to_timedeltarg   ro   ru   r{   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r2  r8  r>  r&   r   rW  r=   r   r]  ri  ro  rt  ry  r  __static_attributes__r   r   r   r   r      sh   %%q!fq!f5EC
'AR [[@ffWdCac3RVVD|\=|\<OODE	
	0	06.0
,0 [[1b;3FC9Z0"VL9W-qI		
7070r&4E=N1 [[z1-z1>Ha0	

 #  00< [[|Q/Had;	
00 [[	%v  

0

0 [[%%9$	

 4   [[:q1:q\B!4
 	
 #   [[%%9!$	
 E  
)
.)'.	0 :6>&@O$0( [[TD,#78'6 9'6R4,<B [[ 266N|$i&8"&&Ax )G"4bff=	
**X [[b	5B<(:r2:r2 "54
	
00 [[9d3uRy%2,/09"&&9":r:":r: '"='< 	
0 [[Z$7# 812#&" [[VdE]30 40 [[\+KL) M)1r   r   c                      [         R                  " / SQSS9n [         R                  " / SQSS9n[        R                  " [        SS9   [
        R                  " X5        S S S 5        g ! , (       d  f       g = f)Nr  r:   r+   )r   r   r.   r   zmatching signednessr   )r#   r>   r   r   r   r   r"   )r9   r   s     r   -test_from_arrays_mismatched_signedness_raisesr  y  sK    88IW-DHHYh/E	y(=	>!!$. 
?	>	>s   A((
A6c                  `    [         R                  " SS/SS/5      n [        U 5      nSU;  d   eg )Nr   r   r   r   )r   r"   dir)rB   rf   s     r   test_dirr    s3    %%q!fq!f5EZFr   c                 P   [        [        SS5      [        SS5      /5      nUR                  U " U5      5      n[        R                  " SS/UR
                  S9n[        R                  " X#5        UR                  R                  U " U5      5      n[        R                  " X#5        g )Nr   r   r   r+   )	r   r   searchsortedr#   r>   r,   r7   r@   r   )listlike_boxrz   rf   rD   s       r   ,test_searchsorted_different_argument_classesr    s    HQNHQN;<F  f!56FxxAfll3H1\\&&|F';<F1r   argr   r   rU  rV  z
2020-01-01zEurope/Londonr*  c                     [        [        SS5      [        SS5      /5      nSn[        R                  " [        US9   UR                  U 5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   zL'<' not supported between instances of 'pandas._libs.interval.Interval' and r   )r   r   r   r   r   r  )r  rz   r   s      r   "test_searchsorted_invalid_argumentr    sL     HQNHQN;<F
XC	y	,C  
-	,	,s   A
A&) 	itertoolsr   r   numpyr#   r   pandasr   r   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingr7   pandas.core.commoncorecommonr[  r   r  r  r  r  r  r  r   r   r   <module>r     s    " 	          ^1 ^1B/2 	QFS#J<O!L MPQ QR!!r   