
    .i%t                     N   d dl Zd dlZd dlmZ d dlZd dlmZmZ d dl	m
Z d dlmZ  G d d      Zej                  j!                  d ed      d g ed      d	g ed
dd
      dg edd
d      dgg      d        Zej                  j!                  d ed
dd      dg edd
d      dg edd      dgg      d        Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                  j!                  dej:                  ej<                  d gg d      d         Zej                  j!                  d! ed       ed"d#      g ed dd$       ed%d&d$      g ed d
d	       ed'd(d	      gg      d)        Z d* Z!d+ Z"d, Z#d- Z$d. Z%d/ Z&d0 Z'd1 Z(ej                  j!                  d! ed        ed       g ed
       ed
      g ed$dd       ed	dd      g ed dd       ed d
d      gg      d2        Z)d3 Z*ej                  j!                  d4 ed        ed       ed d5d       ed$d	d       ed	d$d$       ed dd	      g      d6        Z+ej                  j!                  d4 ed dd       ed dd	       ed
d7d       ed
dd       ed
dd$       edd d      g      ej                  j!                  d8d9d:g      d;               Z,ej                  j!                  d8d:d9g      d<        Z-d= Z.d> Z/d? Z0ej                  j!                  d@dAdBg      ej                  j!                  d4 ed"       ed        ed d"d	       ed"dCd$      g      dD               Z1ej                  j!                  dEdFdGg      ej                  j!                  dHd d5ddC ej:                  g dI      g      dJ               Z2y)K    N)ensure_platform_int)Index
RangeIndexmin_fitting_elementc                      e Zd Zej                  d        Zd Zd Zd Zej                  j                  d ed      dddf edd      dddf edd	
      ddd	f eddd	      ddd	fg      d        Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                  j                  d eddd	       eddd	      f ed       eddd       f edd	d        edd d!      f edd"d#       edd$d#      fg      d%        Zd& Zd' Zd( Z ej                  j                  d)d*d+g      d,        Z!d- Z"d. Z#d/ Z$d0 Z%ej                  j                  d1 edd2d	d34       ed5dd#d64      gd7d8g9      d:        Z&d; Z'd< Z(d= Z)ej                  j                  d> e* e+d?d@            dhz
        dA        Z,ej                  j                  dB eddCd      g eddCd      f edd@d!      g edd@d!      f edd        ed dD      g eddD      f eddd	       edd@      g edd@d	      f edd d	       ed!dDd       g eddDd       f edEd d	       ed!dDd	      g edEdDd	      f edEdF       edFdG      g edd      f edEdF       ed dE      g edd      f edEdF       ed d      g ed d      f edEd#       ed d      g e-g dH      f ed#       ed d      g ed d      f ed	       ed	      g e-g dI      f ed	       ed	d       eddJd!      g edd@      f ed	       ed d       eddJd!      g e-g dK      f ed#d	       ed	d       eddJd!      g ed#d@      f ed        e-g dL      g e-g dM      f ed        e-g dN      g e-g dO      f ed        e-g dP      g e-g dQ      f ed d       e-g dP      g e-g dP      fg      dR        Z.dS Z/ej                  j                  dT eddd       eddd       edd d	       eddd#       edUd?d#      g      dV        Z0ej                  j                  dW edd	       e-ddg      g      dX        Z1dY Z2dZ Z3y[)\TestRangeIndexc                     t        ddd      S )Nr         startstopstep)r   )selfs    d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/indexes/ranges/test_range.pysimple_indexzTestRangeIndex.simple_index   s    33    c                     t        dd      }t        j                  ddgt        j                        }t	        j
                  |j                  |       y )N      r   dtype)r   nparrayint64tmassert_numpy_array_equal_datar   resultexpecteds      r   test_constructor_unwraps_indexz-TestRangeIndex.test_constructor_unwraps_index   s:    Aq!88QF"((3
