
    Owg                     @    d dl Zd dlZd dlmZ d dlmZ  G d d      Zy)    N)TimedeltaArrayc                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestTimedeltaArrayConstructorc           	      J   t        j                  g dd      j                  d      }d}t        j                  t
        |      5  t        j                  t        d      5  t        |j                  ddd	             d d d        d d d        t        j                  t
        |      5  t        j                  t        d      5  t        |d
g   j                                d d d        d d d        y # 1 sw Y   wxY w# 1 sw Y   {xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)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_msgs      g/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/arrays/timedeltas/test_constructors.pytest_only_1dim_acceptedz5TestTimedeltaArrayConstructor.test_only_1dim_accepted	   s    hh|73::8D:''XF 	5z1EF 5s{{1a345	5
 ''XF 	3z1EF 3sA3x//123	3 	3	5 5	5 	53 3	3 	3sH   D"C5?D*DD$D5C>	:DD
D	DD"c                 ^   t        j                  g dt         j                        dz  dz  }d}d}t        j                  t
        |      5  t        j                  t        |      5  t        |j                  d      d	
       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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   s       r   test_freq_validationz2TestTimedeltaArrayConstructor.test_freq_validation   s    hhy1D85@, 	 ;''XF 	Fz5 Fsxx(9:EF	F 	FF F	F 	Fs$   B#)BB#B 	B##B,c                     d}t        j                  t        |      5  t        j                  t
        d      5  t        g d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   listr   r   r	   )r   r   r   r   r   r   r   )r   r   s     r   test_non_array_raisesz3TestTimedeltaArrayConstructor.test_non_array_raises%   s\    :''XF 	*z8 *y)*	* 	** *	* 	*s"   A%AA%A"	A%%A.c                     d}t        j                  t        |      5  t        j                  t        j                  g dd             d d d        y # 1 sw Y   y xY w)Nz3dtype bool cannot be converted to timedelta64\[ns\]r   r)   boolr
   )r   r   	TypeErrorr   _from_sequencer   r   r   r%   s     r   test_other_type_raisesz4TestTimedeltaArrayConstructor.test_other_type_raises+   sG    D]]9C0 	M))"((9F*KL	M 	M 	Ms   -AAc                 :   d}t        j                  t        |      5  t        j                  t        j                  g dd      d       d d d        d}t        j                  t        |      5  t        j                  t        j                  g dd      t        j                  d             d d d        d	}t        j                  t        |      5  t        j                  t        j                  g dd      t        j                  d
             d d d        d}t        j                  t        |      5  t        j                  t        j                  g dd      d       d d d        d}t        j                  t        |      5  t        j                  t        j                  g dd      t        j                  d             d d d        y # 1 sw Y   xY w# 1 sw Y   :xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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/   s     r   test_incorrect_dtype_raisesz9TestTimedeltaArrayConstructor.test_incorrect_dtype_raises0   s   K]]:S1 	))$/z	
 I]]:S1 	))$/rxx7H	
 U]]:S1 	))$/rxx7I	 X 	 ]]:S1 	))$/}	
 L]]:S1 	))$/rxx7H	 	5	 		 		 		 		 	s>   /G2AG,AG9 /HAHG),G69HHHc                 B   t        j                  g dd      }t        j                  d      }d}d}t        j                  t
        |      5  t        j                  t        |      5  t        ||       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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   s        r   "test_mismatched_values_dtype_unitsz@TestTimedeltaArrayConstructor.test_mismatched_values_dtype_unitsQ   s    hhy0"7:''XF 	1z5 1s%01	1 	11 1	1 	1s$   B*B	8B	B	BBc                    t        j                  g dd      }t        j                  |d      }|j                  |u sJ t        j                  |d      }|j                  |usJ |j                  j
                  |usJ y )Nr)   r   r
   F)copyT)r   r   r   r.   _ndarraybase)r   datar   s      r   	test_copyz'TestTimedeltaArrayConstructor.test_copy[   sr    xx	2++Du=||t###++Dt<||4'''||  ,,,    c                     d}t        j                  t        |      5  t        j                  g t
               d d d        y # 1 sw Y   y xY w)Nz9dtype 'object' is invalid, should be np.timedelta64 dtyper   r
   )r   r   r   r   r.   objectr/   s     r   test_from_sequence_dtypez6TestTimedeltaArrayConstructor.test_from_sequence_dtyped   s:    I]]:S1 	<))"F;	< 	< 	<s   AAN)__name__
__module____qualname__r   r&   r*   r0   r4   r6   r<   r@    r=   r   r   r      s-    3F*M
B1-<r=   r   )	numpyr   r   pandas._testing_testingr   pandas.core.arraysr   r   rD   r=   r   <module>rI      s       -_< _<r=   