Ë
    AúYj  ã                   óh   — d dl mZmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZ  G d„ d«      Zy)	é    )ÚgivenÚ
strategiesN)Úlib)ÚiNaT)ÚOutOfBoundsTimedelta)Ú	Timedeltac                   óz  — e Zd Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zej                  j                   e
 ej                  edz   ej                  ¬«      ¬«      ej                  j                  d	ej"                  ej$                  ej&                  g«      d
„ «       «       «       Zd„ Zd„ Zy)ÚTestTimedeltaRoundz
freq,s1,s2)
)Únsú1 days 02:34:56.789123456ú-1 days 02:34:56.789123456)Úusz1 days 02:34:56.789123000z-1 days 02:34:56.789123000)Úmsz1 days 02:34:56.789000000z-1 days 02:34:56.789000000)Úsú1 days 02:34:57z-1 days 02:34:57)Ú2sz1 days 02:34:56z-1 days 02:34:56)Ú5sz1 days 02:34:55z-1 days 02:34:55)Úminú1 days 02:35:00z-1 days 02:35:00)Ú12minz1 days 02:36:00z-1 days 02:36:00)Úhz1 days 03:00:00z-1 days 03:00:00)ÚDz1 daysz-1 daysc                 ó¼   — t        |«      }t        |«      }t        d«      }t        d«      }|j                  |«      }||k(  sJ ‚|j                  |«      }||k(  sJ ‚y )Nr   r   )r   Úround)ÚselfÚfreqÚs1Ús2Út1Út2Úr1Úr2s           ú{/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/pandas/tests/scalar/timedelta/methods/test_round.pyÚ
test_roundzTestTimedeltaRound.test_round   s\   € ô: �r‹]ˆÜ�r‹]ˆÜÐ2Ó3ˆÜÐ3Ó4ˆà�X‰X�d‹^ˆØ�RŠxˆˆxØ�X‰X�d‹^ˆØ�RŠxˆ‰xó    c                 ó°   — t        d«      }dD ]:  \  }}t        j                  t        |¬«      5  |j	                  |«       d d d «       Œ< y # 1 sw Y   ŒGxY w)Nr   ))ÚYEz,<YearEnd: month=12> is a non-fixed frequency)ÚMEz#<MonthEnd> is a non-fixed frequency)ÚfoobarzInvalid frequency: foobar©Úmatch)r   ÚpytestÚraisesÚ
ValueErrorr   )r   r   r   Úmsgs       r#   Útest_round_invalidz%TestTimedeltaRound.test_round_invalid7   sW   € ÜÐ2Ó3ˆð
ò 	‰IˆD�#ô
 —‘œz°Ô5ñ Ø—‘˜”÷ð ñ	÷