##FLL(;r   c                 <    |}|d   }|j                  |      du sJ y )Nr   F)$_can_hold_identifiers_and_holds_name)r   r   idxkeys       r   test_can_hold_identifiersz(TestRangeIndex.test_can_hold_identifiers   s)    !f77<EEEr   c                 z    |}t        j                  t        d      5  ddg|_        d d d        y # 1 sw Y   y xY w)Nz^Lengthmatchrogerharold)pytestraises
ValueErrornamesr   r   indexs      r   test_too_many_namesz"TestRangeIndex.test_too_many_names   s6    ]]:Y7 	."H-EK	. 	. 	.s   
1:zindex, start, stop, step   r   r   r   )r   c                 j    |j                   |k(  sJ |j                  |k(  sJ |j                  |k(  sJ y Nr   )r   r3   r   r   r   s        r   test_start_stop_step_attrsz)TestRangeIndex.test_start_stop_step_attrs#   s:     {{e###zzT!!!zzT!!!r   c                     t        dd      }|j                         }||usJ |j                  |      sJ |j                  t	        ddd      k(  sJ |j
                  dk(  sJ y )Nr5   Foonamer   r   )r   copy	identical_rangeranger<   )r   ii_copys      r   	test_copyzTestRangeIndex.test_copy2   se    qu%Q"""}}aA...{{e###r   c                    t        dd      }t        |      }d}||k(  sJ t        |      }t        j                  ||d       t        ddd      }t        |      }d	}||k(  sJ t        |      }t        j                  ||d       y )
Nr5   r:   r;   z/RangeIndex(start=0, stop=5, step=1, name='Foo')Texactr   z$RangeIndex(start=5, stop=0, step=-1))r   reprevalr   assert_index_equal)r   rA   r!   r"   s       r   	test_reprzTestRangeIndex.test_repr:   s    qu%aD!!!f
fat4q!R a9!!!f
fat4r   c                 X   t        dd      }|dd }t        j                  |dd |j                  d|d         d       t	        dt
        j                  dd	d
dgt
        j                        }t
        j                  d t        j                  fD ]3  }t        d      j                  d|      }t        j                  ||       5 t        d      j                  dt        j                        }t	        dt        j                  dd	d
dgt              }t        j                  ||       y )Nr5   r:   r;   r      r   equivrE   r   r   r   )r   r   rJ   insertr   r   nanfloat64pdNANaTobject)r   r&   r!   r"   nas        r   test_insertzTestRangeIndex.test_insertK   s    'Qq 	c!AhaQ(@P !RVVQ1a0

C664' 	4B]))!R0F!!&(3	4 A%%a0!RVVQ1a0?
fh/r   c                 0   t        t        ddd            }|j                  dd      }t        t        ddd            }t        j                  ||d       |j                  dd      }t        t        dd	d            }t        j                  ||d       y )
NrM   	   r   r   TrE   r   
      r   r@   rO   r   rJ   r   r&   r!   r"   s       r   &test_insert_edges_preserves_rangeindexz5TestRangeIndex.test_insert_edges_preserves_rangeindex\   s|    E!QN#Aq!q!Q(
fhd;Ar"q"a)
fhd;r   c                    t        t        ddd            }|j                  dd      }t        t        d            }t        j                  ||d       |dz  }|j                  dd      }|dz  }t        j                  ||d       y )Nr   r   r   r   TrE   r\   r]   s       r   'test_insert_middle_preserves_rangeindexz6TestRangeIndex.test_insert_middle_preserves_rangeindexg   sw    E!QN#Aq!q?
fhd;AgAq!a<
fhd;r   c                    t        dd      }|dd  }|j                  d      }t        j                  ||d       |j                  |j                  k(  sJ |d d }|j                  d      }t        j                  ||d       |j                  |j                  k(  sJ d	}t        j                  t        t        f|
      5  |j                  t        |            }d d d        y # 1 sw Y   y xY w)Nr5   r:   r;   r   r   TrE   rG   z/index 5 is out of bounds for axis 0 with size 5r*   )
r   deleter   rJ   r<   r.   r/   
IndexErrorr0   len)r   r&   r"   r!   msgs        r   test_deletezTestRangeIndex.test_deletes   s    'qr7A
fhd;{{hmm+++s8B
fhd;{{hmm+++?]]J
33? 	*ZZC)F	* 	* 	*s   C''C0c                    t        t        d      d      }|j                  dg      }t        t        d      d      }t        j                  ||d       |j                  d      }t        j                  ||d       y )Nr   foor;   r   TrE   r   r@   rb   r   rJ   r]   s       r    test_delete_preserves_rangeindexz/TestRangeIndex.test_delete_preserves_rangeindex   sb    E!H5)QCq.
fhd;A
fhd;r   c                     t        t        d      d      }|j                  d      }|d d d   }t        j                  ||d       |j                  d      }t        j                  ||d       y )	Nr   rh   r;   r   r   TrE   ri   r]   s       r   'test_delete_preserves_rangeindex_middlez6TestRangeIndex.test_delete_preserves_rangeindex_middle   s]    E!H5)Ass8
fhd;B
fhd;r   c                     t        ddd      }g d}|j                  |      }|d d }t        j                  ||d       |j                  |d d d         }t        j                  ||d       y )	Nr      r   )r   r   rM   r5   r   TrE   rG   r   rb   r   rJ   r   r&   locr!   r"   s        r   ,test_delete_preserves_rangeindex_list_at_endz;TestRangeIndex.test_delete_preserves_rangeindex_list_at_end   sg    Aq!Cr7
fhd;C"I&
fhd;r   c                     t        ddd      }g d}|j                  |      }t        ddd      }t        j                  ||d       |j                  |d d d         }t        j                  ||d       y )	Nr   ro   r   )r   r   r   rM   r5   TrE   rG   rp   rq   s        r   ,test_delete_preserves_rangeindex_list_middlez;TestRangeIndex.test_delete_preserves_rangeindex_list_middle   sj    Aq!CaA&
fhd;C"I&
fhd;r   c                     t        ddd      }g d}|j                  |      }|d d }t        j                  ||d       |j                  |d d d         }t        j                  ||d       y )Nr   ro   r   )r   r   r   r   rM   r5   TrE   rG   rp   rq   s        r   $test_delete_all_preserves_rangeindexz3TestRangeIndex.test_delete_all_preserves_rangeindex   sg    Aq! Cr7
fhd;C"I&
fhd;r   c                     t        ddd      }g d}|j                  |      }t        g d      }t        j                  ||d       |j                  |d d d         }t        j                  ||d       y )	Nr   ro   r   )r   r   r5   )r   r   rM   TrE   rG   )r   rb   r   r   rJ   rq   s        r   %test_delete_not_preserving_rangeindexz4TestRangeIndex.test_delete_not_preserving_rangeindex   sf    Aq!C#
fhd;C"I&
fhd;r   c                     t        dd      }|j                         }|j                  dk(  sJ |j                  d      }t        j                  |j
                  |       y )Nr   r:   r;   i8)r   viewr<   r   r   values)r   rA   i_views      r   	test_viewzTestRangeIndex.test_view   sL    qu%{{e###
##AHHf5r   c                 F    |}|j                   t        j                  k(  sJ y r7   )r   r   r   r2   s      r   
test_dtypezTestRangeIndex.test_dtype   s    {{bhh&&&r   c                    t        ddd      }|j                  i k(  sJ t        |       |j                  i k(  sJ t        |       |j                  i k(  sJ |j	                  d       |j                  i k(  sJ d|v  |j                  i k(  sJ d|v  |j                  i k(  sJ |j                          |j                  i k(  sJ |j                          |j                  i k(  sJ |D ]  } |j                  i k(  sJ t        j                  dt        d      i|      }t        |       |j                  i k(  sJ |j                  d	    |j                  i k(  sJ t        j                  t        d
      5  |j                  d    d d d        |j                  i k(  sJ |j                  dd	  |j                  i k(  sJ |j                  dd  |j                  i k(  sJ |j                  g d       d|j                  vsJ |j                  d	g    d|j                  vsJ |j                  g d    d|j                  vsJ |j                    t#        |j                   t$        j&                        sJ |j                   |j                   u sJ d|j                  v sJ t%        j(                  dddd      }t+        j,                  |j                  d   |       y # 1 sw Y   XxY w)Nr   d   rZ   r   Z   [   a)r3   2   51r*   3   r5   )r   r   r   r   )r5   ro         rY   r   r   )r   _cacherH   strget_locallanyrR   	DataFramer@   rr   r.   r/   KeyErroriloctaker   
isinstancer   ndarrayaranger   r   )r   r&   _dfr"   s        r   
test_cachezTestRangeIndex.test_cache   s   
 C$zzRS	zzRCzzRBzzR
c	zzR
c	zzR	zzR	zzR 	A	zzR\\3b	*#6 	BzzR
r
zzR]]840 	FF2J	zzR
r"zzR
"zzR 	cjj(((
tcjj(((
 cjj((( 			#))RZZ000yyCII%%%#**$$$99QRw7
##CJJw$7B5	 	s   6KK&c                    t        ddd      }|j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ t        ddd      }|j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ t        dd      }|j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ t        dd      }|j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ t        dd      }|j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ |j                  du sJ y )	Nr   r   r   TFrM   rG   r   )r   is_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingr   r3   s     r   test_is_monotonicz TestRangeIndex.test_is_monotonic  s"   1b!$,,444,,444,,55566$>>>66%???1a$,,55566%???,,44466$>>>1a ,,444,,444,,44466$>>>66$>>>1a ,,444,,444,,44466$>>>66$>>>1a ,,444,,444,,44466$>>>66$>>>r   z
left,rightrY   rZ   rG   r   rM   irl   c                 P    |j                  |      sJ |j                  |      sJ y r7   )equals)r   leftrights      r   test_equals_rangez TestRangeIndex.test_equals_range9  s(     {{5!!!||D!!!r   c                     |}|j                         |j                  j                         k(  sJ |j                         |j                  j                         k(  sJ y r7   )r   r}   r   )r   r   r&   s      r   test_logical_compatz"TestRangeIndex.test_logical_compatF  sE    wwyCJJNN,,,,wwyCJJNN,,,,r   c                 b   |}t        |j                               }|j                  |      sJ t        |t              ry t        |t
              }|j                  |      rJ |j                  t
              }|j                  d      }t        |t
              }|j                  |j                  t
                    sJ |j                  |      rJ t        |dt
              j                  |      sJ |j                  t
              j                  |j                  d            rJ y )Nr   rh   )r<   r   r   )r   r=   r>   r   r   rU   rename)r   r   r3   rA   same_values_different_typesame_valuess         r   test_identicalzTestRangeIndex.test_identicalK  s    %**,{{5!!! eZ(%*1F%;";;9:::JJVJ$HHUOAV,$$UZZfZ%=>>>;;u%%%[uF;EEaHHH::F:+55ejjwj6OPPPPr   c                     t        dd      }|j                  t        |j                        j                  dz  k  sJ t        dd      }|j                  |j                  k(  sJ y )Nr   i  rZ   )r   nbytesr   _values)r   r&   i2s      r   test_nbyteszTestRangeIndex.test_nbytesa  sX    D!zzE#++.55:::: 2zzRYY&&&r   zstart,stop,step)rh   barbaz)012c                     dt        |       d| }t        j                  t        |      5  t	        |||       d d d        y # 1 sw Y   y xY w)NzWrong type z for value r*   )typer.   r/   	TypeErrorr   )r   r   r   r   re   s        r   test_cant_or_shouldnt_castz)TestRangeIndex.test_cant_or_shouldnt_castj  sI     DK=E7;]]9C0 	*udD)	* 	* 	*s   AAc                     |}d}t        j                  t        |      5  |j                  t               d d d        y # 1 sw Y   y xY w)Nz[Cannot change data-type for array of references.|Cannot change data-type for object array.|r*   )r.   r/   r   r|   r   )r   r   r3   re   s       r   test_view_indexzTestRangeIndex.test_view_indexx  sB    9 	 ]]9C0 	JJu	 	 	s	   ?Ac                 h    |}|j                  d      }|j                  t        j                  k(  sJ y )NO)astyper   r   object_r   r   r3   r!   s       r   test_prevent_castingz#TestRangeIndex.test_prevent_casting  s+    c"||rzz)))r   c                 X    |}t        j                  t        t        |            |       y r7   )r   rJ   rI   rH   r2   s      r   test_repr_roundtripz"TestRangeIndex.test_repr_roundtrip  s     
d4;/7r   c                 \    t        ddd      }|j                  |dd  j                  k(  sJ y )Nr   r   asdfr;   )r   r<   r   r&   s     r   test_slice_keep_namez#TestRangeIndex.test_slice_keep_name  s,    AF+xx3qr7<<'''r   r3   r   rh   r   r   r   r<      r   	index_inc	index_decidsc                 <    |j                   sJ |j                  rJ y r7   )	is_uniquehas_duplicatesr   s     r   test_has_duplicatesz"TestRangeIndex.test_has_duplicates  s"     '''''r   c                     |}|j                  dd      }|d   |d   dz  |d   dz  z   k(  sJ d|d   k(  sJ |j                  dd      }d|d   dz  |d   dz  z   k(  sJ d|d   k(  sJ y )Nro   rZ   r   r   r   )_extended_gcdr   s       r   test_extended_gcdz TestRangeIndex.test_extended_gcd  s    $$Q+ayF1IMF1IN::::F1I~~$$R+F1INVAY]2222F1I~~r   c                     t        ddd      }d|k(  sJ t        ddd      }d|k(  sJ t        ddd      }d|k(  sJ t        ddd      }d|k(  sJ d}t        dd|      }||k(  sJ y )	Nr   r   r   r   rl   r5   rG   l      !;o r   )r   r!   big_nums      r   test_min_fitting_elementz'TestRangeIndex.test_min_fitting_element  s    $Q1-F{{$Q1-F{{$RQ/F{{$QA.F{{*$Q73&   r   c                    |}d|_         |d   }d}||k(  sJ |d   }d}||k(  sJ |d d  }|}t        j                  ||       |ddd   }t        ddgd	      }t        j                  ||d
       |ddd   }t        ddgd	      }t        j                  ||d
       |ddd   }t        ddgd	      }t        j                  ||d
       |d d d   }t        |j                  d d d   d	      }t        j                  ||d
       |dd d   }t        g dd	      }t        j                  ||d
       |dd d   }t        t        j                  g t
        j                        d	      }t        j                  ||d
       |dd d   }t        |j                  dd d   d	      }t        j                  ||d
       |dd d   }t        |j                  d d d   d	      }t        j                  ||d
       y )Nrh   r   r   rG   r   r   rZ      r;   rN   rE   rl   r   rM      )rM   r   r   ir   (   )r<   r   rJ   r   r}   r   r   r   )r   r   r3   resr"   index_slices         r   test_slice_specialisedz%TestRangeIndex.test_slice_specialised  s   
 AhhBih Ah
k84 AbFm"b.
k87C Br"Ho"b.
k87C Ac!Gn!Ru-
k87C DbDkdd+%8
k87CBFFm/
k87CCGGn"BHH5EB
k87CBFFmbf"f-E:
k87CBFFmdd+%8
k87Cr   r   r   ro   c                     |dkD  rdnd\  }}t        j                  |||      }t        |||      }t        |      t        |      k(  sJ t        |||      }t        |      dk(  sJ y )Nr   )r   r5   )r5   r   )r   r   r   rd   )r   r   r   r   arrr3   s         r   test_len_specialisedz#TestRangeIndex.test_len_specialised  si     !%qfftiitT*5$-5zSX%%%4-5zQr   zindices, expectedr   r   r   i)r   r   rM   )r   r   r   r   r   )r   r   r   rM   r5   )rG   r      )r   r   r   rG   r   r   )rG   @      .@)r   r   r   rG   r   r   )r   Nr   )r   r   r   r   Nr   c                     |d   j                  |dd        }t        j                  ||d       t        |      dk(  r0|d   j                  |d         }t        j                  ||d       y y )Nr   r   TrE   r   )appendr   rJ   rd   )r   indicesr"   r!   result2s        r   test_appendzTestRangeIndex.test_append  sl    @ ""712;/
fhd;w<1aj''
3G!!'84@ r   c           	         t        ddd      }|j                  d      dk(  sJ t        j                  |j	                  ddg      t        t        j                  ddg                   t        j                  t        d	      5  |j                  d       d d d        d
|j                  vsJ t        j                  t        d	      5  |j                  d       d d d        d
|j                  vsJ y # 1 sw Y   _xY w# 1 sw Y   &xY w)Nr   rZ   r   r5   r   r   r   3r*   _enginez'a'r   )r   r   r   r   get_indexerr   r   r   r.   r/   r   r   r   s     r   test_engineless_lookupz%TestRangeIndex.test_engineless_lookup!  s     B"{{1~"""
##OOQF#%81a&9I%J	
 ]]83/ 	KKN	 

