
    Pi%t                     P   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                            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                            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                            dej        ej        d gg d          d              Ze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                            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                            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                            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                            d8d9d:g          d;                         Z,ej                            d8d:d9g          d<             Z-d= Z.d> Z/d? Z0ej                            d@dAdBg          ej                            d4 ed"           ed            ed d"d	           ed"dCd$          g          dD                         Z1ej                            dEdFdGg          ej                            dHd d5ddC ej        g dI          g          dJ                         Z2dS )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	        
                    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	        
                    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	        
                    d)d*d+g          d,             Z!d- Z"d. Z#d/ Z$d0 Z%ej	        
                    d1 edd2d	d34           ed5dd#d64          gd7d8g9          d:             Z&d; Z'd< Z(d= Z)ej	        
                    d> e* e+d?d@                    dhz
            dA             Z,e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	        
                    dT eddd           eddd           edd d	           eddd#           edUd?d#          g          dV             Z0ej	        
                    dW edd	           e-ddg          g          dX             Z1dY Z2dZ Z3d[S )\TestRangeIndexc                 &    t          ddd          S )Nr         startstopstep)r   )selfs    z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/indexes/ranges/test_range.pysimple_indexzTestRangeIndex.simple_index   s    3333    c                     t          dd          }t          j        ddgt          j                  }t	          j        |j        |           d S )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   sF    Aq!!8QF"(333
#FL(;;;;;r   c                 L    |}|d         }|                     |          du sJ d S )Nr   F)$_can_hold_identifiers_and_holds_name)r   r   idxkeys       r   test_can_hold_identifiersz(TestRangeIndex.test_can_hold_identifiers   s5    !f77<<EEEEEEr   c                     |}t          j        t          d          5  ddg|_        d d d            d S # 1 swxY w Y   d S )Nz^Lengthmatchrogerharold)pytestraises
ValueErrornamesr   r   indexs      r   test_too_many_namesz"TestRangeIndex.test_too_many_names   s    ]:Y777 	. 	."H-EK	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   
599zindex, start, stop, step   r   r   r   )r   c                 T    |j         |k    sJ |j        |k    sJ |j        |k    sJ d S Nr   )r   r3   r   r   r   s        r   test_start_stop_step_attrsz)TestRangeIndex.test_start_stop_step_attrs#   sC     {e####zT!!!!zT!!!!!!r   c                     t          dd          }|                                }||usJ |                    |          sJ |j        t	          ddd          k    sJ |j        dk    sJ d S )Nr5   Foonamer   r   )r   copy	identical_rangeranger<   )r   ii_copys      r   	test_copyzTestRangeIndex.test_copy2   s~    qu%%%Q"""""}aA....{e######r   c                 F   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           d S )
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444q!R  a9!!!!f
fat444444r   c                 |   t          dd          }|dd         }t          j        |dd         |                    d|d                   d           t	          dt
          j        dd	d
dgt
          j                  }t
          j        d t          j	        fD ]:}t          d                              d|          }t          j        ||           ;t          d                              dt          j
                  }t	          dt          j
        dd	d
dgt                    }t          j        ||           d S )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   '''QqS 	c!A#haQ(@(@PPPP !RVQ1a0
CCC64' 	4 	4B]]))!R00F!&(3333A%%a00!RVQ1a0???
fh/////r   c                 n   t          t          ddd                    }|                    dd          }t          t          ddd                    }t          j        ||d           |                    dd          }t          t          dd	d                    }t          j        ||d           d S )
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NN##Aq!!q!Q((
fhd;;;;Ar""q"a))
fhd;;;;;;r   c                 B   t          t          ddd                    }|                    dd          }t          t          d                    }t          j        ||d           |dz  }|                    dd          }|dz  }t          j        ||d           d S )Nr   r   r   r   TrE   r\   r]   s       r   'test_insert_middle_preserves_rangeindexz6TestRangeIndex.test_insert_middle_preserves_rangeindexg   s    E!QNN##Aq!!q??
fhd;;;;AgAq!!a<
fhd;;;;;;r   c                    t          dd          }|dd          }|                    d          }t          j        ||d           |j        |j        k    sJ |d d         }|                    d          }t          j        ||d           |j        |j        k    sJ d	}t          j        t          t          f|
          5  |                    t          |                    }d d d            d S # 1 swxY w Y   d S )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@   '''qrr7A
