a
    �ù»j¤  ã                   @   sö   d Z ddlZddlZddlZddlZddlZdd„ Zej	j
dd�ej	j
dd�ej	jeƒ  dd�d	œd
ej	j
dd�idœZdd„ Zdd„ Zd dd„Zdd„ Zd!dd„Zej	 dedƒ¡dd„ ƒZej	 dedƒ¡dd„ ƒZej	 dedƒ¡dd„ ƒZdS )"z&Test loaders for common functionality.é    Nc                  C   s(   zdd l } W dS  ty"   Y dS 0 d S )Nr   TF)ÚPILÚImportError)r   © r   úHE:\soccer\ml_env\Lib\site-packages\sklearn/datasets/tests/test_common.pyÚis_pillow_installed   s
    r   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)Zfetch_20newsgroupsÚfetch_openmlZfetch_lfw_peopler   )Ú
return_X_yÚas_framec                 C   sv   zdd l }t d¡ W nZ typ   | j}|› d�}tjt|d�� | dd� W d   ƒ n1 sb0    Y  Y n0 d S )Nr   z-This test requires pandas to not be installedz# with as_frame=True requires pandas)ÚmatchT©r
   )ÚpandasÚpytestÚskipr   Ú__name__Zraises)Z
fetch_funcr   ÚnameZexpected_msgr   r   r   Úcheck_pandas_dependency_message)   s    
r   c                 C   sH   |dd�}t |tƒsJ ‚|d j| jjks.J ‚|d j| jjksDJ ‚d S )NT)r	   r   é   )Ú
isinstanceÚtupleÚshapeÚdataÚtarget)ÚbunchÚdataset_funcZ	X_y_tupler   r   r   Úcheck_return_X_y7   s    
r   c                 C   s<  t  d¡}|dd�}t|dƒs"J ‚t|j|jƒs4J ‚t|j|jƒsFJ ‚|jj| jjksZJ ‚|jj	dkrzt|j|jƒsŒJ ‚nt|j|j
ƒsŒJ ‚|jjd | jjd ks¨J ‚|d urÆt |jj|k¡sÆJ ‚|d urät |jj|k¡säJ ‚|ddd�\}}t||jƒ�sJ ‚|j	dk�r&t||jƒ�s8J ‚nt||j
ƒ�s8J ‚d S )Nr   Tr   Úframer   r   )r
   r	   )r   ZimportorskipÚhasattrr   r   Z	DataFramer   r   r   ÚndimZSeriesÚnpÚallZdtypes)r   r   Zexpected_data_dtypeZexpected_target_dtypeÚpdZframe_bunchZframe_XZframe_yr   r   r   Úcheck_as_frame>   s&    

r"   c                   C   s   t j dd¡dkS )NZSKLEARN_SKIP_NETWORK_TESTSÚ1)ÚosÚenvironÚgetr   r   r   r   Ú_skip_network_testsZ   s    r'   ©ÚloadÚfetchc                 #   s¦   t  | i ¡}t tj¡D ]ˆ\‰ }t |¡s,qt‡ fdd„|D ƒƒ}| t |¡j	v }|r|rt
jjˆ  d¡ontƒ dd�g}ˆ |v rŽ| |ˆ  ¡ t
jˆ ||d�V  qd S )Nc                    s   g | ]}ˆ   |¡‘qS r   )Ú
startswith)Ú.0Út©r   r   r   Ú
<listcomp>d   ó    z3_generate_func_supporting_param.<locals>.<listcomp>r*   z.Skip because fetcher requires internet network)Ú	conditionr   )Úmarks)ÚFETCH_PYTEST_MARKERSr&   ÚinspectÚ
getmembersÚsklearnZdatasetsÚ
isfunctionÚanyÚ	signatureÚ
parametersr   ÚmarkÚskipifr+   r'   ÚappendÚparam)r>   Zdataset_typeZmarkers_fetchÚobjZis_dataset_typeZis_support_paramr2   r   r.   r   Ú_generate_func_supporting_param^   s    
þÿr@   zname, dataset_funcr	   c                 C   s   |ƒ }t ||ƒ d S ©N)r   ©r   r   r   r   r   r   Útest_common_check_return_X_yt   s    rC   r
   c                 C   s   |ƒ }t ||ƒ d S rA   )r"   rB   r   r   r   Útest_common_check_as_frame|   s    rD   c                 C   s   t |ƒ d S rA   )r   )r   r   r   r   r   Ú#test_common_check_pandas_dependency„   s    rE   )NN)r(   )Ú__doc__r4   r$   Únumpyr   r   Zsklearn.datasetsr6   r   r;   Zxfailr<   r3   r   r   r"   r'   r@   ZparametrizerC   rD   rE   r   r   r   r   Ú<module>   sN   ÿÿÿùÿÿô ÿ

ÿ
ÿ
ÿ