ð ús   ¯AÁA	c                 ó¦  — t         j                  j                  d«      }t         j                  t        d¬«      z   t        d«      z
  }||k(  sJ ‚t         j                  j	                  d«      }t         j                  t        d«      z
  }||k(  sJ ‚d}t        j                  t        |¬«      5  t         j                  j	                  d«       d d d «       t        j                  t        |¬«      5  t         j                  j                  d«       d d d «       d}t        j                  t        |¬«      5  t         j                  j                  d«       d d d «       t        j                  t        |¬«      5  t         j                  j                  d«       d d d «       y # 1 sw Y   ŒÕxY w# 1 sw Y   ŒžxY w# 1 sw Y   ŒexY w# 1 sw Y   y xY w)	Nr   é   )Úsecondsiò§iÿ×ò2zICannot round -106752 days \+00:12:43.145224193 to freq=s without overflowr*   zFCannot round 106751 days 23:47:16.854775807 to freq=s without overflow)	r   r   ÚceilÚmaxÚfloorr,   r-   r   r   )r   ÚresultÚexpectedr/   s       r#   Ú test_round_implementation_boundsz3TestTimedeltaRound.test_round_implementation_boundsB   sj  € ô —‘×#Ñ# CÓ(ˆÜ—=‘=¤9°QÔ#7Ñ7¼)ÀIÓ:NÑNˆØ˜Ò!Ð!Ð!ä—‘×$Ñ$ SÓ)ˆÜ—=‘=¤9¨YÓ#7Ñ7ˆØ˜Ò!Ð!Ð!ð Yð 	ô �]‰]Ô/°sÔ;ñ 	%Ü�M‰M×Ñ Ô$÷	%ä�]‰]Ô/°sÔ;ñ 	%Ü�M‰M×Ñ Ô$÷	%ð WˆÜ�]‰]Ô/°sÔ;ñ 	$Ü�M‰M×Ñ˜sÔ#÷	$ä�]‰]Ô/°sÔ;ñ 	%Ü�M‰M×Ñ Ô$÷	%ð 	%÷	%ð 	%ú÷	%ð 	%ú÷	$ð 	$ú÷	%ð 	%ús0   Â/ F#Ã2 F/Ä7 F;Å: GÆ#F,Æ/F8Æ;GÇGr2   )Ú	min_valueÚ	max_value)ÚvalÚmethodc                 ó  ‡‡‡— t         Št        Št        j                  |«      } ‰|«      }ˆˆˆfd„}d} |||d«       d} |||d«       d} |||d«       d} |||d	«       d
} |||d«       d} |||d«       d} |||d«       y )Nc                 ó¶  •— |dk(  r�nžt        | j                  |«      \  }}t        ||z
  «      }| j                  |z
  }|| j                  k  sJ ‚| j                  |z   }|| j                  kD  sJ ‚d}|dk(  r�n.‰‰j                  u rD|‰j                  j                  kD  �rt        j                  ‰|¬«      5   ‰| |«       d d d «       y ‰‰j                  u rC|‰j                  j                  k  rµt        j                  ‰|¬«      5   ‰| |«       d d d «       y ||k\  rC|‰j                  j                  kD  rmt        j                  ‰|¬«      5   ‰| |«       d d d «       y |‰j                  j                  k  r*t        j                  ‰|¬«      5   ‰| |«       d d d «       y  ‰| |«      }	|	| z
  }