fhd;;;;{hm++++ss8B
fhd;;;;{hm++++?]J
33??? 	* 	*ZZC))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   #C66C:=C:c                 0   t          t          d          d          }|                    dg          }t          t          d          d          }t          j        ||d           |                    d          }t          j        ||d           d S )Nr   foor;   r   TrE   r   r@   rb   r   rJ   r]   s       r    test_delete_preserves_rangeindexz/TestRangeIndex.test_delete_preserves_rangeindex   s    E!HH5)))QCq...
fhd;;;;A
fhd;;;;;;r   c                    t          t          d          d          }|                    d          }|d d d         }t          j        ||d           |                    d          }t          j        ||d           d S )	Nr   rh   r;   r   r   TrE   ri   r]   s       r   'test_delete_preserves_rangeindex_middlez6TestRangeIndex.test_delete_preserves_rangeindex_middle   s}    E!HH5)))Asss8
fhd;;;;B
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }|d d         }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )	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   s    Aq!!llCrr7
fhd;;;;C"I&&
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }t          ddd          }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )	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   s    Aq!!llCaA&&
fhd;;;;C"I&&
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }|d d         }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )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   s    Aq!!   Crr7
fhd;;;;C"I&&
fhd;;;;;;r   c                    t          ddd          }g d}|                    |          }t          g d          }t          j        ||d           |                    |d d d                   }t          j        ||d           d S )	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   s    Aq!!iiC##
fhd;;;;C"I&&
fhd;;;;;;r   c                     t          dd          }|                                }|j        dk    sJ |                    d          }t          j        |j        |           d S )Nr   r:   r;   i8)r   viewr<   r   r   values)r   rA   i_views      r   	test_viewzTestRangeIndex.test_view   s^    qu%%%{e####
#AHf55555r   c                 8    |}|j         t          j        k    sJ d S r7   )r   r   r   r2   s      r   
test_dtypezTestRangeIndex.test_dtype   s"    {bh&&&&&&r   c                 B   t          ddd          }|j        i k    sJ t          |           |j        i k    sJ t          |           |j        i k    sJ |                    d           |j        i k    sJ d|v  |j        i k    sJ d|v  |j        i k    sJ |                                 |j        i k    s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            n# 1 swxY w Y   |j        i k    sJ |j
        dd	          |j        i k    sJ |j        dd          |j        i k    s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         |           d S )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$$zRS			zRCzRBzR
c		zR
c		zR			zR			zR 	 	AzR\3b		*#666 	BzR
r

