
    S_f                         d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
 d dlmZmZ d dlZd dlZ	 d dlZej$                  Zd Z G d	 d
      Zd Zy# e$ r	  ed      w xY w)    )registry)data_fetcher)_clear_cache)ascentfaceelectrocardiogramdownload_all)assert_equalassert_almost_equalNzsMissing optional dependency 'pooch' required for scipy.datasets module. Please use pip or conda to install 'pooch'.c                 r    t         j                  j                  |       syt        j                  |       |k(  S )z1Check if the provided path has the expected hash.F)ospathexistspooch	file_hash)r   expected_hashs     >lib/python3.12/site-packages/scipy/datasets/tests/test_data.py	_has_hashr      s)    77>>$??4 M11    c                   X    e Zd Z ej                  dd      d        Zd Zd Zd Zd Z	y	)
TestDatasetsmoduleT)scopeautousec              #   (   K   t                d  y wN)r	   selfs    r   test_download_allzTestDatasets.test_download_all   s     
 	s   c                 l    t        t        j                  t                    t        t              k\  sJ y r   )lenr   listdirdata_dirr   r   s    r   test_existence_allzTestDatasets.test_existence_all&   s"    2::h'(CM999r   c                     t        t               j                  d       t        t        j
                  j                  t        d      t        d         sJ y )N)   r&   z
ascent.dat)	r
   r   shaper   r   r   joinr#   r   r   s    r   test_ascentzTestDatasets.test_ascent)   s?    VX^^Z0 h=!,/1 	1 1r   c                     t        t               j                  d       t        t        j
                  j                  t        d      t        d         sJ y )N)i   i      zface.dat)	r
   r   r'   r   r   r   r(   r#   r   r   s    r   	test_facezTestDatasets.test_face0   s?    TV\\>2 h
;!*-/ 	/ /r   c                 N   t               }t        |j                  t               t        |j                  d       t        |j                         d       t        |j                         d       t        t        j                  j                  t        d      t        d         sJ y )N)i gGĔH"ſg-?zecg.dat)r   r
   dtypefloatr'   r   meanstdr   r   r   r(   r#   r   )r   ecgs     r   test_electrocardiogramz#TestDatasets.test_electrocardiogram7   st    !SYY&SYY	*CHHJ4CGGI'9: h	:!),. 	. .r   N)
__name__
__module____qualname__pytestfixturer   r$   r)   r,   r3    r   r   r   r      s5    V^^(D1 2:1/
.r   r   c                    | dz  }|j                          i }t        d      D ])  }d| dg|d| <   |d| dz  }|j                  d       + d }t        |||       t        j
                  j                  |dz        rJ d	 }d
 }t        ||g||       t        j
                  j                  |dz        rJ t        j
                  j                  |dz        rJ d }|dz  j                  d       |dz  j                  d       ddg|d<   t        |g||       t        j
                  j                  |dz        rJ t        j
                  j                  |dz        rJ d }	t        j                  t              5  t        |	g||       d d d        t        d |       t        j
                  j                  |      rJ y # 1 sw Y   8xY w)Ndummy_cache_dir   dataz.dat c                       y r   r9   r9   r   r   data0ztest_clear_cache.<locals>.data0R       r   )datasets	cache_dir
method_mapz	data0.datc                       y r   r9   r9   r   r   data1ztest_clear_cache.<locals>.data1Y   rA   r   c                       y r   r9   r9   r   r   data2ztest_clear_cache.<locals>.data2\   rA   r   z	data1.datz	data2.datc                       y r   r9   r9   r   r   data4ztest_clear_cache.<locals>.data4e   rA   r   zdata4_0.datzdata4_1.datrJ   c                       y r   r9   r9   r   r   data5ztest_clear_cache.<locals>.data5s   rA   r   )rB   rC   )
mkdirrange
write_textr   r   r   r   r7   raises
ValueError)
tmp_pathdummy_basepathdummy_method_mapidata_filepathr@   rF   rH   rJ   rL   s
             r   test_clear_cacherW   D   s    11N 1X %*.qc'74s$&4s$7  $%%>,.ww~~n[89995%.N,.ww~~n[8999ww~~n[8999 m#//3m#//3!. >W5'^,.ww~~n]:;;;ww~~n]:;;;	z	" 2ug 0	22
 $.9ww~~n----2 2s   GG)scipy.datasets._registryr   scipy.datasets._fetchersr   scipy.datasets._utilsr   scipy.datasetsr   r   r   r	   numpy.testingr
   r   r   r7   r   ImportErrorr   r#   r   r   rW   r9   r   r   <module>r^      sk    - 1 . H H ; 	 3 2&. &.R7.s  3
 2 3 33s   A A