U
    Mf(	                     @   s.   d dl Zd dlZd dlmZ G dd dZdS )    N)TimedeltaArrayc                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestTimedeltaArrayConstructorc              	   C   sx   t jddddgddd}tjtdd	 t|ddd W 5 Q R X tjtdd	 t|dg   W 5 Q R X d S )
Nr            zm8[h]dtypem8[ns]zOnly 1-dimensionalmatch)	nparrayZastypepytestraises
ValueErrorr   ZreshapeZsqueeze)selfarr r   T/tmp/pip-unpacked-wheel-eb6vo0j3/pandas/tests/arrays/timedeltas/test_constructors.pytest_only_1dim_accepted   s
    z5TestTimedeltaArrayConstructor.test_only_1dim_acceptedc              	   C   sR   t jdddgt jdd d }d}tjt|d t|dd	d
 W 5 Q R X d S )Nr   r   r   i  i ʚ;zQInferred frequency None from passed values does not conform to passed frequency Dr
   ztimedelta64[ns]D)freq)r   r   int64r   r   r   r   view)r   r   msgr   r   r   test_freq_validation   s
    z2TestTimedeltaArrayConstructor.test_freq_validationc              	   C   s,   t jtdd tdddg W 5 Q R X d S )Nlistr
   r   r   r   )r   r   r   r   r   r   r   r   test_non_array_raises   s    z3TestTimedeltaArrayConstructor.test_non_array_raisesc              	   C   s6   t jtdd ttjdddgdd W 5 Q R X d S )Nzdtype bool cannot be convertedr
   r   r   r   boolr   )r   r   r   r   r   r   r   r   r   r   test_other_type_raises#   s    z4TestTimedeltaArrayConstructor.test_other_type_raisesc              	   C   sv   t jtdd" ttjdddgdddd W 5 Q R X t jtd	d( ttjdddgddtd
d W 5 Q R X d S )Nz1category cannot be converted to timedelta64\[ns\]r
   r   r   r   i8r   categoryz4dtype int64 cannot be converted to timedelta64\[ns\]r   )r   r   r   r   r   r   r   r   r   r   r   test_incorrect_dtype_raises'   s     & z9TestTimedeltaArrayConstructor.test_incorrect_dtype_raisesc                 C   s\   t jdddgdd}t|dd}|j|ks.tt|dd}|j|k	sHt|jj|k	sXtd S )	Nr   r   r   r	   r   F)copyT)r   r   r   _dataAssertionErrorbase)r   datar   r   r   r   	test_copy3   s    z'TestTimedeltaArrayConstructor.test_copyc              	   C   s0   d}t jt|d tjg td W 5 Q R X d S )Nz3dtype .*object.* cannot be converted to timedelta64r
   r   )r   r   r   r   Z_from_sequenceobject)r   r   r   r   r   test_from_sequence_dtype<   s    z6TestTimedeltaArrayConstructor.test_from_sequence_dtypeN)
__name__
__module____qualname__r   r   r   r    r#   r)   r+   r   r   r   r   r      s   	r   )Znumpyr   r   Zpandas.core.arraysr   r   r   r   r   r   <module>   s   