o
    h                     @   s   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zd dlZW n ey?   edw ejZdd	 ZG d
d dZdd ZdS )    )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                 C   s   t j| sdS t| |kS )z1Check if the provided path has the expected hash.F)ospathexistspooch	file_hash)r   expected_hash r   Y/var/www/html/scripts/venv/lib/python3.10/site-packages/scipy/datasets/tests/test_data.py	_has_hash   s   r   c                   @   sB   e Zd Zejddddd Zdd Zdd	 Zd
d Zdd Z	dS )TestDatasetsmoduleT)scopeautousec                 c   s    t   d V  d S N)r   selfr   r   r   test_download_all   s   
zTestDatasets.test_download_allc                 C   s   t ttt tksJ d S r   )lenr   listdirdata_dirr   r   r   r   r   test_existence_all&   s   zTestDatasets.test_existence_allc                 C   .   t t jd ttjtdtd sJ d S )N)   r!   z
ascent.dat)	r	   r   shaper   r   r   joinr   r   r   r   r   r   test_ascent)      zTestDatasets.test_ascentc                 C   r    )N)i   i      zface.dat)	r	   r   r"   r   r   r   r#   r   r   r   r   r   r   	test_face0   r%   zTestDatasets.test_facec                 C   sZ   t  }t|jt t|jd t| d t| d tt	j
tdtd s+J d S )N)i gGĔH"ſg-?zecg.dat)r   r	   dtypefloatr"   r
   meanstdr   r   r   r#   r   r   )r   ecgr   r   r   test_electrocardiogram7   s   z#TestDatasets.test_electrocardiogramN)
__name__
__module____qualname__pytestfixturer   r   r$   r'   r-   r   r   r   r   r      s    
r   c           
      C   s  | d }|   i }tdD ]}d| dg|d| < |d| d }|d qdd }t|||d tj|d	 r?J d
d }dd }t||g||d tj|d rZJ tj|d rdJ dd }|d d |d d ddg|d< t|g||d tj|d rJ tj|d rJ dd }	tt	 t|	g||d W d    n1 sw   Y  td |d tj|rJ d S )Ndummy_cache_dir   dataz.dat c                   S      d S r   r   r   r   r   r   data0R      ztest_clear_cache.<locals>.data0)datasets	cache_dir
method_mapz	data0.datc                   S   r7   r   r   r   r   r   r   data1Y   r9   ztest_clear_cache.<locals>.data1c                   S   r7   r   r   r   r   r   r   data2\   r9   ztest_clear_cache.<locals>.data2z	data1.datz	data2.datc                   S   r7   r   r   r   r   r   r   data4e   r9   ztest_clear_cache.<locals>.data4zdata4_0.datzdata4_1.datr?   c                   S   r7   r   r   r   r   r   r   data5s   r9   ztest_clear_cache.<locals>.data5)r:   r;   )
mkdirrange
write_textr   r   r   r   r1   raises
ValueError)
tmp_pathdummy_basepathdummy_method_mapidata_filepathr8   r=   r>   r?   r@   r   r   r   test_clear_cacheD   sH   
rK   )scipy.datasets._registryr   scipy.datasets._fetchersr   scipy.datasets._utilsr   scipy.datasetsr   r   r   r   numpy.testingr	   r
   r   r1   r   ImportErrorr   r   r   r   rK   r   r   r   r   <module>   s     )