*** ]]851 	KK	 

***	 		 	s   C4	D 4C= D	rir   c                 V    |j                  g       }t        j                  ||d       y )NTrE   )r   r   rJ   )r   r   r!   s      r   test_append_len_onez"TestRangeIndex.test_append_len_one7  s#     2
fb5r   basec                     t        dd      }|j                  |      }t        j                  ddg      }t	        j
                  ||       y )Nr   r   TF)r   isinr   r   r   r   )r   r   r}   r!   r"   s        r   test_isin_rangezTestRangeIndex.test_isin_rangeF  s@     Aq!6"88T5M*
##FH5r   c                 >   ddddddt        ddd      }|j                  fd      }t        g d	d
      }t        j                  ||d       |j                         }|j                  fd      }t        j                  ||j                         d       y )Nr   r   r   rZ   r   )r   ro   rM   r   r   c                 &    | j                        S r7   mapx
sort_orders    r   <lambda>z5TestRangeIndex.test_sort_values_key.<locals>.<lambda>R  s    !%%
2C r   )r'   )ro   r   rM   r   r   r   r   T)check_exactc                 &    | j                        S r7   r   r  s    r   r  z5TestRangeIndex.test_sort_values_key.<locals>.<lambda>X  s    j0A r   )r   sort_valuesr   r   rJ   	to_seriesassert_series_equal)r   r}   r!   r"   serr   r  s         @r   test_sort_values_keyz#TestRangeIndex.test_sort_values_keyN  s    qQ2"5
Ar1%##(C#D8
fhDA  //&A/B
w(:(:(<$Or   c                 j    dt        ddd      z
  }t        ddd      }t        j                  ||       y )Nr   r   rM   r   rG   r   r   rJ   r    s      r   test_range_index_rsub_by_constz-TestRangeIndex.test_range_index_rsub_by_const[  s3    Z1a((aR(
fh/r   N)4__name__
__module____qualname__r.   fixturer   r#   r(   r4   markparametrizer   r8   rC   rK   rW   r^   r`   rf   rj   rm   rs   ru   rw   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   setr@   r   r   r   r   r   r   r  r   r   r   r	   r	      s   ^^4 4<
F
.
 [["]Aq!$1q!Q'"Aq!,1a !Q*		
""$5"0"	<
<*"<<	<	<	<	<6'ECN!?F [[1a *QA"67]Jq"a011a *Q1"562r"Jq#r$:;		
""-
Q,' [[ "		
**
*
8( [[QRae<Rbr>	
 +&  ((!$5Dn [[VSr1%6!%<=	 >	 [[B"#Z2q%9:Aq!"Jq!Q$78A
1a 01:a3CDAq!:a#34jAq6IJAq!:aA#67Aq!9LMQ"Jq!Q$78*RA:NOR *R"56
1a8HIR *Q"34jA6FGR *Q"23Z15EFR *Q"23U>5JKnjA./Aq1ABmZ]+U<-@AmZ1-z!Q/BCZPQSTEUVA
1a 0*Q12EFo&
 B"Jq!$4jAq6IJ2q! mU;/0%8L2MNmU?34e<T6UVmU?34e<T6UVAo 679OP3	
<A=<A+, [[q"b!q!Qq!Qq"b!r2r"	
	6	6
 [[VjA&6q!f%FG6 H6P0r   r	   zrng, decimalsr5   r   rZ      rG   r   c                     t        |       }|j                         }|j                  |      }t        j                  ||d       y N)decimalsTrE   )r   r=   roundr   rJ   rngr  r   r"   r!   s        r   #test_range_round_returns_rangeindexr  b  s:     
CBwwyHXXxX(F&($7r   r   r[   r   c                     t        |       }t        t        |             j                  |      }|j                  |      }t	        j
                  ||d       y r  )r   r   listr  r   rJ   r  s        r   test_range_round_returns_indexr!  r  sK     
CBT#Y%%x%8HXXxX(F&($7r   c                     t        dddd      } | j                  dg      \  }}t        dddd      }t        j                  ||d       t	        j
                  d	gt        j                  
      }t        j                  ||       y )Nr   rZ   r   rh   r;   rM   TrE   r   r   r   reindexr   rJ   r   r   intpr   r   r!   result_indexerr"   expected_indexers        r   'test_reindex_1_value_returns_rangeindexr)    sp    	Ar15	)BZZ_FN!Q.H&($7xx27730@Ar   c                     t        dddd      } | j                  g       \  }}t        dddd      }t        j                  ||d       t	        j
                  g t        j                        }t        j                  ||       y )	Nr   rZ   r   rh   r;   TrE   r   r#  r&  s        r   %test_reindex_empty_returns_rangeindexr+    sl    	Ar15	)BZZ^FN!Q.H&($7xx"''20@Ar   c                      t        ddd      } | j                  dd      }t        dddd      }t        j                  ||d	       y )
Nr   rZ   rh   )r   r<   r5   r   r;   TrE   )r   rO   r   rJ   r   r!   r"   s      r   test_insert_empty_0_locr.    sA    	ABU	+BYYq!_F!R%0H&($7r   c                      t        d      } | j                  t        dg            }t        d      }t        j                  ||d       y )Nr   r   TrE   r   r   r   r   rJ   r-  s      r   ,test_append_non_rangeindex_return_rangeindexr1    s:    	ABYYuaSz"F!}H&($7r   c                      t        d      } | j                  t        g d            }t        g d      }t        j                  ||d       y )Nr   )r   r   rM   )r   r   r   rM   TrE   r0  r-  s      r   'test_append_non_rangeindex_return_indexr3    s:    	ABYYuY'(F\"H&($7r   c                     t        dd      } | j                  g d      \  }}t        ddd      }t        j                  ||d       t	        j
                  g d	t        j                  
      }t        j                  ||       y )Nr   rh   r;   )r   r   r   r   rM   TrE   )r   rG   rG   r   r#  r&  s        r   test_reindex_returns_rangeindexr5    sg    	AE	"BZZ	2FN!QU+H&($7xx277;0@Ar   c                     t        dd      } | j                  g d      \  }}t        g dd      }t        j                  ||d       t        j                  g dt
        j                        }t        j                  ||       y )NrM   rh   r;   r   r   r   TrE   r   )	r   r$  r   r   rJ   r   r   r%  r   r&  s        r   test_reindex_returns_indexr8    se    	AE	"BZZ	2FNYU+H&($7xx	90@Ar   c                      t        dd      } | j                  g       }t        dd      }t        j                  ||d       | j                  ddg      }t        ddd      }t        j                  ||d       y )	Nr5   rh   r;   r   TrE   r   rM   r   r   r   rJ   r-  s      r   test_take_return_rangeindexr;    sj    	AE	"BWWR[F!%(H&($7WWaV_F!QU+H&($7r   c                      t        d      } | t        j                  j                  t	        j
                  dg               }t        j                  | |       y )Nr   T)r   rR   arraysNumpyExtensionArrayr   r   r   rJ   )r   r!   s     r   *test__getitem__boolean_numpyextensionarrayr?    s?    	AB		--bhhv.>?@F"f%r   	containerc                 f    t         j                  j                  t        j                  |             S r7   )rR   r=  r>  r   r   )r  s    r   r  r    s    BII$A$A"((1+$N r   )znumpy-arrayseriesznumpy-extension-arrayr   c                 ~    t        d      }| | g d         }t        g dd      }t        j                  ||       y )Nr5   )TTFFT)r   r   rM   r   r   r   r   r   rJ   )r@  r   r!   r"   s       r    test__getitem__boolean_arraylikerE    s9     
