o
    i                     @   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poochZ	file_hash)r   Zexpected_hash r   m/var/www/html/eduruby.in/lip-sync/lip-sync-env/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)scopeZ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	   Zdtypefloatr   r
   meanZstdr   r   r   r    r   r   )r   Zecgr   r   r   test_electrocardiogram7   s   z#TestDatasets.test_electrocardiogramN)
__name__
__module____qualname__pytestZ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 )NZdummy_cache_dir   dataz.dat c                   S      d S r   r   r   r   r   r   data0R      ztest_clear_cache.<locals>.data0)datasets	cache_dirZ
method_mapz	data0.datc                   S   r/   r   r   r   r   r   r   data1Y   r1   ztest_clear_cache.<locals>.data1c                   S   r/   r   r   r   r   r   r   data2\   r1   ztest_clear_cache.<locals>.data2z	data1.datz	data2.datc                   S   r/   r   r   r   r   r   r   data4e   r1   ztest_clear_cache.<locals>.data4zdata4_0.datzdata4_1.datr6   c                   S   r/   r   r   r   r   r   r   data5s   r1   ztest_clear_cache.<locals>.data5)r2   r3   )
mkdirrange
write_textr   r   r   r   r+   Zraises
ValueError)
Ztmp_pathZdummy_basepathZdummy_method_mapiZdata_filepathr0   r4   r5   r6   r7   r   r   r   test_clear_cacheD   sH   
r=   )Zscipy.datasets._registryr   Zscipy.datasets._fetchersr   Zscipy.datasets._utilsr   Zscipy.datasetsr   r   r   r   Znumpy.testingr	   r
   r   r+   r   ImportErrorr   r   r   r   r=   r   r   r   r   <module>   s     )