
    e<                        d dl Zd dlmZmZmZmZmZmZm	Z	m
Z
 ddlmZ d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 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 G d de          ZdS )     N)BoundsBoxHLinePath
RectanglesSegmentsTilesVLine   )TestPlotlyPlotz#2a3f5fc                       e Zd Zd ZdS )	TestShapec                     t          ddddd          } |                                j        d
i |}|                     |          }|d         d         }|                     |d	         |           d S )Norangeyellowdot   gffffff?)	fillcolor
line_color	line_dash
line_widthopacitylayoutshapesr    )dictcloneopts_get_plot_stateassert_property_values)selfelementpropsstater   s        Olib/python3.11/site-packages/holoviews/tests/plotting/plotly/test_shapeplots.pyassert_shape_element_stylingz&TestShape.assert_shape_element_styling   s    
 
 
 ''--//&////$$W--x*##F1Iu55555    N)__name__
__module____qualname__r&   r   r'   r%   r   r      s#        6 6 6 6 6r'   r   c                        e Zd Z fdZ xZS )TestMapboxShapec                 N   t                                                       g d| _        g d| _        d| _        t          | j                  dz  | _        d| _        t          | j                  dz  | _        t          j
        | j        | j                  \  | _        | _        t          j
        | j        g| j        g          \  | _        | _        | j        d         | j        d         c| _        | _        t          j
        | j        | j                  \  | _        | _        d S )N)i- 逄 @B )@9i{)ii 	= g       @)r0   r.   r   )supersetUpxsysx_rangesumx_centery_rangey_centerr	   easting_northing_to_lon_lat	lon_range	lat_rangelon_centerslat_centers
lon_center
lat_centerlonslats)r!   	__class__s    r%   r3   zTestMapboxShape.setUp#   s     .--000*DL))C/*DL))C/).)J4<Y]Ye)f)f&-2-N]Odm_.
 .
*$* ,0+;A+>@PQR@S($@$'RR	4999r'   )r(   r)   r*   r3   __classcell__)rD   s   @r%   r,   r,   "   sA        S S S S S S S S Sr'   r,   c                   B    e Zd ZddZddZd Zd Zd Zd	 Zd
 Z	d Z