AB	:;<FYg.H&(+r   zrng, exp_rngr   rM   rl   ir   ro   r   c                     t        | d      }|j                  dg      }t        |d      }t        j                  ||d       y )Nrh   r;   r   TrE   r:  )r  exp_rngr   r!   r"   s        r   $test_take_1_value_returns_rangeindexrH    s=     
Ce	$BWWaS\F'.H&($7r   c                      t        ddd      } t        d      j                  | g      }t        j                  || d       y )Nr   rG   TrE   )r   r   r   rJ   )r"   r!   s     r   &test_append_one_nonempty_preserve_steprJ    s8    !R$H]!!8*-F&($7r   c                      t        dd      } | j                         }| dgdz     }t        j                  ||d       y )Nr   rh   r;   TrE   r   r=   r   rJ   r   r"   r!   s      r   test_getitem_boolmask_all_truerN    s:    	AE	"BwwyH
^F&($7r   c                  z    t        dd      } | dgdz     }t        dd      }t        j                  ||d       y )Nr   rh   r;   Fr   TrE   r  r-  s      r   test_getitem_boolmask_all_falserP    s;    	AE	"B!_F!%(H&($7r   c                      t        dd      } | g d   }t        ddd      }t        j                  ||d       | g d   }t        d	dd
d      }t        j                  ||d       y )Nr   rh   r;   )FTTr   TrE   )TFTr   r   r  r-  s      r   (test_getitem_boolmask_returns_rangeindexrR    sf    	AE	"B#$F!QU+H&($7#$F!Q.H&($7r   c                  v    t        dd      } | g d   }t        g dd      }t        j                  ||       y )NrM   rh   r;   )TTFTr7  rD  r-  s      r   #test_getitem_boolmask_returns_indexrT  	  s5    	AE	"B)*FYU+H&(+r   c                      t        dd      } t        j                  t        d      5  | dg    d d d        y # 1 sw Y   y xY w)NrM   rh   r;   zBoolean index has wrong lengthr*   T)r   r.   r/   rc   )r   s    r   "test_getitem_boolmask_wrong_lengthrV    s;    	AE	"B	z)I	J 
D6
  s	   9Ac                  t    t        dd      } | j                         }| }t        j                  ||d       y )Nr   rh   r;   TrE   rL  rM  s      r   test_pos_returns_rangeindexrX    s2    	AE	"BwwyHSF&($7r   c                      t        dd      } |  }t        dddd      }t        j                  ||d       t        ddd      } |  }t        dddd      }t        j                  ||d       y )	Nr   rh   r;   r   rl   rG   TrE   r  r-  s      r   test_neg_returns_rangeindexrZ    sn    	AE	"BSF!R%0H&($7	B	&BSF!R%0H&($7r   c                 ~    t        | d      }t        |d      }t        |      }t        j                  ||d       y )Nrh   r;   TrE   )r   absr   rJ   )r  rG  r   r"   r!   s        r   test_abs_returns_rangeindexr]  )  s7     
