o
    Ö­ju  ã                   @   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mZ d dlZzd dlZW n eyE   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_equalN)Ú	get_identzsMissing 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   ú[/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/datasets/tests/test_data.pyÚ	_has_hash   s   r   c                   @   sN   e Zd Zejddd�dd„ ƒZej d¡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_allé
   c                 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_face2   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à¥ gÃGÄ”H"Å¿g�­á-ã?zecg.dat)r   r	   ÚdtypeÚfloatr$   r
   ÚmeanÚstdr   r   r   r%   r    r   )r   Úecgr   r   r   Útest_electrocardiogram9   s   ÿz#TestDatasets.test_electrocardiogramN)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚfixturer   ÚmarkÚ	fail_slowr!   r&   r)   r/   r   r   r   r   r      s    


r   c                 C   s¨  | t tƒ ƒ }| ¡  |d }| ¡  i }tdƒD ]}d|› d�g|d|› �< |d|› d� }| d¡ qdd„ }t|||d� tj |d	 ¡rJJ ‚d
d„ }dd„ }t||g||d� tj |d ¡reJ ‚tj |d ¡roJ ‚dd„ }	|d  d¡ |d  d¡ ddg|d< t|	g||d� tj |d ¡r™J ‚tj |d ¡r£J ‚dd„ }
t	 
t¡� t|
g||d� W d   ƒ n1 s¿w   Y  td |d� tj |¡rÒJ ‚d S )NÚdummy_cache_diré   Údataz.datÚ c                   S   ó   d S r   r   r   r   r   r   Údata0W   ó   ztest_clear_cache.<locals>.data0)ÚdatasetsÚ	cache_dirÚ
method_mapz	data0.datc                   S   r;   r   r   r   r   r   r   Údata1^   r=   ztest_clear_cache.<locals>.data1c                   S   r;   r   r   r   r   r   r   Údata2a   r=   ztest_clear_cache.<locals>.data2z	data1.datz	data2.datc                   S   r;   r   r   r   r   r   r   Údata4j   r=   ztest_clear_cache.<locals>.data4zdata4_0.datzdata4_1.datrC   c                   S   r;   r   r   r   r   r   r   Údata5x   r=   ztest_clear_cache.<locals>.data5)r>   r?   )Ústrr   ÚmkdirÚrangeÚ
write_textr   r   r   r   r3   ÚraisesÚ
ValueError)Útmp_pathÚthread_basepathÚdummy_basepathÚdummy_method_mapÚiÚdata_filepathr<   rA   rB   rC   rD   r   r   r   Útest_clear_cacheF   sL   ÿ
ÿÿÿÿrQ   )Úscipy.datasets._registryr   Úscipy.datasets._fetchersr   Úscipy.datasets._utilsr   Úscipy.datasetsr   r   r   r   Únumpy.testingr	   r
   r   Ú	threadingr   r3   r   ÚImportErrorr   r    r   r   rQ   r   r   r   r   Ú<module>   s"    ÿ*