a
    Pf                     @   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nameNZ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 sJJ |jt|||ks`J 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   f/var/www/ai-form-bot/venv/lib/python3.9/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.0    Y  t jt|d tdd W d    n1 sf0    Y  d}t jt|d td W d    n1 s0    Y  d S )Nz1RangeIndex\(\.\.\.\) must be called with integersmatchZ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   sJ   dt |j }tjt|d t| W d    n1 s<0    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   sN   dt | d| }tjt|d t| W d    n1 s@0    Y  d S )NzWrong type z for value r$   )r.   r&   r'   r(   r   r0   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    n1 s0    Y  d S )Nr	   r   r
   FcopyTr   CIncorrect `dtype` passed: expected signed integer, received float64r$   float64r   )r   Z	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    n1 s0    Y  d S )Nr	   r   r
   Tr      r   zI(RangeIndex.)?from_range\(\) got an unexpected keyword argument( 'copy')?r$   r-   r3   )	r   Z
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s8J t|}|jdksNJ d|_|jdksbJ |jdkspJ |jdks~J d S )Nr-   originalr4   new)r   r   r   )r   origr4   r>   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|0    Y  tjtdd	 tddd W d    n1 s0    Y  tjtdd	 tdddd W d    n1 s0    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?r5   r6   )r   arrayobjectr   valuesr   r   r   Zastyper   r   r&   r'   r(   r7   )r   Zarrr8   r!   r   r   r"   test_constructor_corner   s    
**z2TestRangeIndexConstructors.test_constructor_corner)r/   
__module____qualname__r&   markZparametrizer#   r*   r   r   r   rE   r   r1   r   r2   r9   r:   r<   r@   rH   r   r   r   r"   r      sB   





r   )r   numpyr   r&   Zpandasr   r   r   Zpandas._testingZ_testingr   r   r   r   r   r"   <module>   s
   