Ë
    u™ãj=  ã                   ó²   — d dl Zd dlZd dlZd dlmZ ej                  d„ «       Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)é    Nc                  ó:   — t        j                  g d¢g d¢dœ«      S )z$
    base dataframe for testing
    ©é   é   é   )é   é   é   ©ÚaÚb)ÚpdÚ	DataFrame© ó    úu/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/series/methods/test_case_when.pyÚdfr      s   € ô
 �<‰<šiªiÑ8Ó9Ð9r   c                 óœ   — d}|dz  }t        j                  t        |¬«      5  | d   j                  d¬«       ddd«       y# 1 sw Y   yxY w)z5
    Raise ValueError if caselist is not a list.
    z(The caselist argument should be a list; zinstead got.+©Úmatchr   r   ©ÚcaselistN)ÚpytestÚraisesÚ	TypeErrorÚ	case_when©r   Úmsgs     r   Ú%test_case_when_caselist_is_not_a_listr      sK   € ð 5€CØˆ?Ñ€CÜ	�‰”y¨Ô	,ñ 'Ø
ˆ3‰×Ñ 2ÐÔ&÷'÷ 'ñ 'ús   £AÁAc                 óš   — d}|dz  }t        j                  t        |¬«      5  | d   j                  g «       ddd«       y# 1 sw Y   yxY w)z6
    Raise ValueError if no caselist is provided.
    z(provide at least one boolean condition, z!with a corresponding replacement.r   r   N)r   r   Ú
ValueErrorr   r   s     r   Útest_case_when_no_caselistr"      sI   € ð 5€CØÐ.Ñ.€CÜ	�‰”z¨Ô	-ñ Ø
ˆ3‰×Ñ˜"Ô÷÷ ñ ús   £AÁA
c                 óø   — d}|dz  }t        j                  t        |¬«      5  | d   j                  | d   j	                  d«      d| j
                  j                  d«      fg«       ddd«       y# 1 sw Y   yxY w)z4
    Raise ValueError if no of caselist is odd.
    zArgument 0 must have length 2; z2a condition and replacement; instead got length 3.r   r   r   N)r   r   r!   r   Úeqr   Úgtr   s     r   Útest_case_when_odd_caselistr&   $   sk   € ð ,€CØÐ?Ñ?€Cä	�‰”z¨Ô	-ñ <Ø
ˆ3‰×Ñ˜B˜s™GŸJ™J q›M¨1¨b¯d©d¯g©g°a«jÐ9Ð:Ô;÷<÷ <ñ <ús   £AA0Á0A9c                 ó¾   — d}t        j                  t        |¬«      5  | d   j                  | d   j	                  d«      ddgfg«       ddd«       y# 1 sw Y   yxY w)z-
    Raise Error from within Series.mask
    z,Failed to apply condition0 and replacement0.r   r   r   r   N)r   r   r!   r   r$   r   s     r   Ú$test_case_when_raise_error_from_maskr(   /   sV   € ð 9€CÜ	�‰”z¨Ô	-ñ 5Ø
ˆ3‰×Ñ˜B˜s™GŸJ™J q›M¨A¨q¨6Ð2Ð3Ô4÷5÷ 5ñ 5ús   ž,AÁAc                 ór  — t        j                  t        j                  t        j                  t        j                  g«      j	                  | j
                  j                  d«      dfg«      }t        j                  dt        j                  t        j                  g«      }t        j                  ||«       y)z,
    Test output on a single condition.
    r   N©	r   ÚSeriesÚnpÚnanr   r   r$   ÚtmÚassert_series_equal©r   ÚresultÚexpecteds      r   Útest_case_when_single_conditionr3   8   sp   € ô �Y‰YœŸ™¤§¡¬¯©Ð/Ó0×:Ñ:¸R¿T¹T¿W¹WÀQ»ZÈ¸OÐ;LÓM€FÜ�y‰y˜!œRŸV™V¤R§V¡VÐ,Ó-€HÜ×Ñ˜6 8Õ,r   c                 ó†  — t        j                  t        j                  t        j                  t        j                  g«      j	                  | j
                  j                  d«      dft        j                  g d¢«      dfg«      }t        j                  ddt        j                  g«      }t        j                  ||«       y)zB
    Test output when booleans are derived from a computation
    r   )FTFr   Nr*   r0   s      r   Ú"test_case_when_multiple_conditionsr5   A   s�   € ô �Y‰YœŸ™¤§¡¬¯©Ð/Ó0×:Ñ:Ø
