
    e                     b    d dl Zd dlmZmZmZ d dlmZmZm	Z	 ddl
mZmZ  G d de          ZdS )    N)FactorRange	HoverToolRange1d)HeatMapImagePoints   )TestBokehPlotbokeh_rendererc                   b    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd ZdS )TestHeatMapPlotc                     t          ddgddg          }|                    dg          }|                     |g d           d S )	Nr	   r	   r	      r   r   x with spacey with $pecial symbolkdimshovertools))r   z@{x_with_space})r   z@{y_with_pecial_symbol})zz@{z}r   opts_test_hover_infoselfhms     Olib/python3.11/site-packages/holoviews/tests/plotting/bokeh/test_heatmapplot.py)test_heatmap_hover_ensure_kdims_sanitizedz9TestHeatMapPlot.test_heatmap_hover_ensure_kdims_sanitized   sg    gw'@W/XYYYWWG9W%%b #2 #2 #2 	3 	3 	3 	3 	3    c                 H   d}t          |          }t          ddgddg          }|                    |g          }t          j        |          }|j        d	         }|                     |j        |           |                     |j        |j        d
         g           d S )Nz<div><h1>Test</h1></div>)tooltipsr   r   r   r   r   r   r   glyph_renderer)	r   r   r   r   get_plothandlesassertEqualr$   	renderers)r   r$   custom_hoverr   plotr   s         r    (test_heatmap_custom_string_tooltip_hoverz8TestHeatMapPlot.test_heatmap_custom_string_tooltip_hover   s    - (333gw'@W/XYYYWWL>W**&r**W%2224<8H+I*JKKKKKr"   c                     t          ddgdg                              dg          }|                     |g d           d S )Nr   r   z with $pace)vdimsr   r   ))xz@{x})yz@{y})r.   z@{z_with_pace}r   r   s     r    )test_heatmap_hover_ensure_vdims_sanitizedz9TestHeatMapPlot.test_heatmap_hover_ensure_vdims_sanitized   sj    gw'/?@@@EEWIEVVb #G #G #G 	H 	H 	H 	H 	Hr"   c                 T    t          ddg          }|                     |d           d S )Nr   r   r   )r   _test_colormappingr   s     r    test_heatmap_colormappingz)TestHeatMapPlot.test_heatmap_colormapping!   s0    gw'((A&&&&&r"   c                    t          ddg          }t          j        |          }|j        d         }|j        d         }|                     |t
                     |                     |j        ddg           |                     |t                     |                     |j	        d           |                     |j
        d           d S )	NAr	   r	   Br   r   x_rangey_ranger8   r:         ?      @)r   r   r&   r'   assertIsInstancer   r(   factorsr   startendr   hmapr+   r;   r<   s        r    (test_heatmap_categorical_axes_string_intz8TestHeatMapPlot.test_heatmap_categorical_axes_string_int%   s    [122&t,,,y),y)g{3333*555gw///,,,c*****r"   c                    t          dd          } t          ddg          j        di |}t          j        |          }|j        d         }|j        d         }|                     |t                     |                     |j	        ddgd d d	                    |                     |t                     |                     |j        d
           |                     |j        d           d S )NT)invert_xaxisinvert_yaxisr7   r9   r;   r<   r8   r:   r>   r=    )dictr   r   r   r&   r'   r?   r   r(   r@   r   rA   rB   )r   r   rD   r+   r;   r<   s         r    6test_heatmap_categorical_axes_string_int_invert_xyaxiszFTestHeatMapPlot.test_heatmap_categorical_axes_string_int_invert_xyaxis0   s    D9997w[1227??$??&t,,,y),y)g{3333*TTrT*:;;;gw///,,,c*****r"   c                    t          ddg                              d          }t          j        |          }|j        d         }|j        d         }|                     |t                     |                     |j        d           |                     |j	        d           |                     |t                     |                     |j        d	d
g           d S )Nr7   r9   Tinvert_axesr;   r<   r=   r>   r8   r:   )r   r   r   r&   r'   r?   r   r(   rA   rB   r   r@   rC   s        r    1test_heatmap_categorical_axes_string_int_invertedzATestHeatMapPlot.test_heatmap_categorical_axes_string_int_inverted<   s    
K0116646HH&t,,,y),y)gw///,,,c***g{3333*55555r"   c                    t          ddg          }t          g d          }t          j        ||z            }|j        d         }|j        d         }|                     |t                     |                     |j        g d           |                     |t                     |                     |j
        d           |                     |j        d           d S )	Nr7   r9   )r8   r   )r:   r	   )C   r;   r<   r8   r:   rS   r=   rT   )r   r   r   r&   r'   r?   r   r(   r@   r   rA   rB   r   rD   pointsr+   r;   r<   s         r    /test_heatmap_points_categorical_axes_string_intz?TestHeatMapPlot.test_heatmap_points_categorical_axes_string_intG   s    [12277788&tF{33,y),y)g{333///:::gw///,,,a(((((r"   c                    t          ddg                              d          }t          g d          }t          j        ||z            }|j        d         }|j        d         }|                     |t                     |                     |j	        d           |                     |j
        d	           |                     |t                     |                     |j        g d
           d S )Nr7   r9   TrN   rR   r;   r<   r=   rT   rU   )r   r   r   r   r&   r'   r?   r   r(   rA   rB   r   r@   rV   s         r    8test_heatmap_points_categorical_axes_string_int_invertedzHTestHeatMapPlot.test_heatmap_points_categorical_axes_string_int_invertedS   s    
