
    e                         d Z ddlZddlmZ ddlmZmZ ddlm	Z	 ddl
mZ  G d de          Z G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )z=
Test cases for the Comparisons class over the Raster types.
    N)Image)BoundingBox	Dimension)HoloMap)ComparisonTestCasec                       e Zd Zd ZdS )RasterTestCasec                 N   t          j        ddgddgg          | _        t          j        ddgddgg          | _        t          j        ddgddgg          | _        t          | j        t                                | _        t          | j        t                                | _        t          | j        t                                | _	        t          | j        t          d	                    | _
        t          | j        t          d	                    | _        d S )
N            
   (   )boundsg333333?)radius)nparrayarr1arr2arr3r   r   mat1mat2mat3mat4mat5selfs    Mlib/python3.11/site-packages/holoviews/tests/element/test_comparisonraster.pysetUpzRasterTestCase.setUp   s    HqeaU^,,	Hr!fqe_--	Hr!fqf-..	$)KMM:::	$)KMM:::	$)KMM:::	$)Ks,C,C,CDDD	$)Ks,C,C,CDDD			    N)__name__
__module____qualname__r     r!   r   r	   r	      s(        
E 
E 
E 
E 
Er!   r	   c                        e Zd Z fdZ xZS )RasterOverlayTestCasec                     t                                                       | j        | j        z  | _        | j        | j        z  | _        | j        | j        z  | _	        | j        | j        z  | j        z  | _
        d S N)superr    r   r   overlay1_depth2r   overlay2_depth2r   r   overlay3_depth2overlay4_depth3r   	__class__s    r   r    zRasterOverlayTestCase.setUp   se     $	DI 5 $	DI 5 $	DI 5 $	DI 5	 Ar!   r"   r#   r$   r    __classcell__r0   s   @r   r'   r'      sA        C C C C C C C C Cr!   r'   c                        e Zd Z fdZ xZS )RasterMapTestCasec                    t                                                       t          dg          | _        | j        | j        d<   | j        | j        d<   t          dg          | _        | j        | j        d<   | j        | j        d<   t          dg          | _        | j        | j        d<   | j        | j        d<   | j        | j        d<   t          dg          | _	        | j        | j	        d<   | j        | j	        d<   t          dg          | _
        | j        | j
        d<   | j        | j
        d<   t          dg          | _        | j        | j        d<   | j        | j        d<   t          dg          | _        | j        | j        d<   | j        | j        d<   t          dg          | _        | j        | j        d<   | j        | j        d<   t          dt%          d          g          | _        | j        | j        d	<   | j        | j        d
<   t          dt%          d          g          | _        | j        | j        d<   | j        | j        d<   d S )Nint)kdimsr   r   r   r   int_v2float)r   g      ?)r         ?)r   r;   )r   g      ?)r*   r    r   map1_1Dr   r   map2_1Dmap3_1Dr   map4_1Dmap5_1Dr   r   map6_1Dmap7_1Dr+   r,   map8_1Dr   map1_2Dmap2_2Dr/   s    r   r    zRasterMapTestCase.setUp*   s   eW---)Q)QeW---)Q)QeW---)Q)Q)QeW---)Q)QeW---)Q)QhZ000)Q)QeW---/Q/QeW---/Q/Q eYw-?-?%@AAA#yV#yVeYw-?-?%@AAA#yV#yVr!   r1   r3   s   @r   r5   r5   (   s8        +) +) +) +) +) +) +) +) +)r!   r5   c                   $    e Zd ZdZd Zd Zd ZdS )BasicRasterComparisonTestze
    This tests the ComparisonTestCase class which is an important
    component of other tests.
    c                 F    |                      | j        | j                   d S r)   )assertEqualr   r   s    r   test_matrices_equalz-BasicRasterComparisonTest.test_matrices_equal_   s"    DI.....r!   c                     	 |                      | j        | j                   t          d          # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)NzArray mismatch not raised%Image not almost equal to 6 decimals
