o
    i(                     @   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 w )Nr   TF)PILImportError)r    r   q/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/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   sz   zdd l }td W d S  ty<   | j}| d}tjt|d | dd W d    Y d S 1 s4w   Y  Y d S w )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s"J 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   s6  t d}|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kr=t|j|js<J n	t|j|j
sFJ |jjd | jjd ksTJ |d urct|jj|kscJ |d urrt|jj|ksrJ |ddd\}}t||jsJ |j	dkrt||jsJ d S t||j
sJ 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 ]D\ }t|sqt fdd|D }| t|j	v }|rQ|rQt
jj do8t ddg} |v rH||   t
j ||dV  qd S )Nc                    s   g | ]}  |qS r   )
startswith).0tr   r   r   
<listcomp>d   s    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_paramr1   r   r.   r   _generate_func_supporting_param^   s$   
r?   zname, dataset_funcr	   c                 C      | }t || d S N)r   r   r   r   r   r   r   test_common_check_return_X_yt      rC   r
   c                 C   r@   rA   )r"   rB   r   r   r   test_common_check_as_frame|   rD   rE   c                 C   s   t | d S rA   )r   )r   r   r   r   r   #test_common_check_pandas_dependency   s   rF   )NN)r(   )__doc__r3   r$   numpyr   r   Zsklearn.datasetsr5   r   r:   Zxfailr;   r2   r   r   r"   r'   r?   ZparametrizerC   rE   rF   r   r   r   r   <module>   sP    



