
    h	                     D    d dl Z d dlmZ d dlmZ d dlmZ  G d d      Zy)    N)NpyDatetimeUnit)OutOfBoundsTimedelta)	Timedeltac                   $    e Zd Zd Zd Zd Zd Zy)
TestAsUnitc                     t        d      }|j                  d      |u sJ |j                  d      }|j                  |j                  dz  k(  sJ |j                  t        j
                  j                  k(  sJ |j                  d      }|j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  d      }|j                  |j                  dz  k(  sJ |j                  t        j                  j                  k(  sJ |j                  d      }|j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  d      }|j                  |j                  d	z  k(  sJ |j                  t        j                  j                  k(  sJ |j                  d      }|j                  |j                  k(  sJ |j                  |j                  k(  sJ y )
N   daysnsus  msi@B si ʚ;)	r   as_unit_value_cresor   	NPY_FR_usvalue	NPY_FR_msNPY_FR_s)selftdresrts       WD:\jyotish\venv\Lib\site-packages\pandas/tests/scalar/timedelta/methods/test_as_unit.pytest_as_unitzTestAsUnit.test_as_unit
   s   Azz$2%%%jjzzRYY$....zz_66<<<<<[[yyBII%%%yyBII%%%jjzzRYY)3333zz_66<<<<<[[yyBII%%%yyBII%%%jjozzRYY-7777zz_55;;;;;[[yyBII%%%yyBII%%%    c                    d}t        j                  |t        j                  j                        }d}t        j                  t        |      5  |j                  d       d d d        |j                  d      }|j                  |dz  k(  sJ |j                  t        j                  j                  k(  sJ y # 1 sw Y   XxY w)Nl     &oz>Cannot cast 106752 days 00:00:00 to unit='ns' without overflowmatchr   r   r   )r   _from_value_and_resor   r   r   pytestraisesr   r   r   r   r   )r   r   r   msgr   s        r   test_as_unit_overflowsz!TestAsUnit.test_as_unit_overflows'   s    ++B0I0I0O0OPN]]/s;JJt < jjzzR4Z'''zz_66<<<<< <;s   B77C c                 ^   t        d      }|j                  d      }t        d      }||k(  sJ |j                  t        j                  j
                  k(  sJ |j                  dk(  sJ t        j                  t        d      5  |j                  dd	       d d d        y # 1 sw Y   y xY w)
Ni  )microsecondsr   r	   )millisecondszCannot losslessly convert unitsr    F)round_ok)
r   r   r   r   r   r   r   r#   r$   
ValueError)r   r   r   expecteds       r   test_as_unit_roundingz TestAsUnit.test_as_unit_rounding4   s    D)jj!,hzz_66<<<<<zzQ]]:-NOJJteJ, POOs   B##B,c                    t        d      j                  d      }|j                  dk(  sJ |j                  dk(  sJ |j                  j                  dk(  sJ |j
                  dk(  sJ |j                         dk(  sJ |j                  d      }|j                  dk(  sJ |j                  j                  dk(  sJ |j                  j                  dk(  sJ |j
                  dk(  sJ |j                  dk(  sJ |j                         dk(  sJ y )	Nr	   r
   r   i \&iQ r   l    `;P r   )	r   r   r   r   
components_dtotal_secondshours_h)r   r   r   s      r   test_as_unit_non_nanoz TestAsUnit.test_as_unit_non_nanoA   s    A&&t,ww!||yyJ&&&}}!!Q&&&uuzz!U***jjzz^+++~~""a'''~~##q(((vv{{vv{{  "e+++r   N)__name__
__module____qualname__r   r&   r-   r4    r   r   r   r   	   s    &:=-,r   r   )r#   pandas._libs.tslibs.dtypesr   pandas.errorsr   pandasr   r   r8   r   r   <module>r<      s     6 . G, G,r   