Ce	$B'.HWF&($7r   c                      t        ddd      } t        |       }t        g dd      }t        j                  ||d       y )Nrl   r   rh   r;   )r   r   r   r   TrE   )r   r\  r   r   rJ   r-  s      r   test_abs_returns_indexr_  9  s7    	B	&BWF\.H&($7r   r  r   c                     t        | d      }| }t        |t               sJ t        t        |       d       }t	        j
                  ||d       y )Nrh   r;   FrE   )r   r   r   r   r   rJ   )r  r   r!   r"   s       r   test_invert_returns_rangeindexra  @  sL     
Ce	$BSFfj)))d3ie,,H&(%8r   r   methargmaxargminc                     t        |       }t        t        |             } t        ||              t        ||             k(  sJ y r7   )r   r   r   getattr)r  rb  r   r&   s       r   test_arg_min_maxrg  S  sB     
CB
S	
C72t"4'#t"4"6666r   c                     t        j                  t        d|  d      5   t        t	        d      |               d d d        y # 1 sw Y   y xY w)Nzattempt to get z of an empty sequencer*   r   )r.   r/   r0   rf  r   )rb  s    r   test_empty_argmin_argmax_raisesri  e  sB    	z?4&@U)V	W '$
1t$&' ' 's   AAc                      t        dddd      ddg   } t        dddd	      }t        j                  | |d
       t        dddd      dg   } t        dddd	      }t        j                  | |d
       y )Nr   rZ   r   rh   r;   rG      r   r   TrE   r   ro   r  r!   r"   s     r   'test_getitem_integers_return_rangeindexrm  k  sv    2qu-q"g6F?H&($72qu-qc2F>H&($7r   c                  v    t        dddd      g    } t        dddd      }t        j                  | |d	       y )
