
     -io
                        S SK Jr  S SKrS SKrS SKrS SKJr  S SK	J
r
  SS jr\R                  S\S   4S j5       r " S S	5      r\R                  R!                  S
\R"                  \R$                  R&                  R(                  4\R*                  \R$                  R&                  R,                  4\R.                  \R$                  R&                  R0                  4/5      S 5       rS rS rS rg)    )	GeneratorN)accessorreturnc                       " S S[         R                  5      n [        U " 5       5       Vs/ s H  oR                  S5      (       a  M  UPM     nnUSS/:X  d   eg s  snf )Nc                   .    \ rS rSr% Sr\\S'   SS jrSrg)test_dirname_mixin.<locals>.X      yNc                     SU l         g )N   zselfs    V/var/www/html/venv/lib/python3.13/site-packages/pandas/tests/test_register_accessor.py__init__&test_dirname_mixin.<locals>.X.__init__   s	    DF    r   r   N)	__name__
__module____qualname____firstlineno__xint__annotations__r   __static_attributes__ r   r   Xr      s    	r   r    _r   r   )r   DirNamesMixindir
startswith)r    	attr_nameresults      r   test_dirname_mixinr'      sS    H""  *-QSSI9M9Mc9RiFSc3Z Ts   A	A)NNNc              #      #     Sv    [        X5        U R                  R                  U5        g! [         a     N(f = f!  [        X5        O! [         a     Of = fU R                  R                  U5        f = f7f)zSEnsure that an attribute added to 'obj' during the test is
removed when we're done
N)delattrAttributeError
_accessorsdiscard)objattrs     r   ensure_removedr/      ss     
%	C 	t$  			C 		t$sU   A=A  0 A=
=A==A= A:AA:
AA:AA::A=c                   4    \ rS rSrSS jr\S 5       rS rSrg)
MyAccessor)   Nc                     Xl         SU l        g )Nitem)r-   r4   )r   r-   s     r   r   MyAccessor.__init__*   s    	r   c                     U R                   $ Nr4   r   s    r   propMyAccessor.prop.   s    yyr   c                     U R                   $ r7   r8   r   s    r   methodMyAccessor.method2   s    yyr   )r4   r-   r   )	r   r   r   r   r   propertyr9   r<   r   r   r   r   r1   r1   )   s       r   r1   zobj, registrarc                    [        U S5         [        [        U 5      5      nU" S5      " [        5        U [        R
                  La  U " / 5      O
U " / [        S9nUR                  R                  S:X  d   e[        [        U 5      5      nX$-  S1:X  d   eSU R                  ;   d   e S S S 5        g ! , (       d  f       g = f)Nminedtyper4   )
r/   setr#   r1   pdSeriesobjectr@   r9   r+   )r-   	registrarbeforeoafters        r   test_registerrK   6   s     
V	$SX&*%"))+CGRv1Fvv{{f$$$CHF8+++''' 
%	$	$s   BB11
B?c                     [        [        R                  S5         [        R                  R                  R                  S5      " [        5        [        R                  " SS/5      n U R                  R                  U L d   eU R                  R                  S:X  d   eU R                  R                  5       S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr@   r
      r4   )r/   rD   rE   api
extensionsregister_series_accessorr1   r@   r-   r9   r<   )ss    r   test_accessor_worksrR   I   s    			6	*
226::FIIq!fvvzzQvv{{f$$$vv}}&((( 
+	*	*s   B#C
Cc                     Sn [         R                  " [        U S9   [        [        R
                  S5         [        [        R
                  SS5        [        R                  R                  R                  S5      " [        5        [        R
                  " SS/5      nUR                  R                  S:X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nz.*MyAccessor.*fake.*Series.*matchfake{   r
   rM   r4   )tmassert_produces_warningUserWarningr/   rD   rE   setattrrN   rO   rP   r1   rV   r9   )rU   rQ   s     r   test_overwrite_warnsr\   T   s    +E		#	#Ku	=BIIv.BIIvs+FF66v>zJ		1a&!A66;;&(((	 / 
>	=.. 
>	=s#   CBC;C
C	C
C+c                     [        [        R                  S5         [        R                  R                  R                  S5       " S S5      5       n [        R                  " [        SS9   [        R                  " / [        S9R                    S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nbadc                       \ rS rSrSS jrSrg)(test_raises_attribute_error.<locals>.Bada   Nc                     [        S5      e)Nwhoops)r*   )r   datas     r   r   1test_raises_attribute_error.<locals>.Bad.__init__c   s    $X..r   r   r   )r   r   r   r   r   r   r   r   r   Badr`   a   s    /r   rf   rc   rT   rA   )r/   rD   rE   rN   rO   rP   pytestraisesr*   rF   r^   )rf   s    r   test_raises_attribute_errorri   ^   s    			5	)				3	3E	:	/ 	/ 
;	/ ]]>:IIb'++ ; 
*	) ;: 
*	)s$   AB1+$B B1 
B.	*B11
B?r   )collections.abcr   
contextlibrg   pandasrD   pandas._testing_testingrX   pandas.corer   r'   contextmanagerr/   r1   markparametrizerE   rN   rO   rP   	DataFrameregister_dataframe_accessorIndexregister_index_accessorrK   rR   r\   ri   r   r   r   <module>rw      s    %        %+;!< % %
 
 	BFF%%>>?	rvv((DDE	266$$<<=(())	,r   