U
    ½mœdx
  ã                	   @   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
dddddg¡dd„ ƒƒZ
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )zÑTest  kddcup99 loader, if the data is available,
or if specifically requested via environment variable
(e.g. for CI jobs).

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	   )ZSFi é   )Úhttpieå  é   )Úsmtpic%  r   c                 C   sb   | ||d�}|j j||fks t‚|jj|fks2t‚|rN|jj||d fksNt‚|j d¡s^t‚d S )N)Úsubsetr   é   z.. _kddcup99_dataset:)ÚdataÚshapeÚAssertionErrorÚtargetÚframeZDESCRÚ
startswith)Úfetch_kddcup99_fxtr   r   Z	n_samplesZ
n_featuresr   © r   ú]/home/sam/Atlas/atlas_env/lib/python3.8/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   Z
fetch_funcr   r   r   r   Útest_fetch_kddcup99_return_X_y'   s    r   c                 C   s   | ƒ }t || ƒ d S ©Nr   )r   Z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:t‚|jj|jjksNt‚|jj|jjksbt‚d S )Nr   r
   T)Úrandom_stater   Ú	percent10)r   r   Úshuffler   r   )Úsetr   r   r   r   )r   ZdatasetZdataset_shuffledr   r   r   Útest_fetch_kddcup99_shuffle2   s    ýür"   c                 C   s   t | ƒ d S r   r   )r   Zhide_available_pandasr   r   r   Útest_pandas_dependency_messageC   s    r#   c              	   C   st   |d }|  ¡  |d }| d¡�}| d¡ W 5 Q R X dt|ƒ› d�}tjt|d�� | t|ƒd� W 5 Q R X d	S )
zBCheck that a nice error message is raised when cache is corrupted.zkddcup99_10-py3ZsamplesÚwbs   THIS IS CORRUPTEDz7The cache for fetch_kddcup99 is invalid, please delete z! and run the fetch_kddcup99 again)Úmatch)Z	data_homeN)ÚmkdirÚopenÚwriteÚstrÚpytestZraisesÚIOError)r   Ztmp_pathZkddcup99_dirZsamples_pathÚfÚmsgr   r   r   Ú!test_corrupted_file_error_messageG   s    ÿr.   )Ú__doc__Ú	functoolsr   r*   Z"sklearn.datasets.tests.test_commonr   r   r   ÚmarkZparametrizer   r   r   r"   r#   r.   r   r   r   r   Ú<module>   s*   ûþ
