3
Ud                 @   sL   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j	Z
G dd dZdS )    )datetimeN)Index
RangeIndexSeriesc               @   s@  e Zd Zejjdddgejjdd e dddfd!e dddfd"e dddfd#e dddfd$e dddfe edd	dddfe edd
dddfgdd Zd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d Zej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S )%TestRangeIndexConstructorsnameNZfoozargs, kwargs, start, stop, step   r         )start)stopc       	      C   sp   t |d|i|}ttj|||tjd|d}t|t s<t|j|ksJt|jt	|||ks`tt
j|| d S )Nr   )dtype)r   )r   r   nparangeint64
isinstanceAssertionErrorr   Z_rangerangetmassert_index_equal)	selfargskwargsr   r   stepr   resultexpected r   a/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/indexes/ranges/test_constructors.pytest_constructor   s    z+TestRangeIndexConstructors.test_constructorc             C   sr   d}t jt|d t  W d Q R X t jt|d tdd W d Q R X d}t jt|d td W d Q R X d S )Nz1RangeIndex\(\.\.\.\) must be called with integers)matchZFoo)r   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   s6   dt |j }tjt|d t| W d Q R X 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_args0   s    zCTestRangeIndexConstructors.test_constructor_additional_invalid_argsi  c          	   C   s:   dt | d| }tjt|d t| W d Q R X d S )NzWrong type z for value )r   )r(   r    r!   r"   r   )r   r   r#   r   r   r   (test_constructor_invalid_args_wrong_typeA   s    zCTestRangeIndexConstructors.test_constructor_invalid_args_wrong_typec             C   s   t ddd}t |dd}|j|s&tt |dd}tj||dd t |}tj||dd tjtdd	 t |d
d W d Q R X d S )Nr	   r   r
   F)copyT)exactzCIncorrect `dtype` passed: expected signed integer, received float64)r   float64)r   )r   Z	identicalr   r   r   r    r!   
ValueError)r   indexr   r   r   r   test_constructor_sameG   s    
z0TestRangeIndexConstructors.test_constructor_samec             C   sl  d}t jt|d ttddd}W d Q R X tjtddd}tddd}tj||dd tjtdd}tddd}tj||dd tjtdd}td	d	d}tj||dd tjtd}td	dd}tj||dd ttddd}tddd}tj||dd t jt	d
d ttddddd W d Q R X d}t jt|d tjtddd W d Q R X d S )Nz0Value needs to be a scalar value, was type range)r   r	   r   r
   T)r-      r   zCIncorrect `dtype` passed: expected signed integer, received float64r.   )r   z2^from_range\(\) got an unexpected keyword argumentr'   )r,   )
r    r!   r"   r   r   Z
from_ranger   r   r   r/   )r   r#   r   r   r   r   r   test_constructor_rangeZ   s2    
z1TestRangeIndexConstructors.test_constructor_rangec             C   s   t d}d|_t |}d|_|jdks*t|jdks8tt|}|jdksNtd|_|jdksbt|jdkspt|jdks~td S )Nr'   originalr,   new)r   r   r   r   )r   origr,   r5   r   r   r   test_constructor_name~   s    z0TestRangeIndexConstructors.test_constructor_namec             C   s   t jddddgtd}tdd}|jjt jks2ttj	|t
| tjtdd td	d
d	 W d Q R X tjtdd tddd W d Q R X tjtdd tdddd W d Q R X d S )Nr	   r
         )r   r   zWrong type \<class 'str'\>)r   110zWrong type \<class 'float'\>g?gffffff$@g?zCIncorrect `dtype` passed: expected signed integer, received float64r.   )r   arrayobjectr   valuesr   r   r   r   r   r   r    r!   r"   r/   )r   Zarrr0   r   r   r   test_constructor_corner   s    

z2TestRangeIndexConstructors.test_constructor_corner)r   )r	   r   )r	   r   r
   )r   )r   r   )r)   
__module____qualname__r    markZparametrizedicttupler   r$   r   r   r   r<   r   r*   r   r+   r1   r3   r7   r?   r   r   r   r   r   
   s2   $



&$r   )r   Znumpyr   r    Zpandasr   r   r   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s
   
