o
    ŀg                     @   sN   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 dZdS )    )datetimeN)Index
RangeIndexSeriesc                   @   s6  e Zd Zejdddge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d Zdd Zejdeddge	ddge
ddgg e
dde
dgdggdd Zejddedddddgdd Zdd Zd d! Zd"d# Zd$d% Zd&d' ZdS )(TestRangeIndexConstructorsnameNfoozargs, kwargs, start, stop, step)   r   r	      )r
   r	   )r
   r	      r   )r   )r   r    startstopc           	      C   st   t |d|i|}ttj|||tjd|d}t|t sJ |j|u s%J |jt|||ks0J t	j
||dd d S )Nr   dtyper   equivexact)r   r   nparangeint64
isinstancer   _rangerangetmassert_index_equal)	selfargskwargsr   r   stepr   resultexpectedr   r   a/var/www/html/myenv/lib/python3.10/site-packages/pandas/tests/indexes/ranges/test_constructors.pytest_constructor   s   z+TestRangeIndexConstructors.test_constructorc                 C   s   d}t jt|d t  W d    n1 sw   Y  t jt|d tdd W d    n1 s3w   Y  d}t jt|d td W d    d S 1 sQw   Y  d S )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   msgr   r   r#   test_constructor_invalid_args$   s   
"z8TestRangeIndexConstructors.test_constructor_invalid_argsr   ab
   c                 C   sL   dt |j }tjt|d t| W d    d S 1 sw   Y  d S )Nz+Value needs to be a scalar value, was type r%   )type__name__r(   r)   r*   r   r   r   r+   r   r   r#   (test_constructor_additional_invalid_args4   s   
"zCTestRangeIndexConstructors.test_constructor_additional_invalid_argsi  c                 C   sP   dt | d| }tjt|d t| W d    d S 1 s!w   Y  d S )NzWrong type z for value r%   )r0   r(   r)   r*   r   r2   r   r   r#   (test_constructor_invalid_args_wrong_typeE   s   
"zCTestRangeIndexConstructors.test_constructor_invalid_args_wrong_typec                 C   s   t ddd}t |dd}||sJ t |dd}tj||dd t |}tj||dd tjtdd	 t |d
d W d    d S 1 sFw   Y  d S )Nr
   r	   r   FcopyTr   CIncorrect `dtype` passed: expected signed integer, received float64r%   float64r   )r   	identicalr   r   r(   r)   
ValueError)r   indexr!   r   r   r#   test_constructor_sameK   s   "z0TestRangeIndexConstructors.test_constructor_samec                 C   s0   t tddd}t ddd}tj||dd d S )Nr
   r	   r   Tr   )r   r   r   r   )r   r!   r"   r   r   r#   test_constructor_range_object]   s   z8TestRangeIndexConstructors.test_constructor_range_objectc                 C   s&  t tddd}t ddd}tj||dd t tdd}t ddd}tj||dd t tdd}t ddd}tj||dd t td}t ddd}tj||dd ttddd}t ddd}tj||dd d}tjt|d	 t jtd
dd W d    d S 1 sw   Y  d S )Nr
   r	   r   Tr      r   zI(RangeIndex.)?from_range\(\) got an unexpected keyword argument( 'copy')?r%   r/   r5   )	r   
from_ranger   r   r   r   r(   r)   r*   )r   r!   r"   r+   r   r   r#   test_constructor_rangeb   s(   "z1TestRangeIndexConstructors.test_constructor_rangec                 C   s   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s1J |jdks8J |jdks?J d S )Nr/   originalr6   new)r   r   r   )r   origr6   rB   r   r   r#   test_constructor_name~   s   z0TestRangeIndexConstructors.test_constructor_namec                 C   s  t jg dtd}tdd}|jjt jksJ t|d}t	j
||dd tjtdd	 td
dd
 W d    n1 s>w   Y  tjtdd	 tddd W d    n1 s[w   Y  tjtdd	 tdddd W d    d S 1 szw   Y  d S )N)r
   r         r   r
   r	   r   r   r   zWrong type \<class 'str'\>r%   110zWrong type \<class 'float'\>g?gffffff$@g?r7   r8   )r   arrayobjectr   valuesr   r   r   astyper   r   r(   r)   r*   r:   )r   arrr;   r"   r   r   r#   test_constructor_corner   s"   
"z2TestRangeIndexConstructors.test_constructor_corner)r1   
__module____qualname__r(   markparametrizer$   r,   r   r   r   rI   r   r3   r   r4   r<   r=   r@   rD   rN   r   r   r   r#   r      sD    





r   )r   numpyr   r(   pandasr   r   r   pandas._testing_testingr   r   r   r   r   r#   <module>   s    