t        |
j                  «      }||k  sJ ‚|	j                  |z  dk(  sJ ‚‰‰j                  u r||dz  k  sJ ‚y ‰‰j                  u r|	| k  sJ ‚y ‰‰j                  u r|	| k\  sJ ‚y y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)Nr2   zwithout overflowr   r*   é   )ÚdivmodÚ_valueÚintr4   r5   r,   r-   r6   r   Úabsr   )ÚtsÚnanosÚunitÚdivÚmodÚdiffÚlbÚubr/   ÚresÚtdÚclsÚerr_clsr=   s              €€€r#   Úcheckerz5TestTimedeltaRound.test_round_sanity.<locals>.checkerg   s(  ø€ à˜ŠzÙä! "§)¡)¨UÓ3‘��SÜ˜5 3™;Ó'�Ø—Y‘Y ‘_�Ø˜RŸY™Y’Ð&�Ø—Y‘Y Ñ%�Ø˜BŸI™I’~Ð%�~à(�Ø˜!’8áØ˜sŸx™xÑ'Ø˜CŸG™GŸN™NÓ*Ü#Ÿ]™]¨7¸#Ô>ñ -Ù" 2 tÔ,÷-àØ˜sŸy™yÑ(Ø˜CŸG™GŸN™NÒ*Ü#Ÿ]™]¨7¸#Ô>ñ -Ù" 2 tÔ,÷-àØ˜D’[Ø˜CŸG™GŸN™NÒ*Ü#Ÿ]™]¨7¸#Ô>ñ -Ù" 2 tÔ,÷-àØ˜#Ÿ'™'Ÿ.™.Ò(ÜŸ™ w°cÔ:ñ )Ù˜r 4Ô(÷)àá˜˜TÓ"ˆCà�r‘ˆBÜ�r—y‘y“>ˆDØ˜%’<Ð�<Ø—:‘: Ñ%¨Ò*Ð*Ð*à˜Ÿ™Ñ"Ø˜u q™yÒ(Ð(Ñ(Ø˜3Ÿ9™9Ñ$Ø˜b’yÐ ‘yØ˜3Ÿ8™8Ñ#Ø˜b’yÐ ‘yð $÷;-àú÷-àú÷-àú÷)àús0   Â8
H+Ä	
H7Å
IÆ
IÈ+H4È7I ÉIÉIr2   r   iè  r   i@B r   i Êš;r   l    XŽp7 r   l     qar   l     ž"R: r   )r   r   ÚnpÚint64)r   r<   r=   rN   rQ   rF   rO   rP   s     `   @@r#   Útest_round_sanityz$TestTimedeltaRound.test_round_sanity[   s¤   ú€ ô ˆÜ&ˆä�h‰h�s‹mˆÙ�‹Xˆö0	!ðd ˆÙ��E˜4Ô àˆÙ��E˜4Ô àˆÙ��E˜4Ô àˆÙ��E˜3Ôà"ˆÙ��E˜5Ô!à'ˆÙ��E˜3Ôà,ˆÙ��E˜3Õr%   c                 ó   — t        d«      j                  |«      }|j                  d«      }|t        d«      k(  sJ ‚|j                  |j                  k(  sJ ‚|j	                  d«      }|t        d«      k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  d«      }|t        d«      k(  sJ ‚|j                  |j                  k(  sJ ‚y )Nr   r   r   z1 days 02:34:00)r   Úas_unitr   Ú_cresor6   r4   )r   rG   rN   rM   s       r#   Útest_round_non_nanoz&TestTimedeltaRound.test_round_non_nano®   s½   € ÜÐ(Ó)×1Ñ1°$Ó7ˆà�h‰h�u‹oˆØ”iÐ 1Ó2Ò2Ð2Ð2Ø�z‰z˜RŸY™YÒ&Ð&Ð&à�h‰h�u‹oˆØ”iÐ 1Ó2Ò2Ð2Ð2Ø�z‰z˜RŸY™YÒ&Ð&Ð&à�g‰g�e‹nˆØ”iÐ 1Ó2Ò2Ð2Ð2Ø�z‰z˜RŸY™YÒ&Ð&Ñ&r%   c                 ó  — t        dd¬«      j                  d«      }|j                  dk(  sJ ‚|j                  d«      t        d«      k(  sJ ‚|j	                  d«      t        d«      k(  sJ ‚|j                  d«      t        d«      k(  sJ ‚y )Ng      ð?Údays)rG   r   Ú100msz1 days 00:00:00)r   rV   rG   r   r6   r4   )r   rN   s     r#   Ú%test_round_freq_finer_than_resolutionz8TestTimedeltaRound.test_round_freq_finer_than_resolution½   s€   € ä�s Ô(×0Ñ0°Ó5ˆØ�w‰w˜#Š~Ðˆ~Ø�x‰x˜Ó ¤IÐ.?Ó$@Ò@Ð@Ð@Ø�x‰x˜Ó ¤IÐ.?Ó$@Ò@Ð@Ð@Ø�w‰w�wÓ¤9Ð->Ó#?Ò?Ð?Ñ?r%   N)Ú__name__Ú
__module__Ú__qualname__r,   ÚmarkÚparametrizer$   r0   r9   Úslowr   ÚstÚintegersr   r   Úi8maxr   r   r6   r4   rT   rX   r\   © r%   r#   r
   r
      s³   „ Ø‡[�[×ÑØò	
óñ8	ó9ð8	ò	ò%ð2 ‡[�[×ÑÙ
ˆ{ˆr�{‰{ T¨A¡X¸¿¹ÔCÔDØ‡[�[×ÑØ�9—?‘? I§O¡O°Y·^±^ÐDóñL óó Eó ð
L ò\'ó@r%   r
   )Ú
hypothesisr   r   rc   ÚnumpyrR   r,   Úpandas._libsr   Úpandas._libs.tslibsr   Úpandas.errorsr   Úpandasr   r
   rf   r%   r#   ú<module>rm      s,   ð÷ó Û å Ý $Ý .å ÷t@ò t@r%   