zR]84000 	 	F2JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	zR
r"uzR
"zR 	cj((((
tcj((((
  cj(((( 			#)RZ00000yCI%%%%#*$$$$9QRw777
#CJw$7BBBBBs   %E??FF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 d S )	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  s7   1b!$$,4444,4444,55556$>>>>6%????1a$$,55556%????,44446$>>>>1a  ,4444,4444,44446$>>>>6$>>>>1a  ,4444,4444,44446$>>>>6$>>>>1a  ,4444,4444,44446$>>>>6$>>>>>>r   z
left,rightrY   rZ   rG   r   rM   irl   c                 b    |                     |          sJ |                     |          sJ d S r7   )equals)r   leftrights      r   test_equals_rangez TestRangeIndex.test_equals_range9  s:     {{5!!!!!||D!!!!!!!r   c                     |}|                                 |j                                         k    sJ |                                |j                                        k    sJ d S r7   )r   r}   r   )r   r   r&   s      r   test_logical_compatz"TestRangeIndex.test_logical_compatF  sW    wwyyCJNN,,,,,,wwyyCJNN,,,,,,,,r   c                    |}t          |                                          }|                    |          sJ t          |t                    rd S t          |t
                    }|                    |          rJ |                    t
                    }|                    d          }t          |t
                    }|                    |                    t
                              sJ |                    |          rJ t          |dt
                                        |          sJ |                    t
                                        |                    d                    rJ d S )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  sR   %**,,{{5!!!!! eZ(( 	F%*1F%;%;%;";;9:::::JJVJ$$HHUOOAV,,,$$UZZfZ%=%=>>>>>;;u%%%%%[uF;;;EEaHHHHH::F:++55ejjwj6O6OPPP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 d S )Nr   i  rZ   )r   nbytesr   _values)r   r&   i2s      r   test_nbyteszTestRangeIndex.test_nbytesa  sb    D!!zE#+..5::::: 2zRY&&&&&&r   zstart,stop,step)rh   barbaz)012c                     dt          |           d| }t          j        t          |          5  t	          |||           d d d            d S # 1 swxY w Y   d S )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  s     <DKK;;E;;]9C000 	* 	*udD)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AAAc                     |}d}t          j        t          |          5  |                    t                     d d d            d S # 1 swxY w Y   d S )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  s    9 	 ]9C000 	 	JJu	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                 b    |}|                     d          }|j        t          j        k    sJ d S )NO)astyper   r   object_r   r   r3   r!   s       r   test_prevent_castingz#TestRangeIndex.test_prevent_casting  s3    c""|rz))))))r   c                 h    |}t          j        t          t          |                    |           d S r7   )r   rJ   rI   rH   r2   s      r   test_repr_roundtripz"TestRangeIndex.test_repr_roundtrip  s.    
d4;;//77777r   c                 ^    t          ddd          }|j        |dd          j        k    sJ d S )Nr   r   asdfr;   )r   r<   r   r&   s     r   test_slice_keep_namez#TestRangeIndex.test_slice_keep_name  s9    AF+++x3qrr7<''''''r   r3   r   rh   r   r   r   r<      r   	index_inc	index_decidsc                 *    |j         sJ |j        rJ d S r7   )	is_uniquehas_duplicatesr   s     r   test_has_duplicatesz"TestRangeIndex.test_has_duplicates  s&     ''''''r   c                    |}|                     dd          }|d         |d         dz  |d         dz  z   k    sJ d|d         k    sJ |                     dd          }d|d         dz  |d         dz  z   k    sJ d|d         k    sJ d S )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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 d S )	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3&      r   c                 r   |}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
           d S )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 AAAh
k8444 AbFm"b...
k87CCCC Br"Ho"b...
k87CCCC Ac!Gn!Ru---
k87CCCC DDbDkddd+%888
k87CCCCBFFm///
k87CCCCCGGn"BH555EBBB
k87CCCCBFFmbf"f-E:::
k87CCCCBFFmddd+%888
k87CCCCCCr   r   r   ro   c                     |dk    rdnd\  }}t          j        |||          }t          |||          }t          |          t          |          k    sJ t          |||          }t          |          dk    sJ d S )Nr   )r   r5   )r5   r   )r   r   r   rd   )r   r   r   r   arrr3   s         r   test_len_specialisedz#TestRangeIndex.test_len_specialised  s     !%qffftitT**5$--5zzSXX%%%%4--5zzQ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                              |dd                    }t          j        ||d           t          |          dk    r:|d                              |d                   }t          j        ||d           d S d S )Nr   r   TrE   r   )appendr   rJ   rd   )r   indicesr"   r!   result2s        r   test_appendzTestRangeIndex.test_append  s    @ ""7122;//
fhd;;;;w<<1aj''
33G!'84@@@@@@ r   c           	      @   t          ddd          }|                    d          dk    sJ t          j        |                    ddg          t          t          j        ddg                               t          j	        t          d	          5  |                    d           d d d            n# 1 swxY w Y   d
|j        vsJ t          j	        t          d	          5  |                    d           d d d            n# 1 swxY w Y   d
|j        vsJ d S )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&9I9I%J%J	
 	
 	
 ]83/// 	 	KKNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
**** ]85111 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
******s$   B55B9<B9&DDDrir   c                 ^    |                     g           }t          j        ||d           d S )NTrE   )r   r   rJ   )r   r   r!   s      r   test_append_len_onez"TestRangeIndex.test_append_len_one7  s1     2
fb555555r   basec                     t          dd          }|                    |          }t          j        ddg          }t	          j        ||           d S )Nr   r   TF)r   isinr   r   r   r   )r   r   r}   r!   r"   s        r   test_isin_rangezTestRangeIndex.test_isin_rangeF  sP     Aq!!6""8T5M**
#FH55555r   c                 l   ddddddt          ddd          }|                    fd          }t          g d	d
          }t          j        ||d           |                                }|                    fd          }t          j        ||                                d           d S )Nr   r   r   rZ   r   )r   ro   rM   r   r   c                 .    |                                S r7   mapx
