
    Ngo
                     z   d dl mZ d dlZd dlZd dlZd dlmZ d dl	m
Z
 ddZej        ded         fd            Z G d d	          Zej                            d
ej        ej        j        j        fej        ej        j        j        fej        ej        j        j        fg          d             Zd Zd Zd ZdS )    )	GeneratorN)accessorreturnc                       G d dt           j                  } d t           |                       D             }|ddgk    sJ d S )Nc                   &    e Zd ZU dZeed<   ddZdS )test_dirname_mixin.<locals>.X   yr   Nc                     d| _         d S )N   )zselfs    _/var/www/html/ai-engine/env/lib/python3.11/site-packages/pandas/tests/test_register_accessor.py__init__z&test_dirname_mixin.<locals>.X.__init__   s    DFFF    r   N)__name__
__module____qualname__xint__annotations__r    r   r   Xr      s8         	 	 	 	 	 	r   r   c                 <    g | ]}|                     d           |S )_)
startswith).0	attr_names     r   
<listcomp>z&test_dirname_mixin.<locals>.<listcomp>   s+    SSSI9M9Mc9R9RSiSSSr   r   r   )r   DirNamesMixindir)r   results     r   test_dirname_mixinr%      sl        H"    TSQQSSSSSFc3Zr   )NNNc              #     K   	 dV  	 t          | |           n# t          $ r Y nw xY w| j                            |           dS # 	 t          | |           n# t          $ r Y nw xY w| j                            |           w xY w)z[Ensure 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-      s      
%	C 	 	 	D	t$$$$$		C 	 	 	D	t$$$$s;   A  
''BAB
A&#B%A&&Bc                   2    e Zd ZddZed             Zd ZdS )
MyAccessorr   Nc                 "    || _         d| _        d S )Nitem)r+   r1   )r   r+   s     r   r   zMyAccessor.__init__*   s    			r   c                     | j         S Nr1   r   s    r   propzMyAccessor.prop.   s
    yr   c                     | j         S r3   r4   r   s    r   methodzMyAccessor.method2   s
    yr   r   )r   r   r   r   propertyr5   r7   r   r   r   r/   r/   )   sR              X    r   r/   zobj, registrarc                    t          | d          5  t          t          |                     }  |d          t                     | t          j        ur | g           n | g t                    }|j        j        dk    sJ t          t          |                     }||z  dhk    sJ d| j	        v sJ 	 d d d            d S # 1 swxY w Y   d S )Nminedtyper1   )
r-   setr#   r/   pdSeriesobjectr:   r5   r)   )r+   	registrarbeforeoafters        r   test_registerrE   6   s"    
V	$	$ ( (SXX		&*%%%")++CCGGGRv1F1F1Fv{f$$$$CHHF8++++'''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   B&CC	C	c                  ~   t          t          j        d          5  t          j        j                            d          t                     t          j        ddg          } | j        j        | u sJ | j        j	        dk    sJ | j        
                                dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr:   r	      r1   )r-   r>   r?   api
extensionsregister_series_accessorr/   r:   r+   r5   r7   )ss    r   test_accessor_worksrL   I   s    		6	*	* ) )
226:::FFFIq!fvzQv{f$$$$v}}&((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   B	B22B69B6c                     d} t          j        t          |           5  t          t          j        d          5  t          t          j        dd           t	          j        j        	                    d          t                     t	          j        ddg          }|j        j        dk    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz.*MyAccessor.*fake.*Series.*matchfake{   r	   rG   r1   )tmassert_produces_warningUserWarningr-   r>   r?   setattrrH   rI   rJ   r/   rP   r5   )rO   rK   s     r   test_overwrite_warnsrV   T   sH   +E		#Ku	=	=	= ) )BIv.. 	) 	)BIvs+++F66v>>zJJJ	1a&!!A6;&(((((		) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s5   CA5B;/C;B?	?CB?	CCCc                     t          t          j        d          5  t          j        j                            d           G d d                      } t          j        t          d          5  t          j        g t                    j
         d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nbadc                       e Zd ZddZdS )(test_raises_attribute_error.<locals>.Badr   Nc                      t          d          )Nwhoops)r(   )r   datas     r   r   z1test_raises_attribute_error.<locals>.Bad.__init__c   s    $X...r   r   )r   r   r   r   r   r   r   BadrZ   a   s(        / / / / / /r   r^   r\   rN   r;   )r-   r>   r?   rH   rI   rJ   pytestraisesr(   r@   rX   )r^   s    r   test_raises_attribute_errorra   ^   sB   		5	)	) , ,			3	3E	:	:	/ 	/ 	/ 	/ 	/ 	/ 	/ 
;	:	/ ]>::: 	, 	,Ib'''++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,, , , , , , , , , , , , , , , , , ,s6   AB3.!BB3B	B3"B	#B33B7:B7r   )collections.abcr   
contextlibr_   pandasr>   pandas._testing_testingrR   pandas.corer   r%   contextmanagerr-   r/   markparametrizer?   rH   rI   rJ   	DataFrameregister_dataframe_accessorIndexregister_index_accessorrE   rL   rV   ra   r   r   r   <module>ro      sn   % % % % % %                                   %+;!< % % % %
 
 
 
 
 
 
 
 	BF%>?	rv(DE	26$<= ( ( () ) )) ) )	, 	, 	, 	, 	,r   