o
    �¨Êh˜  ã                   @   s:   d dl Zd dlZd dlmZ d dlmZ G dd„ dƒZdS )é    N)ÚTimedeltaArrayc                   @   sL   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d„ Z
dS )ÚTestTimedeltaArrayConstructorc              	   C   s  t jg d¢dd� d¡}d}tjt|d��( tjtdd�� t	| 
ddd	¡ƒ W d   ƒ n1 s1w   Y  W d   ƒ n1 s@w   Y  tjt|d��1 tjtdd�� t	|d
g  ¡ ƒ W d   ƒ n1 shw   Y  W d   ƒ d S W d   ƒ d S 1 s€w   Y  d S )N)r   é   é   é   zm8[h]©Údtypeúm8[ns]ú%TimedeltaArray.__init__ is deprecated©ÚmatchzOnly 1-dimensionalr   r   r   )ÚnpÚarrayÚastypeÚtmÚassert_produces_warningÚFutureWarningÚpytestÚraisesÚ
ValueErrorr   ÚreshapeÚsqueeze)ÚselfÚarrÚdepr_msg© r   úb/var/www/html/env/lib/python3.10/site-packages/pandas/tests/arrays/timedeltas/test_constructors.pyÚtest_only_1dim_accepted	   s   þ€ÿþÿ"ÿz5TestTimedeltaArrayConstructor.test_only_1dim_acceptedc              	   C   s¨   t jg d¢t jd�d d }d}d}tjt|d��1 tjt|d�� t	| 
d¡d	d
� W d   ƒ n1 s5w   Y  W d   ƒ d S W d   ƒ d S 1 sMw   Y  d S )N)r   r   r   r   i  i Êš;zQInferred frequency None from passed values does not conform to passed frequency Dr
   r   ztimedelta64[ns]ÚD)Úfreq)r   r   Úint64r   r   r   r   r   r   r   Úview)r   r   Úmsgr   r   r   r   Útest_freq_validation   s   ÿÿÿ"ÿz2TestTimedeltaArrayConstructor.test_freq_validationc              	   C   s‚   d}t jt|d��. tjtdd�� tg d¢ƒ W d   ƒ n1 s"w   Y  W d   ƒ d S W d   ƒ d S 1 s:w   Y  d S )Nr
   r   Úlist©r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   Útest_non_array_raises%   s   ÿÿ"ÿz3TestTimedeltaArrayConstructor.test_non_array_raisesc                 C   sP   d}t jt|d�� t tjg d¢dd�¡ W d   ƒ d S 1 s!w   Y  d S )Nz3dtype bool cannot be converted to timedelta64\[ns\]r   r%   Úboolr   )r   r   Ú	TypeErrorr   Ú_from_sequencer   r   ©r   r"   r   r   r   Útest_other_type_raises+   s   "ÿz4TestTimedeltaArrayConstructor.test_other_type_raisesc                 C   sž  d}t jt|d�� tjtjg d¢dd�dd� W d   ƒ n1 s"w   Y  d}t jt|d�� tjtjg d¢dd�t d¡d� W d   ƒ n1 sLw   Y  d	}t jt|d�� tjtjg d¢dd�t d
¡d� W d   ƒ n1 svw   Y  d}t jt|d�� tjtjg d¢dd�dd� W d   ƒ n1 s�w   Y  d}t jt|d�� tjtjg d¢dd�t d¡d� W d   ƒ d S 1 sÈw   Y  d S )Nz;dtype 'category' is invalid, should be np.timedelta64 dtyper   r%   Úi8r   Úcategoryz8dtype 'int64' is invalid, should be np.timedelta64 dtyper    zCdtype 'datetime64\[ns\]' is invalid, should be np.timedelta64 dtypezM8[ns]zHdtype 'datetime64\[us, UTC\]' is invalid, should be np.timedelta64 dtypezM8[us, UTC]z;Supported timedelta64 resolutions are 's', 'ms', 'us', 'ns'zm8[Y])r   r   r   r   r)   r   r   r   r*   r   r   r   Útest_incorrect_dtype_raises0   s>   ÿÿÿÿÿÿÿÿÿÿ"ÿz9TestTimedeltaArrayConstructor.test_incorrect_dtype_raisesc              	   C   s¢   t jg d¢dd�}t  d¡}d}d}tjt|d��. tjt|d�� t	||d� W d   ƒ n1 s2w   Y  W d   ƒ d S W d   ƒ d S 1 sJw   Y  d S )Nr%   zm8[s]r   r	   z&Values resolution does not match dtyper
   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r   r"   r   r   r   r   Ú"test_mismatched_values_dtype_unitsQ   s   
ÿÿ"ÿz@TestTimedeltaArrayConstructor.test_mismatched_values_dtype_unitsc                 C   s^   t jg d¢dd�}tj|dd�}|j|u sJ ‚tj|dd�}|j|us%J ‚|jj|us-J ‚d S )Nr%   r	   r   F)ÚcopyT)r   r   r   r)   Ú_ndarrayÚbase)r   Údatar   r   r   r   Ú	test_copy[   s   z'TestTimedeltaArrayConstructor.test_copyc                 C   sF   d}t jt|d�� tjg td� W d   ƒ d S 1 sw   Y  d S )Nz9dtype 'object' is invalid, should be np.timedelta64 dtyper   r   )r   r   r   r   r)   Úobjectr*   r   r   r   Útest_from_sequence_dtyped   s   "ÿz6TestTimedeltaArrayConstructor.test_from_sequence_dtypeN)Ú__name__Ú
__module__Ú__qualname__r   r#   r&   r+   r.   r/   r4   r6   r   r   r   r   r      s    !
	r   )	Únumpyr   r   Úpandas._testingÚ_testingr   Úpandas.core.arraysr   r   r   r   r   r   Ú<module>   s
    