sort_orders    r   <lambda>z5TestRangeIndex.test_sort_values_key.<locals>.<lambda>R  s    !%%
2C2C r   )r'   )ro   r   rM   r   r   r   r   T)check_exactc                 .    |                                S r7   r   r  s    r   r  z5TestRangeIndex.test_sort_values_key.<locals>.<lambda>X  s    j0A0A 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5
Ar1%%##(C(C(C(C#DD888
fhDAAAA   //&A&A&A&A/BB
w(:(:(<(<$OOOOOOr   c                 z    dt          ddd          z
  }t          ddd          }t          j        ||           d S )Nr   r   rM   r   rG   r   r   rJ   r    s      r   test_range_index_rsub_by_constz-TestRangeIndex.test_range_index_rsub_by_const[  sB    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	      si	       ^4 4 ^4< < <
F F F
. . .
 ["Z]]Aq!$Z1q!Q'Z"""Aq!,Z1a  !Q*		
 " " "$ $ $5 5 5"0 0 0"	< 	< 	<
< 
< 
<* * *"< < << < <	< 	< 	<	< 	< 	<	< 	< 	<	< 	< 	<6 6 6' ' 'EC EC ECN!? !? !?F [Z1a  **QA"6"67Z]]JJq"a001Z1a  **Q1"5"56Z2r""JJq#r$:$:;		
 " " "- - -
Q Q Q,' ' ' [ "		
 * * *
  * * *
8 8 8( ( ( [JQRae<<<JRbr>>>	
 +&   ( ( (  ! ! !$5D 5D 5Dn [VSSr1%6%6!%<==	 	 >=	 [jB""#ZZ2q%9%9:jAq!!"JJq!Q$7$78jA

1a 0 01::a3C3CDjAq!!::a#3#34jjAq6I6IJjAq!!::aA#6#67Aq!9L9LMjQ""JJq!Q$7$78**RA:N:NOjR  **R"5"56

1a8H8HIjR  **Q"3"34jjA6F6FGjR  **Q"2"23ZZ15E5EFjR  **Q"2"23UU>>>5J5JKjnnjjA../Aq1A1ABjmmZZ]]+UU<<<-@-@AjmmZZ1--zz!Q/B/BCZZPQSTEUEUVA

1a 0 0**Q12E2EFooo&&
 B""JJq!$4$4jjAq6I6IJ
2q!! jmmUU;;;//0%%8L8L8L2M2MNjmmUU???334ee<T<T<T6U6UVjmmUU???334ee<T<T<T6U6UVjAooo 6 679O9OP3	
 <A A= <A+ + +, [Jq"b!!Jq!QJq!QJq"b!!Jr2r""	
	 	6 6	 	6
 [VjjA&6&6q!f%FGG6 6 HG6P P P0 0 0 0 0r   r	   zrng, decimalsr5   r   rZ      rG   r   c                     t          |           }|                                }|                    |          }t          j        ||d           d S N)decimalsTrE   )r   r=   roundr   rJ   rngr  r   r"   r!   s        r   #test_range_round_returns_rangeindexr  b  sM     
CBwwyyHXXxX((F&($777777r   r   r[   r   c                     t          |           }t          t          |                                         |          }|                    |          }t	          j        ||d           d S r  )r   r   listr  r   rJ   r  s        r   test_range_round_returns_indexr!  r  sd     
CBT#YY%%x%88HXXxX((F&($777777r   c                     t          dddd          } |                     dg          \  }}t          dddd          }t          j        ||d           t	          j        d	gt          j        
          }t          j        ||           d S )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)    s    	Ar15	)	)	)BZZ__FN!Q...H&($7777x273330@AAAAAr   c                     t          dddd          } |                     g           \  }}t          dddd          }t          j        ||d           t	          j        g t          j                  }t          j        ||           d S )	Nr   rZ   r   rh   r;   TrE   r   r#  r&  s        r   %test_reindex_empty_returns_rangeindexr+    s    	Ar15	)	)	)BZZ^^FN!Q...H&($7777x"'2220@AAAAAr   c                      t          ddd          } |                     dd          }t          dddd          }t          j        ||d	           d S )