K0116646HH77788&tF{33,y),y)gw///,,,a(((g{333///:::::r"   c                 Z   t          j        g dg dg          }t          t          |                                        d          }t          j        |          }|j        \  }}|j        d         }| 	                    |j
        d         |                    dd	          j                                                   | 	                    |j
        d
         |                    d                     | 	                    |j
        d         |                    d                     d S )N)r   r	   r   )rT         TrN   sourcezvaluesr   F)flatr0   r	   r1   r   )nparrayr   r   r   r   r&   r   r'   r(   datadimension_valuesTflatten)r   arrr   r+   xdimydimr^   s          r    test_heatmap_invert_axesz(TestHeatMapPlot.test_heatmap_invert_axes_   s   h			:::.//U3ZZ  %%$%77&r**X
dh'Y/1D1DQU1D1S1S1U1]1]1_1_```S)2+>+>q+A+ABBBS)2+>+>q+A+ABBBBBr"   c                     t          ddg                              d          }t          j        |          }|j        d         }|                     |j                   d S )Nr7   r9   T)dilateglyph)r   r   r   r&   r'   
assertTruerl   )r   rD   r+   rm   s       r    test_heatmap_dilatez#TestHeatMapPlot.test_heatmap_dilatei   s[    
K01166d6CC&t,,W%%%%%%r"   c                    t          dgddgt          j        dgdgg          f          }t          j        |          }|j        d         }|                     |j        d         t          j        ddg                     |                     |j        d         t          j        ddg                     |                     |j        d         d	d	g           |                     |j        d
         j        d           d S )Nr	   r8   r:   r   cdsr0   r1   width       @rm   )	r   ra   rb   r   r&   r'   r(   rc   heightr   rD   r+   rq   s       r    test_heatmap_single_x_valuez+TestHeatMapPlot.test_heatmap_single_x_valueo   s    c3ZA3*)=)=>??&t,,l5!#!Q(8(8999##s(<(<==='*S#J777g.5q99999r"   c                    t          ddgdgt          j        ddgg          f          }t          j        |          }|j        d         }|                     |j        d         t          j        ddg                     |                     |j        d         t          j        ddg                     |                     |j        d         d	d	g           |                     |j        d
         j        d           d S )Nr8   r:   r	   r   rq   r1   r0   rt   rs   rm   )	r   ra   rb   r   r&   r'   r(   rc   rr   ru   s       r    test_heatmap_single_y_valuez+TestHeatMapPlot.test_heatmap_single_y_valuex   s    c
QCAq6(););<==&t,,l5!#!Q(8(8999##s(<(<===(+c3Z888g.4a88888r"   c                 b   g dg dg dg dd}t          |ddgdd	g
                              d	          }t          j        |          }|j        d         }|                     |j        d         t          j        g d                     |                     |j        d         t          j        g d                     |                     |j        d	         t          j        g d                     |                     |j        d         t          j        g d                     d S )N)r	   r   r	   r   )r	   r   r   r	   )r   r   r   r	   )r=   333333?皙?皙?)rowcolalphavalr~   r}   r   r   )r   r/   )r   rq   )r	   r	   r   r   )r   r	   r   r   r_   )r=   r|   r{   rz   )	r   r   r   r&   r'   r(   rc   ra   rb   )r   rc   r   r+   rq   s        r    test_heatmap_alpha_dimz&TestHeatMapPlot.test_heatmap_alpha_dim   s,   <<<<!\\###	
 
 T%w7GHHHMMT[M\\&r**l5!%"(<<<*@*@AAA%"(<<<*@*@AAA'*BH\\\,B,BCCC),bh7K7K7K.L.LMMMMMr"   N)__name__
__module____qualname__r!   r,   r2   r5   rE   rL   rP   rX   rZ   rj   ro   rv   rx   r   rJ   r"   r    r   r   	   s        3 3 3L L LH H H
' ' '	+ 	+ 	+
+ 
+ 
+	6 	6 	6
) 
) 
)
; 
; 
;C C C& & &: : :9 9 9N N N N Nr"   r   )numpyra   bokeh.modelsr   r   r   holoviews.elementr   r   r   	test_plotr
   r   r   rJ   r"   r    <module>r      s        8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4EN EN EN EN ENm EN EN EN EN ENr"   