z%Image data mismatch error not raised.)rI   r   r   AssertionErrorstr
startswithfailureExceptionr   es     r   test_unequal_arraysz-BasicRasterComparisonTest.test_unequal_arraysb   s    	UTY	222 !<=== 	U 	U 	Uq66$$%MNN U++,STTTU U U U U U	U   /1 
A=7A88A=c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)NzOBoundingBoxes are mismatched: (-0.5, -0.5, 0.5, 0.5) != (-0.3, -0.3, 0.3, 0.3).)rI   r   r   rM   rN   rQ   s     r   test_bounds_mismatchz.BasicRasterComparisonTest.test_bounds_mismatchj   sz    	xTY	22222 	x 	x 	xSVV%vwwwwwwwww	x    $ 
A#AAN)r"   r#   r$   __doc__rJ   rS   rV   r%   r!   r   rG   rG   Y   sS         
/ / /U U Ux x x x xr!   rG   c                       e Zd Zd Zd ZdS )RasterOverlayComparisonTestc                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz%Overlays have mismatched path counts.)rI   r+   r.   rM   rN   rQ   s     r   test_depth_mismatchz/RasterOverlayComparisonTest.test_depth_mismatcht   s|    	NT143GHHHHH 	N 	N 	NSVV%LMMMMMMMMM	NrW   c                     	 |                      | j        | j                   d S # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)NrL    Image mismatch error not raised.)rI   r+   r,   rM   rN   rO   rP   rQ   s     r   test_element_mismatchz1RasterOverlayComparisonTest.test_element_mismatchz   s    	PT143GHHHHH 	P 	P 	Pq66$$%MNN P++,NOOOP P P P P P	Ps    $ 
A07A++A0N)r"   r#   r$   r\   r_   r%   r!   r   rZ   rZ   r   s:        N N NP P P P Pr!   rZ   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )RasterMapComparisonTestc                     	 |                      | j        | j                   t          d          # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz(Mismatch in dimension number not raised.zKey dimension list mismatched)rI   r<   rD   rM   rN   rQ   s     r   test_dimension_mismatchz/RasterMapComparisonTest.test_dimension_mismatch   s    
GdlDL999!"LMMM 
G 
G 
Gc!ff&EFFFFFFFFF
G   /1 
A)#A$$A)c                     	 |                      | j        | j                   t          d          # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz(Mismatch in dimension labels not raised.z)Dimension names mismatched: int != int_v2)rI   r<   rA   rM   rN   rQ   s     r   test_dimension_label_mismatchz5RasterMapComparisonTest.test_dimension_label_mismatch   s    
SdlDL999!"LMMM 
S 
S 
Sc!ff&QRRRRRRRRR
Srd   c                     	 |                      | j        | j                   t          d          # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz&Mismatch in map key number not raised.z(HoloMaps have different numbers of keys.)rI   r<   r>   rM   rN   rQ   s     r   test_key_len_mismatchz-RasterMapComparisonTest.test_key_len_mismatch   s    	QT\4<888 !IJJJ 	Q 	Q 	QSVV%OPPPPPPPPP	Qrd   c                     	 |                      | j        | j                   t          d          # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz Mismatch in map keys not raised.zZHoloMaps have different sets of keys. In first, not second [0]. In second, not first: [2].)rI   r<   r=   rM   rN   rQ   s     r   test_key_mismatchz)RasterMapComparisonTest.test_key_mismatch   s    	VT\4<888 !CDDD 	V 	V 	VSVVUV V V V V V V V V	Vrd   c                     	 |                      | j        | j                   t          d          # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)Nz'Pane mismatch in array data not raised.rL   r^   )rI   r<   r?   rM   rN   rO   rP   rQ   s     r   r_   z-RasterMapComparisonTest.test_element_mismatch   s    	PT\4<888 !JKKK 	P 	P 	Pq66$$%MNN P++,NOOOP P P P P P	PrT   N)r"   r#   r$   rc   rf   rh   rj   r_   r%   r!   r   ra   ra      sp        G G GS S SQ Q QV V VP P P P Pr!   ra   )rX   numpyr   	holoviewsr   holoviews.corer   r   holoviews.core.elementr   holoviews.element.comparisonr   r	   r'   r5   rG   rZ   ra   r%   r!   r   <module>rq      s              1 1 1 1 1 1 1 1 * * * * * * ; ; ; ; ; ;E E E E E' E E E
C 
C 
C 
C 
CN 
C 
C 
C-) -) -) -) -)- -) -) -)bx x x x x x x x2P P P P P"7 P P P"'P 'P 'P 'P 'P/ 'P 'P 'P 'P 'Pr!   