Nr   rZ   rh   )r   r<   r5   r   r;   TrE   )r   rO   r   rJ   r   r!   r"   s      r   test_insert_empty_0_locr.    s[    	ABU	+	+	+BYYq!__F!R%000H&($777777r   c                      t          d          } |                     t          dg                    }t          d          }t          j        ||d           d S )Nr   r   TrE   r   r   r   r   rJ   r-  s      r   ,test_append_non_rangeindex_return_rangeindexr1    sO    	ABYYuaSzz""F!}}H&($777777r   c                      t          d          } |                     t          g d                    }t          g d          }t          j        ||d           d S )Nr   )r   r   rM   )r   r   r   rM   TrE   r0  r-  s      r   'test_append_non_rangeindex_return_indexr3    sY    	ABYYuYYY''((F\\\""H&($777777r   c                     t          dd          } |                     g d          \  }}t          ddd          }t          j        ||d           t	          j        g d	t          j        
          }t          j        ||           d S )Nr   rh   r;   )r   r   r   r   rM   TrE   )r   rG   rG   r   r#  r&  s        r   test_reindex_returns_rangeindexr5    s    	AE	"	"	"BZZ			22FN!QU+++H&($7777x27;;;0@AAAAAr   c                     t          dd          } |                     g d          \  }}t          g dd          }t          j        ||d           t          j        g dt
          j                  }t          j        ||           d S )NrM   rh   r;   r   r   r   TrE   r   )	r   r$  r   r   rJ   r   r   r%  r   r&  s        r   test_reindex_returns_indexr8    s    	AE	"	"	"BZZ			22FNYYYU+++H&($7777x			9990@AAAAAr   c                  "   t          dd          } |                     g           }t          dd          }t          j        ||d           |                     ddg          }t          ddd          }t          j        ||d           d S )	Nr5   rh   r;   r   TrE   r   rM   r   r   r   rJ   r-  s      r   test_take_return_rangeindexr;    s    	AE	"	"	"BWWR[[F!%(((H&($7777WWaV__F!QU+++H&($777777r   c                      t          d          } | t          j                            t	          j        dg                             }t          j        | |           d S )Nr   T)r   rR   arraysNumpyExtensionArrayr   r   r   rJ   )r   r!   s     r   *test__getitem__boolean_numpyextensionarrayr?    sL    	AB	--bhv.>.>??@F"f%%%%%r   	containerc                 d    t           j                            t          j        |                     S r7   )rR   r=  r>  r   r   )r  s    r   r  r    s    BI$A$A"(1++$N$N r   )znumpy-arrayseriesznumpy-extension-arrayr   c                     t          d          }| | g d                   }t          g dd          }t          j        ||           d S )Nr5   )TTFFT)r   r   rM   r   r   r   r   r   rJ   )r@  r   r!   r"   s       r    test__getitem__boolean_arraylikerE    sY     
AB		:::;;<FYYYg...H&(+++++r   zrng, exp_rngr   rM   rl   ir   ro   r   c                     t          | d          }|                    dg          }t          |d          }t          j        ||d           d S )Nrh   r;   r   TrE   r:  )r  exp_rngr   r!   r"   s        r   $test_take_1_value_returns_rangeindexrH    sW     
Ce	$	$	$BWWaS\\F'...H&($777777r   c                      t          ddd          } t          d                              | g          }t          j        || d           d S )Nr   rG   TrE   )r   r   r   rJ   )r"   r!   s     r   &test_append_one_nonempty_preserve_steprJ    sL    !R$$H]]!!8*--F&($777777r   c                      t          dd          } |                                 }| dgdz           }t          j        ||d           d S )Nr   rh   r;   TrE   r   r=   r   rJ   r   r"   r!   s      r   test_getitem_boolmask_all_truerN    sN    	AE	"	"	"BwwyyH
^F&($777777r   c                      t          dd          } | dgdz           }t          dd          }t          j        ||d           d S )Nr   rh   r;   Fr   TrE   r  r-  s      r   test_getitem_boolmask_all_falserP    sS    	AE	"	"	"B!_F!%(((H&($777777r   c                      t          dd          } | g d         }t          ddd          }t          j        ||d           | g d         }t          d	dd
d          }t          j        ||d           d S )Nr   rh   r;   )FTTr   TrE   )TFTr   r   r  r-  s      r   (test_getitem_boolmask_returns_rangeindexrR    s    	AE	"	"	"B###$F!QU+++H&($7777###$F!Q...H&($777777r   c                      t          dd          } | g d         }t          g dd          }t          j        ||           d S )NrM   rh   r;   )TTFTr7  rD  r-  s      r   #test_getitem_boolmask_returns_indexrT  	  sT    	AE	"	"	"B)))*FYYYU+++H&(+++++r   c                      t          dd          } t          j        t          d          5  | dg          d d d            d S # 1 swxY w Y   d S )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	J	J  
D6

                 s   