Nr   rZ   r   rh   r;   r   r   TrE   r  rl  s     r   $test_getitem_empty_return_rangeindexro  u  s9    2qu-b1F>H&($7r   c                  x    t        dddd      g d   } t        g ddd	      }t        j                  | |       y )
Nr   rZ   r   rh   r;   )r   r   rG   )r   r   r   r   )r   r<   rD  rl  s     r   "test_getitem_integers_return_indexrq  {  s5    2qu-j9FYgE:H&(+r   	normalizeTFr   c                     t        |d      }|j                  || ||      }t        t        |      d      j                  || ||      }t	        j
                  ||d       y )NAr;   )rr  sort	ascendingdropnaF)check_index_type)r   value_countsr   r   r   r	  )ru  rw  rv  rr  r  r   r!   r"   s           r   test_value_countsrz    sk     
Cc	"B__$)F  F T#YS)66$)F 7 H 68eDr   sider   r   value)r   r   r   r5   c                     t        ddd      }|j                  ||       }t        t        |            j                  ||       }t	        |t
              r||k(  sJ y t        j                  ||       y )Nr   r   r   )r|  r{  )r   searchsortedr   r   r   intr   r   )r{  r|  r   r!   r"   s        r   test_searchsortedr    si     
B1	B__5t_4FT"X++%d+CH%!!!
##FH5r   )3numpyr   r.   pandas.core.dtypes.commonr   pandasrR   r   r   pandas._testing_testingr   pandas.core.indexes.ranger   r	   r  r  r@   r  r!  r)  r+  r.  r1  r3  r5  r8  r;  r?  r   SeriesrE  rH  rJ  rN  rP  rR  rT  rV  rX  rZ  r]  r_  ra  rg  ri  rm  ro  rq  rz  r  r  r   r   <module>r     sm     9   9P	0 P	0f 	q1	q1	r2r	B	r2s	R 	88 	r2q	2	r2r	B	r288BB888BB8& XXryyNO:  
,
, 	q5A;	q#r	E"b"-.	q"a%1a.)888888,8	8 	q58	rE"I	r1a%2r*+	q#r	E!RO,	888 	aaaRb!QaRaA
9
9 	aAaAb"ab!Rb!RaB
 (H!567 7
7 (H!56' 7'
88, tUm4	aaaAaR	E 5E &'!231b!R.1I"JK6 L 46r   