dS )TestVLineHLinexr   r   c                    |                      |d         d           |                      |d         |           |                      |d         |           |                      |d         |           |                      |d         |d                    |                      |d         |d	                    |                      |d
         d           d S )Ntypelinex0x1xrefy0r   y1r   yrefpaperassertEqual)r!   shaperH   rO   ydomains        r%   assert_vlinezTestVLineHLine.assert_vline7       v///ta(((ta(((v---tgaj111tgaj111v00000r'   yc                    |                      |d         d           |                      |d         |           |                      |d         |           |                      |d         |           |                      |d         |d                    |                      |d         |d	                    |                      |d
         d           d S )NrK   rL   rP   rQ   rR   rM   r   rN   r   rO   rS   rT   )r!   rV   rZ   rR   xdomains        r%   assert_hlinezTestVLineHLine.assert_hlineA   rY   r'   c                     t          d          }|                     |          }|d         d         }|                     t          |          d           |                     |d         d           d S N   r   r   r   r   )r
   r   rU   lenrX   )r!   vliner$   r   s       r%   test_single_vlinez TestVLineHLine.test_single_vlineK   j    a$$U++x*Va(((&)Q'''''r'   c                     t          d          }|                     |          }|d         d         }|                     t          |          d           |                     |d         d           d S r_   )r   r   rU   ra   r]   )r!   hliner$   r   s       r%   test_single_hlinez TestVLineHLine.test_single_hlineS   rd   r'   c                 h   t          d          t          d          z   t          d          z   t          d          z                       d                              dd          }|                     |          }|d         d         }|                     t          |          d           |                     |d         dd	d
dg           |                     |d         ddd
dg           |                     |d         ddddg           |                     |d         ddddg           d S )Nr      r`      r   vspacinghspacingr   r   rH                 ?)rO   rW   x2x3      ?x4)r
   colsr   r   rU   ra   rX   r!   r   r$   r   s       r%   test_vline_layoutz TestVLineHLine.test_vline_layout[   +   ((U1XX%(("1XX&'+tAwwttQt/K/K 	$$V,,x*Va((( 	&)QS3*EEE&)QTC:FFF&)QTC:FFF&)QTC:FFFFFr'   c                 h   t          d          t          d          z   t          d          z   t          d          z                       d                              dd          }|                     |          }|d         d         }|                     t          |          d           |                     |d         dd	d
dg           |                     |d         ddddg           |                     |d         ddd
dg           |                     |d         ddddg           d S )Nr   ri   r`   rj   r   rk   r   r   rZ   rn   ro   )rR   r\   y2rr   y3y4)r   rt   r   r   rU   ra   r]   ru   s       r%   test_hline_layoutz TestVLineHLine.test_hline_layouti   rw   r'   c                 J    |                      t          d                     d S Nr`   )r&   r
   r!   s    r%   test_vline_stylingz!TestVLineHLine.test_vline_stylingw   "    ))%((33333r'   c                 J    |                      t          d                     d S r~   )r&   r   r   s    r%   test_hline_stylingz!TestVLineHLine.test_hline_stylingz   r   r'   N)rH   rI   )rZ   rI   )r(   r)   r*   rX   r]   rc   rg   rv   r|   r   r   r   r'   r%   rG   rG   5   s        1 1 1 11 1 1 1( ( (( ( (G G GG G G4 4 44 4 4 4 4r'   rG   c                       e Zd ZddZd ZdS )TestPathShaperH   rZ   c           
         |                      |d         d           dd                    d t          |                    d          |                    d                    D                       z   dz   }|                      |d         |           |                      |d	         |           |                      |d
         |           d S )NrK   pathMLc                 "    g | ]\  }}| d | S ) r   ).0rH   rZ   s      r%   
<listcomp>z;TestPathShape.assert_path_shape_element.<locals>.<listcomp>   s9     (K (K (K1aqJJ1JJ(K (K (Kr'   r   r   ZrO   rR   )rU   joinzipdimension_values)r!   rV   r"   rO   rR   expected_paths         r%   assert_path_shape_elementz'TestPathShape.assert_path_shape_element   s    v/// chh (K (K((++W-E-Ea-H-HII(K (K (K L L LNQR 	v666 	v---v-----r'   c                    t          g d          }|                     |          }|d         d         }|                     t          |          d           |                     |d         |           |                     |           d S )N)r   r   r   r   rI   r   r   r   r   r   )r   r   rU   ra   r   r&   )r!   r   r$   r   s       r%   test_simple_pathzTestPathShape.test_simple_path   s    44455$$T**x*Va(((&&vay$777))$/////r'   NrH   rZ   )r(   r)   r*   r   r   r   r'   r%   r   r   ~   s7        . . . .0 0 0 0 0r'   r   c                       e Zd Zd ZdS )TestMapboxPathShapec           	          t          d          t           j        d          j        d         f j        d          j        d         f j        d          j        d         f j        d          j        d         fg          j                             j         j                  z  }                     |          }                     |d         d         d         d                                |d         d         d         d	                                |d         d         d
         t          j	         fddD             t          j
        gz                                             |d         d         d         t          j	         fddD             t          j
        gz                                             |d         d         d         d                                |d         d         d         d         t                                          |d         d         d          j         j        d           d S )N r   r   r   datarK   scattermapboxmodelineslonc                 *    g | ]}j         |         S r   r<   r   ir!   s     r%   r   z8TestMapboxPathShape.test_simple_path.<locals>.<listcomp>   -     <
 <
 <
"#DN1<
 <
 <
r'   )r   r   r   r   latc                 *    g | ]}j         |         S r   r=   r   s     r%   r   z8TestMapboxPathShape.test_simple_path.<locals>.<listcomp>   r   r'   )r   r   r   r   
showlegendFrL   colorr   mapboxcenterr   r   )r	   r   r6   r9   redimranger   rU   nparraynandefault_shape_colorrA   r@   )r!   r   r$   s   `  r%   r   z$TestMapboxPathShape.test_simple_path   sZ   Ryy4\!_dl1o.\!_dl1o.\!_dl1o.\!_dl1o.	!
  
 ldl  
 

 $$T**vq)&1?CCCvq)&17;;;vq)%0"( <
 <
 <
 <
'3<
 <
 <
VH< 3 3 	 	 	 	vq)%0"( <
 <
 <
 <
'3<
 <
 <
VH< 3 3 	 	 	 	vq),7???vq)&1':<OPPP(OH%h/t2 2	
 	
 	
 	
 	
r'   N)r(   r)   r*   r   r   r'   r%   r   r      #        
 
 
 
 
r'   r   c                        e Zd Zd Zd Zd ZdS )
TestBoundsc                     t          d          }|                     |          }|d         d         }|                     t          |          d           |                     |d         |           d S )Nr   ri   r`   rj   r   r   r   r   )r   r   rU   ra   r   )r!   boundsr$   r   s       r%   test_single_boundszTestBounds.test_single_bounds   sl    %%$$V,,x*Va(((&&vay&99999r'   c                 >   t          d          }t          d          }t          d          }t          d          }||z   |z   |z                       d          }|                     |          }|d         d         }|                     t	          |          d           |                     |d	         |d
d           |                     |d         |dd           |                     |d         |dd           |                     |d         |dd           d S )Nr   r   r   r   r   r   ri   ri   r   r   r`   r`   r   r   rj   rj   ri   r   r   rj   r   rH   rZ   rO   rR   r   rp   ry   rq   rz   r`   rs   r{   )r   rt   r   rU   ra   r   )r!   bounds1bounds2bounds3bounds4r   r$   r   s           r%   test_bounds_layoutzTestBounds.test_bounds_layout   s)   &&&&&&&&G##$%)T!WW 	 $$V,,x*Va((( 	&&vay'#&NNN&&vay'4&PPP&&vay'4&PPP&&vay'4&PPPPPr'   c                 J    |                      t          d                     d S )Nr   )r&   r   r   s    r%   test_bounds_stylingzTestBounds.test_bounds_styling   s$    ))&*>*>?????r'   N)r(   r)   r*   r   r   r   r   r'   r%   r   r      sI        : : :Q Q Q(@ @ @ @ @r'   r   c                       e Zd Zd Zd ZdS )TestMapboxBoundsc                     t          d          t           j        d          j        d          j        d          j        d         f          j                             j         j                  z  }                     |          }                     |d         d         d         d                                |d         d         d         d	                                |d         d         d
         t          j	         fddD                                                       |d         d         d         t          j	         fddD                                                       |d         d         d         d                                |d         d         d         d         t                                          |d         d         d          j         j        d           d S )Nr   r   r   r   r   rK   r   r   r   r   c                 *    g | ]}j         |         S r   r   r   s     r%   r   z7TestMapboxBounds.test_single_bounds.<locals>.<listcomp>   r   r'   r   r   r   r   r   r   c                 *    g | ]}j         |         S r   r   r   s     r%   r   z7TestMapboxBounds.test_single_bounds.<locals>.<listcomp>   r   r'   r   r   r   r   r   r   FrL   r   r   r   r   r   )r	   r   r6   r9   r   r   r   rU   r   r   r   rA   r@   )r!   r   r$   s   `  r%   r   z#TestMapboxBounds.test_single_bounds   s   rV\!_dl1ot|AQP
 

ldl  
 

 $$V,,vq)&1?CCCvq)&17;;;vq)%0"( <
 <
 <
 <
'6<
 <
 <
 3 3 	 	 	 	vq)%0"( <
 <
 <
 <
'6<
 <
 <
 3 3 	 	 	 	vq),7???vq)&1':<OPPP(OH%h/t2 2	
 	
 	
 	
 	
r'   c                    t          d          }t          d          }t          d          }t          d          }t          d          |z  t          d          |z  z   t          d          |z  z   t          d          |z  z                       d          }|                     |          }|                     |d         d         d	         d
           |                     |d         d         d	         d           |                     |d         d         d	         d           |                     |d         d         d	         d           |                     d|d                    |                     d|d                    d S )Nr   r   r   r   r   ri   r   r   subplotr   r`   mapbox2r   mapbox3   mapbox4xaxisr   yaxis)r   r	   rt   r   rU   assertNotIn)r!   r   r   r   r   r   r$   s          r%   r   z#TestMapboxBounds.test_bounds_layout   si   &&&&&&&&))g%b		G(;;))g%&(-b		G(;<=AT!WW 	 $$V,,vq))4h???vq))4i@@@vq))4i@@@vq))4i@@@%/222%/22222r'   N)r(   r)   r*   r   r   r   r'   r%   r   r      s2        
 
 
03 3 3 3 3r'   r   c                        e Zd Zd Zd Zd ZdS )TestBoxc                     t          dddd          }|                     |          }|d         d         }|                     t          |          d           |                     |d         |           d S )Nr   )r   ri   r   orientationr   r   )r   r   rU   ra   r   )r!   boxr$   r   s       r%   test_single_boxzTestBox.test_single_box  su    !QA...$$S))x*Va(((&&vay#66666r'   c                 ^   t          dddd          }t          dddd          }t          dddd          }t          dddd	          }||z   |z   |z                       d
          }|                     |          }|d         d         }|                     t	          |          d           |                     |d         |dd           |                     |d         |dd           |                     |d
         |dd           |                     |d         |dd           d S )Nr   r   r   )ri   ri   ro   )r`   r`   rr   )rj   rj   g      ?ri   r   r   rj   rH   rZ   r   r   rp   ry   rq   rz   r`   rs   r{   )r   rt   r   rU   ra   r   )r!   box1box2box3box4r   r$   r   s           r%   r   zTestBox.test_bounds_layout  sL   1aQ///1aS1111aS1111aS111+#tAww 	 $$V,,x*Va((( 	&&vay$Ss&KKK&&vay$T&MMM&&vay$T&MMM&&vay$T&MMMMMr'   c                 N    |                      t          ddd                     d S )Nr   r   )r&   r   r   s    r%   test_box_stylingzTestBox.test_box_styling  s(    ))#aF*;*;<<<<<r'   N)r(   r)   r*   r   r   r   r   r'   r%   r   r     sD        7 7 7N N N(= = = = =r'   r   c                       e Zd Zd ZdS )TestMapboxBoxc                    t          d          t          ddd          j                            | j        | j                  z  }ddg}ddg}t          j        ||          \  |                     |          }|                     |d	         d
         d         d           |                     |d	         d
         d         d           |                     |d	         d
         d         d           |                     |d	         d
         d         d         t                     |                     |d	         d
         d         t          j        fddD                                  |                     |d	         d
         d         t          j        fddD                                  |                     |d         d         d         | j        | j        d           d S )Nr   r   )r/   r.   r   i^i  r1   r/   r   r   rK   r   r   r   r   FrL   r   r   c                      g | ]
}|         S r   r   )r   r   lon_box_ranges     r%   r   z1TestMapboxBox.test_single_box.<locals>.<listcomp>2  +     <
 <
 <
!"M!<
 <
 <
r'   r   r   c                      g | ]
}|         S r   r   )r   r   lat_box_ranges     r%   r   z1TestMapboxBox.test_single_box.<locals>.<listcomp>5  r   r'   r   r   r   r   r   )r	   r   r   r   r6   r9   r;   r   rU   r   r   r   rA   r@   )r!   r   x_box_rangey_box_ranger$   r   r   s        @@r%   r   zTestMapboxBox.test_single_box$  s   Bii#a$677=CCldl D 
 
 
 ')','HVa'b'b$}$$S))vq)&1?CCCvq)&17;;;vq),7???vq)&1':<OPPPvq)%0"( <
 <
 <
 <
&5<
 <
 <
 3 3 	 	 	 	vq)%0"( <
 <
 <
 <
&5<
 <
 <
 3 3 	 	 	 	(OH%h/t2 2	
 	
 	
 	
 	
r'   N)r(   r)   r*   r   r   r'   r%   r   r   #  r   r'   r   c                       e Zd Zd ZdS )TestRectanglesc                    t          ddg          }|                     |          }|d         d         }|                     t          |          d           |                     |d         dddddd	d
ddt          id	           |                     |d         dddddd	d
ddt          id	           |                     |d         d         d         ddg           |                     |d         d         d         ddg           d S )Nr   ri   ri   rj   r`   r   r   ri   r   rectr   rH   rZ   r   r   	rK   rM   rP   rN   rQ   rO   rR   namerL   rj   r`   r   r   r   )r   r   rU   ra   r   r!   boxesr$   r   s       r%   test_boxes_simplez TestRectangles.test_boxes_simpleB  s;   L,788$$U++x*Va(((V1AQ+,c3PR.57J-K%M %M 	N 	N 	N 	V1AQ+,c3PR.57J-K%M %M 	N 	N 	N 	x1':QFCCCx1':QFCCCCCr'   N)r(   r)   r*   r   r   r'   r%   r   r   @  (        D D D D Dr'   r   c                       e Zd Zd ZdS )TestMapboxRectanglesc                 &   t          d          t          dd| j        d         | j        d         f| j        d         | j        d         ddfg          j                            | j        | j                  z  }|                     |          }|                     |d         d         d         d           |                     |d         d         d         d	           |                     |d         d         d
         d           |                     |d         d         d         d         t                     |                     |d         d         d         t          j
        dd| j        d         | j        d         dt          j        | j        d         | j        d         dd| j        d         t          j        g                     |                     |d         d         d         t          j
        d| j        d         | j        d         ddt          j        | j        d         dd| j        d         | j        d         t          j        g                     |                     |d         d         d         | j        | j        d           d S Nr   r   r   r   r   rK   r   r   r   r   FrL   r   r   r   r   r   r   r   )r	   r   r6   r9   r   r   r   rU   r   r   r   r<   r   r=   rA   r@   r!   
rectanglesr$   s      r%   test_rectangles_simplez+TestMapboxRectangles.test_rectangles_simpleR  sa   2YY4<?DLO4\!_dl1oq!4-
 " " ldl  
 


 $$Z00vq)&1?CCCvq)&17;;;vq),7???vq)&1':<OPPPvq)%0"(q$.#T^A%626N1t~a0!Qq8I26<
 3 3 	 	 	 	vq)%0"(t~a $."3Q26N1q!T^A%6q8I26<
 3 3 	 	 	
 	(OH%h/t2 2	
 	
 	
 	
 	
r'   N)r(   r)   r*   r  r   r'   r%   r   r   Q  #        
 
 
 
 
r'   r   c                       e Zd Zd ZdS )TestSegmentsc                    t          ddg          }|                     |          }|d         d         }|                     t          |          d           |                     |d         dddddd	d
ddt          id	           |                     |d         dddddd	d
ddt          id	           |                     |d         d         d         ddg           |                     |d         d         d         ddg           d S )Nr   r   r   r   ri   r   rL   r   rH   rZ   r   r   r   rj   r`   r   r   r   )r   r   rU   ra   r   r   s       r%   test_segments_simplez!TestSegments.test_segments_simpleq  s;   ,566$$U++x*Va(((V1AQ+,c3PR.57J-K%M %M 	N 	N 	N 	V1AQ+,c3PR.57J-K%M %M 	N 	N 	N 	x1':QFCCCx1':QFCCCCCr'   Nr(   r)   r*   r  r   r'   r%   r  r  o  r   r'   r  c                       e Zd Zd ZdS )TestMapboxSegmentsc                    t          d          t          dd| j        d         | j        d         f| j        d         | j        d         ddfg          j                            | j        | j                  z  }|                     |          }|                     |d         d         d         d           |                     |d         d         d         d	           |                     |d         d         d
         d           |                     |d         d         d         d         t                     |                     |d         d         d         t          j
        d| j        d         t          j        | j        d         dt          j        g                     |                     |d         d         d         t          j
        d| j        d         t          j        | j        d         dt          j        g                     |                     |d         d         d         | j        | j        d           d S r   )r	   r   r6   r9   r   r   r   rU   r   r   r   r<   r   r=   rA   r@   r   s      r%   r  z'TestMapboxSegments.test_segments_simple  s   2YY4<?DLO4\!_dl1oq!4+
 " " ldl  
 


 $$Z00vq)&1?CCCvq)&17;;;vq),7???vq)&1':<OPPPvq)%0"(t~a "&N1q"&<
 3 3 	 	 	 	vq)%0"(t~a "&N1q"&<
 3 3 	 	 	
 	(OH%h/t2 2	
 	
 	
 	
 	
r'   Nr  r   r'   r%   r
  r
    r  r'   r
  )numpyr   holoviews.elementr   r   r   r   r   r   r	   r
   	test_plotr   r   r   r,   rG   r   r   r   r   r   r   r   r   r  r
  r   r'   r%   <module>r     s      	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 & % % % % % 6 6 6 6 6 6 6 6 S S S S Sn S S S&F4 F4 F4 F4 F4Y F4 F4 F4R0 0 0 0 0I 0 0 02
 
 
 
 
/ 
 
 
: @  @  @  @  @  @  @  @F(3 (3 (3 (3 (3 (3 (3 (3V= = = = =m = = =B
 
 
 
 
O 
 
 
:D D D D D] D D D"
 
 
 
 
? 
 
 
<D D D D D= D D D"
 
 
 
 
 
 
 
 
 
r'   