
    e
                     R    d Z ddlZddlZddlmZmZ ddlm	Z	  G d de	          Z
dS )z
Unit tests of Image elements
    N)CurveImage   )LoggingComparisonTestCasec                   Z     e Zd Z fdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Z xZS )	TestImagec                 ~    t                                                       t          j        ddg          | _        d S )N)r      r   )         )supersetUpnparrayarray1)self	__class__s    Blib/python3.11/site-packages/holoviews/tests/element/test_image.pyr   zTestImage.setUp   s.    h	9566    c                     t          | j                  }|                     |j        d           |                     |j        d           d S )Nr   r   )r   r   assertEqualxdensityydensityr   images     r   test_image_initzTestImage.test_image_init   sG    dk""++++++++r   c                 f    t          | j                  }|                     |d         d           d S )N)gQտg      пr   )r   r   r   r   s     r   test_image_indexzTestImage.test_image_index   s2    dk""{+Q/////r   c           	          t          | j                  }|                     |                    d          t	          t          j        g d          dgdg                     d S )Ng      ?)y))gF]kSUտr   )r   r
   )gF]kSU?r   xz)kdimsvdims)r   r   r   sampler   r   r   r   s     r   test_image_samplezTestImage.test_image_sample   sq    dk""--rx(O(O(OPP&)U3%9 9 9	: 	: 	: 	: 	:r   c                 P   t           j                            dd          dz
  }t           j                            |dk    |          }t          |                              d          }|                     |t          j        |          t          j	        |          f           d S )N
   g      ?r   r   )
r   randomrandmamasked_wherer   ranger   minmax)r   arrrranges      r   test_image_range_maskedz!TestImage.test_image_range_masked#   s    innR##C'e  a--s!!!$$"&++rvc{{!;<<<<<r   c                     t          g            t          d            t          t          j        g                      t          t          j        d                     d S )N)r   r   )r   r   r   zeros)r   s    r   test_empty_imagezTestImage.test_empty_image)   sL    b			dbhrllbhvr   c                 &   t           j                            dd          }t          j        ddd          }t          j        ddd          }|dxx         dz  cc<   t	          |||dddgd	           d
}| j                            d|           d S )N   r   r)   皙?valsxsysr=   r>   r<   z^set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.WARNING)r   r*   r+   linspacer   log_handlerassertEndsWith)r   r<   r=   r>   substrs        r   test_image_rtol_failurez!TestImage.test_image_rtol_failure/   s    y~~b$$[2b!![2b!!
2#d"--T{FCCCA''	6:::::r   c                     t           j                            dd          }t          j        ddd          }t          j        ddd          }|dxx         dz  cc<   t	          |||dddgd	d
           d S )Nr8   r   r)   r9   {Gz?r;   r=   r>   r<   r:   rtol)r   r*   r+   r@   r   )r   r<   r=   r>   s       r   test_image_rtol_constructorz%TestImage.test_image_rtol_constructor9   s}    y~~b$$[2b!![2b!!
2$d"--T{FOOOOOOr   c                 R   t           j                            dd          }t          j        ddd          }t          j        ddd          }|dxx         dz  cc<   t          j        j        }dt          j        _        t          |||ddd	gd
           |t          j        _        d S )Nr8   r   r)   r9   MbP?rF   r;   r=   r>   r<   )r   r*   r+   r@   hvconfig
image_rtolr   )r   r<   r=   r>   rN   s        r   test_image_rtol_configz TestImage.test_image_rtol_config@   s    y~~b$$[2b!![2b!!
2%Y)
$	d"--T{FCCC)	r   c                 J   t           j                            dd          }t          j        ddd          }t          j        ddd          }|dxx         dz  cc<   t	          |||dddgd	d
          }|                     |                                j        d
           d S )Nr8   r   r)   r9   rK   r;   r=   r>   r<   rF   rG   )r   r*   r+   r@   r   r   clonerH   )r   r<   r=   r>   imgs        r   test_image_clonezTestImage.test_image_cloneJ   s    y~~b$$[2b!![2b!!
2%Dr33d4[&uUUU)511111r   c                 |   t          j        ddd          }t          j        ddd          }t          j        ||          \  }}t          j        |dz  |dz  z             t          j        |          z  }|                     t                    5  t          |||f           d d d            d S # 1 swxY w Y   d S )Nr9   r
   r:   r   )r   arangemeshgridsqrtcosassertRaises
ValueErrorr   )r   r"   r!   XYZs         r   #test_image_curvilinear_coords_errorz-TestImage.test_image_curvilinear_coords_errorR   s    Ib!S!!Ib!S!!{1a  1GAqD1a4K  26!99,z** 	 	1a)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B11B58B5)__name__
__module____qualname__r   r   r   r'   r3   r6   rD   rI   rO   rS   r^   __classcell__)r   s   @r   r   r      s        7 7 7 7 7, , ,
0 0 0
: : := = =     ; ; ;P P P* * *2 2 2      r   r   )__doc__numpyr   	holoviewsrL   holoviews.elementr   r   utilsr   r    r   r   <module>ri      s             * * * * * * * * - - - - - -K K K K K) K K K K Kr   