AAAc                      t          dd          } |                                 }| 
 }t          j        ||d           d S )Nr   rh   r;   TrE   rL  rM  s      r   test_pos_returns_rangeindexrX    sF    	AE	"	"	"BwwyyHSF&($77777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           d S )	Nr   rh   r;   r   rl   rG   TrE   r  r-  s      r   test_neg_returns_rangeindexrZ    s    	AE	"	"	"BSF!R%000H&($7777	B	&	&	&BSF!R%000H&($777777r   c                     t          | d          }t          |d          }t          |          }t          j        ||d           d S )Nrh   r;   TrE   )r   absr   rJ   )r  rG  r   r"   r!   s        r   test_abs_returns_rangeindexr]  )  sQ     
Ce	$	$	$B'...HWWF&($777777r   c                      t          ddd          } t          |           }t          g dd          }t          j        ||d           d S )Nrl   r   rh   r;   )r   r   r   r   TrE   )r   r\  r   r   rJ   r-  s      r   test_abs_returns_indexr_  9  sU    	B	&	&	&BWWF\\\...H&($777777r   r  r   c                     t          | d          }| }t          |t                     sJ t          t          |           d           }t	          j        ||d           d S )Nrh   r;   FrE   )r   r   r   r   r   rJ   )r  r   r!   r"   s       r   test_invert_returns_rangeindexra  @  sl     
Ce	$	$	$BSFfj)))))d3iie,,,,H&(%888888r   r   methargmaxargminc                     t          |           }t          t          |                     } t          ||                       t          ||                      k    sJ d S r7   )r   r   r   getattr)r  rb  r   r&   s       r   test_arg_min_maxrg  S  s^     
CB
S		

C72t"4'#t"4"4"6"6666666r   c                     t          j        t          d|  d          5   t          t	          d          |                        d d d            d S # 1 swxY w Y   d S )Nzattempt to get z of an empty sequencer*   r   )r.   r/   r0   rf  r   )rb  s    r   test_empty_argmin_argmax_raisesri  e  s    	z)V4)V)V)V	W	W	W ' '$
1t$$&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   &A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
           d S )Nr   rZ   r   rh   r;   rG      r   r   TrE   r   ro   r  r!   r"   s     r   'test_getitem_integers_return_rangeindexrm  k  s    2qu---q"g6F???H&($77772qu---qc2F>>>H&($777777r   c                      t          dddd          g          } t          dddd          }t          j        | |d	           d S )
Nr   rZ   r   rh   r;   r   r   TrE   r  rl  s     r   $test_getitem_empty_return_rangeindexro  u  sQ    2qu---b1F>>>H&($777777r   c                      t          dddd          g d         } t          g ddd	          }t          j        | |           d S )
Nr   rZ   r   rh   r;   )r   r   rG   )r   r   r   r   )r   r<   rD  rl  s     r   "test_getitem_integers_return_indexrq  {  sR    2qu---jjj9FYYYgE:::H&(+++++r   	normalizeTFr   c                     t          |d          }|                    || ||          }t          t          |          d                              || ||          }t	          j        ||d           d S )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    s     
Cc	"	"	"B__$)F   F T#YYS)))66$)F 7  H 68eDDDDDDr   sider   r   value)r   r   r   r5   c                     t          ddd          }|                    ||           }t          t          |                                        ||           }t	          |t
                    r
||k    sJ d S t          j        ||           d S )Nr   r   r   )r|  r{  )r   searchsortedr   r   r   intr   r   )r{  r|  r   r!   r"   s        r   test_searchsortedr    s     
B1		B__5t_44FT"XX++%d+CCH% 6!!!!!!
#FH5555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     s        9 9 9 9 9 9                  9 9 9 9 9 9P	0 P	0 P	0 P	0 P	0 P	0 P	0 P	0f 	q1	q1	r2r		B	r2s		R 	 8 8 8 	r2q		2	r2r		B	r2 8 8 8B B BB B B8 8 88 8 88 8 8B B BB B B8 8 8& & & XryNNO:::   
, , 
, 	q55A;;	q#r		EE"b"--.	q"a%%1a..) 8 8 88 8 88 8 88 8 88 8 8, , ,  8 8 8	8 	8 	8 	q5588	rEE"II	r1a%%2r**+	q#r		EE!ROO,	 8 8 88 8 8 	aaaRb!QaRaA
 
9 9
 
9 	aAaAb"ab!Rb!RaB
 
 (H!5667 7 76
 
7 (H!566' ' 76'
8 8 88 8 8, , , tUm44	aaaAaR	 E E  54E &'!2331b!R...1I1I"JKK6 6 LK 436 6 6r   