o
    \i;                     @   sN   d dl Z d dlZd dlmZ G dd dZdd Zdd Zd	d
 Zdd ZdS )    N)available_ifc                   @   s.   e Zd ZdZdddZedd dd	 Zd
S )AvailableParameterEstimatorzGThis estimator's `available` parameter toggles the presence of a methodT   c                 C   s   || _ || _d S N	availablereturn_value)selfr   r    r
   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/sklearn/utils/tests/test_metaestimators.py__init__   s   
z$AvailableParameterEstimator.__init__c                 C      | j S r   r   estr
   r
   r   <lambda>   s    z$AvailableParameterEstimator.<lambda>c                 C   r   )$This is a mock available_if function)r   )r	   r
   r
   r   available_func   s   z*AvailableParameterEstimator.available_funcN)Tr   )__name__
__module____qualname____doc__r   r   r   r
   r
   r
   r   r      s
    

r   c                   C   sF   dt tjd jv sJ dt tjjv sJ dt t jjv s!J d S )Nr   r   )strr   __dict__r   r   r
   r
   r
   r   test_available_if_docstring   s   


r   c                   C   s(   t t dsJ t tdddrJ d S )Nr   Fr   )hasattrr   r
   r
   r
   r   test_available_if!   s   r   c                  C   sX   t  } t |  t dd} tjtdd t |  W d    d S 1 s%w   Y  d S )NFr   zDThis 'AvailableParameterEstimator' has no attribute 'available_func')match)r   r   pytestraisesAttributeErrorr   r
   r
   r    test_available_if_unbound_method&   s   

"r!   c                  C   s8   d} t d| d}t|j}t|}| | ksJ dS )zYCheck that available_if methods can be pickled.

    Non-regression test for #21344.
    
   Tr   N)r   pickledumpsr   loads)r   r   pickled_bytesunpickled_funcr
   r
   r   (test_available_if_methods_can_be_pickled6   s
   
r(   )	r#   r   sklearn.utils.metaestimatorsr   r   r   r   r!   r(   r
   r
   r
   r   <module>   s    