�$‰$�'‰'�!‹*�aˆœ2Ÿ9™9Ò%9Ó:¸AÐ>Ð?ó€Fô �y‰y˜!˜Q¤§¡˜Ó(€HÜ×Ñ˜6 8Õ,r   c                 ó€  — t        j                  t        j                  t        j                  t        j                  g«      j	                  g d¢df| d   j                  d«      | d   j                  d«      z  g d¢fg«      }t        j                  ddt        j                  g«      }t        j                  ||«       y)	z0
    Test output when replacement is a list
    ©TFFr   r   r   r	   r   r   N)	r   r+   r,   r-   r   r%   r$   r.   r/   r0   s      r   Ú3test_case_when_multiple_conditions_replacement_listr8   L   s‰   € ô �Y‰YœŸ™¤§¡¬¯©Ð/Ó0×:Ñ:Ú
 Ð	" R¨¡W§Z¡Z°£]°R¸±W·Z±ZÀ³]Ñ%BÂIÐ$NÐOó€Fô �y‰y˜!˜Q¤§¡˜Ó(€HÜ×Ñ˜6 8Õ,r   c                 ó®  — t        j                  t        j                  t        j                  t        j                  g«      j	                  g d¢df| d   j                  d«      | d   j                  d«      z  t        j                  g d¢d¬«      fg«      }t        j                  dd	t        j                  gd
¬«      }t        j                  ||«       y)z=
    Test output when replacement has an extension dtype
    r7   r   r   r   r	   r   ÚInt64)Údtyper   ÚFloat64N)
r   r+   r,   r-   r   r%   r$   Úarrayr.   r/   r0   s      r   Ú>test_case_when_multiple_conditions_replacement_extension_dtyper>   W   s™   € ô �Y‰YœŸ™¤§¡¬¯©Ð/Ó0×:Ñ:â! 1Ð%Ø�‰W�Z‰Z˜‹]˜R ™WŸZ™Z¨›]Ñ*¬B¯H©H²YÀgÔ,NÐOð	
ó€Fô �y‰y˜!˜Q¤§¡˜¨yÔ9€HÜ×Ñ˜6 8Õ,r   c                 óÌ  — t        j                  t        j                  t        j                  t        j                  g«      j	                  t        j
                  g d¢«      df| d   j                  d«      | d   j                  d«      z  t        j                  g d¢«      fg«      }t        j                  ddt        j                  g«      }t        j                  ||«       y)	z2
    Test output when replacement is a Series
    r7   r   r   r   r	   r   r   N)
r   r+   r,   r-   r   r=   r%   r$   r.   r/   r0   s      r   Ú5test_case_when_multiple_conditions_replacement_seriesr@   e   sŸ   € ô �Y‰YœŸ™¤§¡¬¯©Ð/Ó0×:Ñ:ä�X‰XÒ*Ó+¨QÐ/Ø�‰W�Z‰Z˜‹]˜R ™WŸZ™Z¨›]Ñ*¬B¯I©I²iÓ,@ÐAð	
ó€Fô �y‰y˜!˜Q¤§¡˜Ó(€HÜ×Ñ˜6 8Õ,r   c                  óp  — t         j                  j                  d¬«      } t        j                  dd¬«      }t        j
                  | j                  d¬«      |g d¢¬	«      }t        j                  d
|j                  d¬«      j                  |j                  j                  d«      |j                  fg«      }|j                  j                  |j                  j                  d«      |j                  «      j                  |j                  j                  d«      d
«      }t        j                   ||«       y)z0
    Test output if index is not RangeIndex
    é{   )Úseedz1/1/2000é   )Úperiods)rD   r   )Úsize)ÚAÚBÚCÚD)ÚindexÚcolumnsr	   rG   )rK   Únamer   N)r,   ÚrandomÚdefault_rngr   Ú
date_ranger   Ústandard_normalr+   rK   r   rG   r%   rH   ÚmaskÚwherer.   r/   )ÚrngÚdatesr   r1   r2   s        r   Útest_case_when_non_range_indexrV   s   s×   € ô �)‰)×
Ñ
 SÐ
