o
    tBh
                     @   s   d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ ej	ddd	gej	d
g ddd Z
dd Zdd Zdd Zdd Zdd ZdS )zTest  kddcup99 loader, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job).

Only 'percent10' mode is tested, as the full data
is too big to use in unit-testing.
    )partialNcheck_as_framecheck_pandas_dependency_message)check_return_X_yas_frameTFzsubset, n_samples, n_features))Niŉ )   )SAi/ r	   )SFi    )httpie     )smtpic%  r   c                 C   sb   | ||d}|j j||fksJ |jj|fksJ |r'|jj||d fks'J |jds/J d S )N)subsetr      z.. _kddcup99_dataset:)datashapetargetframeDESCR
startswith)fetch_kddcup99_fxtr   r   	n_samples
n_featuresr    r   {/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/sklearn/datasets/tests/test_kddcup99.pytest_fetch_kddcup99_percent10   s   r   c                 C   s    t | dd}| }t|| d S )Nr   )r   )r   r   )r   
fetch_funcr   r   r   r   test_fetch_kddcup99_return_X_y'   s   r   c                 C   s   |  }t ||  d S Nr   )r   bunchr   r   r   test_fetch_kddcup99_as_frame-   s   r"   c                 C   sf   | dddd}| ddddd}t |d t |d ksJ |jj|jjks'J |jj|jjks1J d S )Nr   r
   T)random_stater   	percent10)r#   r   shuffler$   r   )setr   r   r   )r   datasetdataset_shuffledr   r   r   test_fetch_kddcup99_shuffle2   s   r)   c                 C   s   t |  d S r    r   )r   hide_available_pandasr   r   r   test_pandas_dependency_messageC   s   r+   c                 C   s   |d }|   |d }|d}|d W d   n1 s!w   Y  dt| d}tjt|d | t|d	 W d   dS 1 sHw   Y  dS )
zBCheck that a nice error message is raised when cache is corrupted.zkddcup99_10-py3sampleswbs   THIS IS CORRUPTEDNz7The cache for fetch_kddcup99 is invalid, please delete z! and run the fetch_kddcup99 again)match)	data_home)mkdiropenwritestrpytestraisesIOError)r   tmp_pathkddcup99_dirsamples_pathfmsgr   r   r   !test_corrupted_file_error_messageG   s   "r<   )__doc__	functoolsr   r4   "sklearn.datasets.tests.test_commonr   r   r   markparametrizer   r   r"   r)   r+   r<   r   r   r   r   <module>   s"    
