
    {Kg                     >   d Z ddlZddlZddlZddlZddlZd Zej                  j                  d      ej                  j                  d      ej                  j                   e        d      dd	ej                  j                  d      id
Zd Zd Z	 ddZd ZddZej                  j%                  d ed            d        Zej                  j%                  d ed            d        Zej                  j%                  d ed            d        Zy)z&Test loaders for common functionality.    Nc                  ,    	 dd l } y# t        $ r Y yw xY w)Nr   TF)PILImportError)r   s    f/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/datasets/tests/test_common.pyis_pillow_installedr      s     s    	z.X is a list and does not have a shape argument)reasonz)fetch_opeml requires a dataset name or idzpillow is not installed)fetch_20newsgroupsfetch_openmlfetch_lfw_peopler
   )
return_X_yas_framec                     	 dd l }t        j                  d       y # t        $ rN | j                  }| d}t        j
                  t        |      5   | d       d d d        Y y # 1 sw Y   Y y xY ww xY w)Nr   z-This test requires pandas to not be installedz# with as_frame=True requires pandas)matchTr   )pandaspytestskipr   __name__raises)
fetch_funcr   nameexpected_msgs       r   check_pandas_dependency_messager   )   sb    
&CD & ""BC]];l;% <;;&s'    5A3
A%A3%A/	*A3/A3c                      |d      }t        |t              sJ |d   j                  | j                  j                  k(  sJ |d   j                  | j                  j                  k(  sJ y )NT)r   r      )
isinstancetupleshapedatatarget)bunchdataset_func	X_y_tuples      r   check_return_X_yr$   7   s`    -Ii'''Q<!1!1111Q<!3!3333    c                    t        j                  d      } |d      }t        |d      sJ t        |j                  |j
                        sJ t        |j                  |j
                        sJ |j                  j                  | j                  j                  k(  sJ |j                  j                  dkD  r"t        |j                  |j
                        s$J t        |j                  |j                        sJ |j                  j                  d   | j                  j                  d   k(  sJ |.t        j                  |j                  j                  |k(        sJ |.t        j                  |j                  j                  |k(        sJ  |dd      \  }}t        ||j
                        sJ |j                  dkD  rt        ||j
                        sJ y t        ||j                        sJ y )Nr   Tr   framer   r   )r   r   )r   importorskiphasattrr   r'   	DataFramer   r   r    ndimSeriesnpalldtypes)r!   r"   expected_data_dtypeexpected_target_dtypepdframe_bunchframe_Xframe_ys           r   check_as_framer6   >   s    
		X	&B-K;(((k''666k&&555!!UZZ%5%5555"+,,bll;;;+,,bii888##A&%,,*<*<Q*????&vvk&&--1DDEEE(vvk((//3HHIII $TdCGWgr||,,,||a'2<<000'299---r%   c                  H    t         j                  j                  dd      dk(  S )NSKLEARN_SKIP_NETWORK_TESTS1)osenvironget r%   r   _skip_network_testsr>   Z   s    ::>>6<CCr%   c           	   #   @  K   t         j                  | i       }t        j                  t        j
                        D ]  \  }}t        j                  |      st        |D cg c]  }|j                  |       c}      }| t        j                  |      j                  v }|sh|skt        j                  j                  |j                  d      xr
 t               d      g}||v r|j                  ||          t        j                   |||        y c c}w w)Nfetchz.Skip because fetcher requires internet network)	conditionr   )marks)FETCH_PYTEST_MARKERSr<   inspect
getmemberssklearndatasets
isfunctionany
startswith	signature
parametersr   markskipifr>   appendparam)	rP   dataset_typemarkers_fetchr   objtis_dataset_typeis_support_paramrB   s	            r   _generate_func_supporting_paramrW   ^   s     (,,UB7M''(8(89	c!!#&<H<atq1<HI G$5$5c$:$E$EE/ """oog6P;N;PK # E }$]401,,tS66# : Is   AD!D
9*D$D'A7Dzname, dataset_funcr   c                 *     |       }t        ||       y N)r$   r   r"   r!   s      r   test_common_check_return_X_yr[   t   s     NEUL)r%   r   c                 *     |       }t        ||       y rY   )r6   rZ   s      r   test_common_check_as_framer]   |   s     NE5,'r%   c                     t        |       y rY   )r   )r   r"   s     r   #test_common_check_pandas_dependencyr_      s     $L1r%   )NN))loadr@   )__doc__rD   r:   numpyr-   r   sklearn.datasetsrF   r   rM   xfailrN   rC   r   r$   r6   r>   rW   parametrizer[   r]   r_   r=   r%   r   <module>rf      sT   ,  	    %kk//C 0 
 ))> * 
 #KK..#%%.G / 

 	))> * 
 (&4 JN.8D7, 9,G**
 9*E((
 9*E22r%   