
    {Kg.
                         d Z ddlmZ ddlZddlmZmZmZ ej                  j                  dddg      ej                  j                  dg d	      d
               Z
d Zd Zd Zd Zd Zy)zTest  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   )SFi    )httpie     )smtpic%  r   c                     | ||      }|j                   j                  ||fk(  sJ |j                  j                  |fk(  sJ |r |j                  j                  ||dz   fk(  sJ |j                  j                  d      sJ y )N)subsetr      z.. _kddcup99_dataset:)datashapetargetframeDESCR
startswith)fetch_kddcup99_fxtr   r   	n_samples
n_featuresr   s         h/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/datasets/tests/test_kddcup99.pytest_fetch_kddcup99_percent10r      s     Vh?D99??y*5555;;,,,zzIzA~#>>>>::  !8999    c                 D    t        | d      } |       }t        ||       y )Nr   )r   )r   r   )r   
fetch_funcr   s      r   test_fetch_kddcup99_return_X_yr    *   s     +F;J<DT:&r   c                 *     |        }t        ||        y N)r   )r   bunchs     r   test_fetch_kddcup99_as_framer$   0   s     E5,-r   c                 ,    | 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(  sJ y )Nr   r	   T)random_stater   	percent10)r&   r   shuffler'   r   )setr   r   r   )r   datasetdataset_shuffleds      r   test_fetch_kddcup99_shuffler,   5   s     G
 *	 wx !S)9()C%DDDD  &&',,*<*<<<<""((GNN,@,@@@@r   c                     t        |        y r"   )r   )r   hide_available_pandass     r   test_pandas_dependency_messager/   F   s    #$67r   c                 H   |dz  }|j                          |dz  }|j                  d      5 }|j                  d       ddd       dt        |       d}t	        j
                  t        |      5   | t        |      	       ddd       y# 1 sw Y   OxY w# 1 sw Y   yxY w)
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OSError)r   tmp_pathkddcup99_dirsamples_pathfmsgs         r   !test_corrupted_file_error_messagerA   J   s    //L)+L			4	 A	$% 
!	l#$$E	G 
 
wc	*S]3 
+	* 
!	  
+	*s   B0BBB!)__doc__	functoolsr   r9   "sklearn.datasets.tests.test_commonr   r   r   markparametrizer   r    r$   r,   r/   rA    r   r   <module>rH      s~       dE]3#	:	 4:'.
A"84r   