
    g                     @    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      e/var/www/openai/venv/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z1EFs{{1a34 G G
 ''XFz1EFsA3x//12 G GF	 GF GF GF GFsH   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z5sxx(9:E 6 GF55 GFs$   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%   sL    :''XFz8y) 9 GF88 GFs"   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+   s:    D]]9C0))"((9F*KL 100s   -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   sl   K]]:S1))$/z 2
 I]]:S1))$/rxx7H 2
 U]]:S1))$/rxx7I 2 X 	 ]]:S1))$/} 2
 L]]:S1))$/rxx7H 215 21 21 21 21 21s>   /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   sq    hhy0"7:''XFz5s%0 6 GF55 GFs$   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   s1    I]]:S1))"F; 211s   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=   