o
    ˆ‚¡e¼  ã                   @   s^   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlmZ ej	 
dg d¢¡dd	„ ƒZdS )
é    )ÚPathN)Úapprox)Úcompare_images)Ú_image_directorieszim1, im2, tol, expect_rms))úbasn3p02.pngúbasn3p02-minorchange.pngé
   N)r   r   r   g»íBs@)r   zbasn3p02-1px-offset.pngr   g%Ì´ý‰V@)r   zbasn3p02-half-1px-offset.pngr   g     àO@)r   zbasn3p02-scrambled.pngr   g‘D/£X”e@)ú
all127.pngú
all128.pngr   é   )r
   r	   r   r   c           
      C   sŒ   |  |¡ tttdd„ ƒƒ\}}||  }t || |¡ t||  ||dd}	|du r2|	du s0J ‚dS |	dus8J ‚|	d t|ddksDJ ‚dS )	a   
    Compare two images, expecting a particular RMS error.

    im1 and im2 are filenames relative to the baseline_dir directory.

    tol is the tolerance to pass to compare_images.

    expect_rms is the expected RMS value, or None. If None, the test will
    succeed if compare_images succeeds. Otherwise, the test will succeed if
    compare_images fails and returns an RMS error almost equal to this value.
    c                   S   s   dS )NÚdummy© r   r   r   úS/var/www/myenv/lib/python3.10/site-packages/matplotlib/tests/test_compare_images.pyÚ<lambda>=   s    z2test_image_comparison_expect_rms.<locals>.<lambda>T)ÚtolÚin_decoratorNÚrmsg-Cëâ6?)Úabs)ÚchdirÚmapr   r   ÚshutilÚcopyfiler   r   )
Úim1Úim2r   Ú
expect_rmsÚtmp_pathÚmonkeypatchÚbaseline_dirÚ
result_dirÚ
result_im2Úresultsr   r   r   Ú test_image_comparison_expect_rms   s   
0ÿr!   )Úpathlibr   r   Úpytestr   Úmatplotlib.testing.comparer   Úmatplotlib.testing.decoratorsr   ÚmarkÚparametrizer!   r   r   r   r   Ú<module>   s    þ!