
    Owg                     T    d dl m Z  d dlZd dlZd dlmZmZmZ d dlm	Z
  G d d      Zy)    )datetimeN)Index
RangeIndexSeriesc                   J   e Zd Zej                  j                  dddg      ej                  j                  ddi dddfd	i dddfd
i dddfdi dddfdi dddfdddidddfdddidddfg      d               Zd Zej                  j                  d eddg       e	ddg       e
j                  ddg      g  e
j                  dd       e
j                  dg      dgg      d        Zej                  j                  dd eddddd      g      d        Zd Zd Zd Zd Zd Zy)TestRangeIndexConstructorsnameNfoozargs, kwargs, start, stop, step)   r   r      )r   r   )r   r      r   )r   )r   r    startstopc                 .   t        |d|i|}t        t        j                  |||t        j                        |      }t        |t               sJ |j                  |u sJ |j                  t        |||      k(  sJ t        j                  ||d       y )Nr	   dtyper	   equivexact)r   r   nparangeint64
isinstancer	   _rangerangetmassert_index_equal)	selfargskwargsr   r   stepr	   resultexpecteds	            d/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/ranges/test_constructors.pytest_constructorz+TestRangeIndexConstructors.test_constructor   s     T7775$BHHEDQ&*---{{d"""}}eT4 8888
fhg>    c                 n   d}t        j                  t        |      5  t                d d d        t        j                  t        |      5  t        d       d d d        d}t        j                  t        |      5  t	        d       d d d        y # 1 sw Y   kxY w# 1 sw Y   GxY w# 1 sw Y   y xY w)Nz1RangeIndex\(\.\.\.\) must be called with integersmatchFoor   zKIndex\(\.\.\.\) must be called with a collection of some kind, 0 was passedr   )pytestraises	TypeErrorr   r   )r    msgs     r&   test_constructor_invalid_argsz8TestRangeIndexConstructors.test_constructor_invalid_args$   s    F]]9C0 	L	 ]]9C0 	#E"	#
" 	 ]]9C0 	!H	 		 		# 	#	 	s#   BB>B+BB(+B4r!   ab
   c                     dt        |      j                   }t        j                  t        |      5  t        |       d d d        y # 1 sw Y   y xY w)Nz+Value needs to be a scalar value, was type r*   )type__name__r-   r.   r/   r   r    r!   r0   s      r&   (test_constructor_additional_invalid_argszCTestRangeIndexConstructors.test_constructor_additional_invalid_args4   sF     <DJ<O<O;PQ]]9C0 	t	 	 	s   A		Ai  c                     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*   )r6   r-   r.   r/   r   r8   s      r&   (test_constructor_invalid_args_wrong_typezCTestRangeIndexConstructors.test_constructor_invalid_args_wrong_typeE   sC    DJ<{4&9]]9C0 	t	 	 	s   AAc                 h   t        ddd      }t        |d      }|j                  |      sJ t        |d      }t        j                  ||d       t        |      }t        j                  ||d       t	        j
                  t        d	      5  t        |d
       d d d        y # 1 sw Y   y xY w)Nr   r   r   FcopyTr   CIncorrect `dtype` passed: expected signed integer, received float64r*   float64r   )r   	identicalr   r   r-   r.   
ValueError)r    indexr$   s      r&   test_constructor_samez0TestRangeIndexConstructors.test_constructor_sameK   s    1a#E.&&&E-
fe48E"
fe48]]W
 	/ uI.		/ 	/ 	/s   B((B1c                 z    t        t        ddd            }t        ddd      }t        j                  ||d       y )Nr   r   r   Tr   )r   r   r   r   )r    r$   r%   s      r&   test_constructor_range_objectz8TestRangeIndexConstructors.test_constructor_range_object]   s4    E!QN+aA&
fhd;r(   c                 >   t        j                  t        ddd            }t        ddd      }t        j                  ||d       t        j                  t        dd            }t        ddd      }t        j                  ||d       t        j                  t        dd            }t        ddd      }t        j                  ||d       t        j                  t        d            }t        ddd      }t        j                  ||d       t        t        ddd            }t        ddd      }t        j                  ||d       d}t        j                  t        |	      5  t        j                  t        d
      d       d d d        y # 1 sw Y   y xY w)Nr   r   r   Tr      r   zI(RangeIndex.)?from_range\(\) got an unexpected keyword argument( 'copy')?r*   r4   r=   )	r   
from_ranger   r   r   r   r-   r.   r/   )r    r$   r%   r0   s       r&   test_constructor_rangez1TestRangeIndexConstructors.test_constructor_rangeb   sR   &&uQ1~6aA&
fhd;&&uQ{3aA&
fhd; &&uQ{3aA&
fhd;&&uQx0aA&
fhd;uQ1~&aA&
fhd; Y 	 ]]9C0 	8!!%)$7	8 	8 	8s   )!FFc                 <   t        d      }d|_        t        |      }d|_        |j                  dk(  sJ |j                  dk(  sJ t        |      }|j                  dk(  sJ d|_        |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ y )Nr4   originalr>   new)r   r	   r   )r    origr>   rM   s       r&   test_constructor_namez0TestRangeIndexConstructors.test_constructor_name~   s    "~	$	yyJ&&&yyF"""Dkxx6!!!yyJ&&&yyF"""xx5   r(   c                 |   t        j                  g dt              }t        dd      }|j                  j
                  t         j                  k(  sJ t        |      j                  d      }t        j                  ||d       t        j                  t        d	      5  t        d
dd
       d d d        t        j                  t        d	      5  t        ddd       d d d        t        j                  t        d	      5  t        ddd       d d d        y # 1 sw Y   mxY w# 1 sw Y   HxY w# 1 sw Y   y xY w)N)r   r         r   r   r   r   r   r   zWrong type \<class 'str'\>r*   110zWrong type \<class 'float'\>g?gffffff$@g?r?   r@   )r   arrayobjectr   valuesr   r   r   astyper   r   r-   r.   r/   rB   )r    arrrC   r%   s       r&   test_constructor_cornerz2TestRangeIndexConstructors.test_constructor_corner   s    hh|621a ||!!RXX---:$$W-
eXW= ]]9,IJ 	'sD#&	']]9,KL 	'sD#&	' ]]W
 	. q!9-		. 	.	' 	'	' 	'	. 	.s$    DD&D2D#&D/2D;)r7   
__module____qualname__r-   markparametrizer'   r1   r   r   r   rU   r   r9   r   r;   rD   rF   rJ   rO   rZ   r   r(   r&   r   r      s   [[VdE]3[[)2q!QRAq!Aq!$2q!QRAq!'1q!Q'&!aA&	
? 4?  [[3*C:BHHc3Z BIIaBHHaSMC	

 [[VeXdAq!Q-G%HI J
/$<
88!&.r(   r   )r   numpyr   r-   pandasr   r   r   pandas._testing_testingr   r   r   r(   r&   <module>rc      s)       
 V. V.r(   