Ó
)€CÜ�M‰M˜*¨aÔ0€EÜ	�‰Ø×Ñ ÐÓ(°Ò?Sô
€Bô �Y‰Y�q §¡¨sÔ3×=Ñ=ÀÇÁÇÁÈÃ
ÈBÏDÉDÐ?QÐ>RÓS€FØ�t‰t�y‰y˜Ÿ™Ÿ™ › R§T¡TÓ*×0Ñ0°·±·±¸³¸QÓ?€HÜ×Ñ˜6 8Õ,r   c                  ó,  — t        j                  ddd«      } t        j                  | «      }|j	                  d„ d„ fd„ d„ fg¬«      }t        j
                  | | d	k  | d	k\  gd
„ d„ g«      }t        j                  |t        j                  |«      «       y)z#
    Test output on a callable
    g      Àg      @r
   c                 ó   — | dk  S ©Nr   r   ©r   s    r   ú<lambda>z)test_case_when_callable.<locals>.<lambda>Š   s
   € ˜˜Q™€ r   c                 ó   — |  S ©Nr   rZ   s    r   r[   z)test_case_when_callable.<locals>.<lambda>Š   s   € ¨B¨3€ r   c                 ó   — | dk\  S rY   r   rZ   s    r   r[   z)test_case_when_callable.<locals>.<lambda>‹   s
   € ˜˜a™€ r   c                 ó   — | S r]   r   rZ   s    r   r[   z)test_case_when_callable.<locals>.<lambda>‹   s   € ¨B€ r   r   r   c                 ó   — |  S r]   r   ©Úxs    r   r[   z)test_case_when_callable.<locals>.<lambda>Ž   s   € ¸A¸2€ r   c                 ó   — | S r]   r   ra   s    r   r[   z)test_case_when_callable.<locals>.<lambda>Ž   s   € È€ r   N)r,   Úlinspacer   r+   r   Ú	piecewiser.   r/   )rb   Úserr1   r2   s       r   Útest_case_when_callablerg   �   s‰   € ô
 	�‰�D˜#˜qÓ!€AÜ
�)‰)�A‹,€CØ�]‰]á¡Ð/Ù¡Ð/ð
ð ó €Fô �|‰|˜A  A¡ q¨A¡v˜±¹{Ð0KÓL€HÜ×Ñ˜6¤2§9¡9¨XÓ#6Õ7r   c                 ób  — | j                  t        j                  d«      j                  t        j                  d«      dkD  dft        j                  d«      dk  dfg«      ¬«      }| j                  t        j                  g d¢| j
                  ¬«      ¬«      }t        j                  ||«       y )Nr   r   é
   r	   ©Úout)r	   ri   ri   ©rK   ©Úassignr   Úcolr   r+   rK   r.   Úassert_frame_equalr0   s      r   Ú#test_case_when_expression_conditionrq   ’   s„   € à�Y‰YÜ�F‰F�3‹K×!Ñ!¤B§F¡F¨3£K°!¡O°RÐ#8¼2¿6¹6À#»;È!Ñ;KÈQÐ:OÐ"PÓQð ó €Fð �y‰yœRŸY™Y¢{¸"¿(¹(ÔCˆyÓD€HÜ×Ñ˜& (Õ+r   c           	      óz  — | j                  t        j                  d«      j                  | d   dkD  t        j                  d«      dz   f| d   dk  t        j                  d«      dz   fg«      ¬«      }| j                  t        j                  g d¢| j
                  ¬«      ¬«      }t        j                  ||«       y )Nr   r   éd   rj   )r   éf   ég   rl   rm   r0   s      r   Ú%test_case_when_expression_replacementrv   ›   s—   € à�Y‰YÜ�F‰F�3‹K×!Ñ!Ø�‰g˜‰kœ2Ÿ6™6 #›;¨Ñ,Ð-°°3±¸1±¼b¿f¹fÀS»kÈA¹oÐ/NÐOó
ð ó €Fð
 �y‰yœRŸY™Y¢}¸B¿H¹HÔEˆyÓF€HÜ×Ñ˜& (Õ+r   c                  ó€  — t        j                  ddgddgdœ«      } | j                  t        j                  d«      j	                  t        j                  d«      j                  d«      dfg«      ¬	«      }| j                  t        j                  ddg| j                  ¬
«      ¬	«      }t        j                  ||«       y )NéA   é   ÚJasonÚAnna)ÚagerM   r|   rM   r   ©Úelderlyrl   )
r   r   rn   ro   r   r$   r+   rK   r.   rp   r0   s      r   Ú#test_case_when_expression_in_assignr   ¦   s—   € ä	�‰˜r 2˜h°¸&Ð0AÑBÓ	C€BØ�Y‰YÜ—‘�u“×'Ñ'¬"¯&©&°«.×*;Ñ*;¸GÓ*DÀaÐ)HÐ(IÓJð ó €Fð �y‰y¤§¡¨A¨r¨7¸"¿(¹(Ô!CˆyÓD€HÜ×Ñ˜& (Õ+r   c                  óº  — t        j                  g d¢g d¢dœ«      } d„ t        j                  d«      dz   ft        j                  d«      j                  d«      d	fg}| j	                  t        j                  d«      j                  |¬
«      ¬«      }| j	                  t        j                  g d¢| j                  ¬«      ¬«      }t        j                  ||«       y )N)rz   ÚAmyÚBob)é*   ri   r	   )rM   r|   c                 ó   — | dk  S )Nri   r   )Úss    r   r[   z@test_case_when_expression_mixed_args_in_assign.<locals>.<lambda>´   s
   € �1�r‘6€ r   r|   rs   rM   rz   r   r   r}   )r   ri   éi   rl   )
r   r   ro   r$   rn   r   r+   rK   r.   rp   ©r   r   r1   r2   s       r   Ú.test_case_when_expression_mixed_args_in_assignrˆ   °   s¤   € ä	�‰Ò6º{ÑKÓ	L€Bá	œ2Ÿ6™6 %›=¨3Ñ.Ð/Ü	�‰�‹×	Ñ	˜7Ó	# QÐ'ð€Hð �Y‰YœrŸv™v e›}×6Ñ6ÀÐ6ÓIˆYÓJ€FØ�y‰y¤§¡ª<¸r¿x¹xÔ!HˆyÓI€HÜ×Ñ˜& (Õ+r   c                  óš  — t        j                  g d¢g d¢dœ«      } t        j                  d«      t        j                  d«      z   dkD  dfg}| j                  t        j                  d«      j	                  |¬«      ¬	«      }| j                  t        j
                  g d
¢| j                  ¬«      ¬	«      }t        j                  ||«       y )N)éÿÿÿÿr   r   )r   éþÿÿÿr   r   r   r   r   éc   r   )Úflag)rŠ   r   rŒ   rl   )	r   r   ro   rn   r   r+   rK   r.   rp   r‡   s       r   Ú2test_case_when_expression_math_condition_in_assignrŽ   ¼   s‘   € ä	�‰šJªZÑ8Ó	9€BÜ—‘˜“œrŸv™v c›{Ñ*¨QÑ.°Ð3Ð4€HØ�Y‰YœBŸF™F 3›K×1Ñ1¸8Ð1ÓDˆYÓE€FØ�y‰yœbŸi™iª¸2¿8¹8ÔDˆyÓE€HÜ×Ñ˜& (Õ+r   c                  óØ  — t        j                  dt        j                  ddgi«      } t        j                  d«      j                  «       dft        j                  d«      dkD  dfg}| j                  t        j                  d«      j                  |¬«      ¬«      }| j                  t        j                  g d	¢| j                  t        ¬
«      ¬«      }t        j                  ||«       y )Nr|   ç      @g      4@Úmissingri   Úadultr   )Úgroup)r‘   r�   r’   )rK   r;   )r   r   r,   r-   ro   Úisnarn   r   r+   rK   Úobjectr.   rp   r‡   s       r   Ú2test_case_when_expression_missing_values_in_assignr–   Å   s·   € ä	�‰�uœrŸv™v s¨DÐ1Ð2Ó	3€Bä	�‰�‹×	Ñ	Ó	˜yÐ)Ü	�‰�‹˜Ñ	˜WÐ%ð€Hð �Y‰YœRŸV™V E›]×4Ñ4¸hÐ4ÓGˆYÓH€FØ�y‰yÜ�i‰iÒ1¸¿¹ÌÔPð ó €Hô ×Ñ˜& (Õ+r   )Únumpyr,   r   Úpandasr   Úpandas._testingÚ_testingr.   Úfixturer   r   r"   r&   r(   r3   r5   r8   r>   r@   rV   rg   rq   rv   r   rˆ   rŽ   r–   r   r   r   ú<module>rœ      s~   ðÛ Û ã Ý ð ‡�ñ:ó ð:ò'òò<ò5ò-ò-ò-ò-ò-ò-ò8ò",ò,ò,ò	,ò,ó,r   