Ë
    {�h7  ã                   óª   — d dl Z d dlZd dlZd dlmZ d dlmZ ddlm	Z	 ddl
mZmZ ddlm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y)é    N)Úassert_warns)ÚVersioné   )ÚExporter)ÚFakeRendererÚFullFakeRendereré   )Úpltc                 ó`   —  |«       }t        |«      }|j                  | «       |j                  S ©N)r   ÚrunÚoutput)ÚfigÚRendererÚrendererÚexporters       ún/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/plotly/matplotlylib/mplexporter/tests/test_basic.pyÚfake_renderer_outputr      s)   € Ù‹z€HÜ˜Ó!€HØ‡L�L�ÔØ�?‰?Ðó    c                 óª   — t        | j                  «       j                  «       |j                  «       j                  «       «      D ]  \  }}||k(  rŒJ ‚ y r   )ÚzipÚstripÚsplit)Útext1Útext2Úline1Úline2s       r   Ú_assert_output_equalr      sF   € Ü˜EŸK™K›M×/Ñ/Ó1°5·;±;³=×3FÑ3FÓ3HÓIò ‰ˆˆuØ˜‹~Ðˆ~ñr   c                  óÐ   — t        j                  «       \  } }|j                  t        d«      d«       t	        t        | t        «      d«       t	        t        | t        «      d«       y )Né   z-kzê
                         opening figure
                         opening axes
                         draw path with 20 vertices
                         closing axes
                         closing figure
                         zè
                         opening figure
                         opening axes
                         draw line with 20 points
                         closing axes
                         closing figure
                         ©r
   ÚsubplotsÚplotÚranger   r   r   r   ©r   Úaxs     r   Ú
test_linesr'      sT   € Ü�l‰l‹n�G€CˆØ‡G�GŒE�"‹I�tÔäÜ˜S¤,Ó/ð	ô	ô Ü˜SÔ"2Ó3ð	õ	r   c                  óÐ   — t        j                  «       \  } }|j                  t        d«      d«       t	        t        | t        «      d«       t	        t        | t        «      d«       y )Nr   Úoka  
                         opening figure
                         opening axes
                         draw path with 25 vertices
                         draw path with 25 vertices
                         closing axes
                         closing figure
                         zÞ
                         opening figure
                         opening axes
                         draw 2 markers
                         closing axes
                         closing figure
                         r!   r%   s     r   Útest_markersr*   3   sT   € Ü�l‰l‹n�G€CˆØ‡G�GŒE�!‹H�dÔäÜ˜S¤,Ó/ð	ô
ô Ü˜SÔ"2Ó3ð	õ	r   c                  óâ   — t        j                  «       \  } }|j                  t        d«      t        d«      «       t	        t        | t        «      d«       t	        t        | t        «      d«       y )Né   aR  
                         opening figure
                         opening axes
                         draw path with 25 vertices
                         draw path with 25 vertices
                         draw path with 25 vertices
                         closing axes
                         closing figure
                         zó
                         opening figure
                         opening axes
                         draw path collection with 3 offsets
                         closing axes
                         closing figure
                         )r
   r"   Úscatterr$   r   r   r   r   r%   s     r   Útest_path_collectionr.   O   sX   € Ü�l‰l‹n�G€CˆØ‡J�JŒu�Q‹xœ˜q›Ô"äÜ˜S¤,Ó/ð	ôô Ü˜SÔ"2Ó3ð	õ	r   c                  óò   — t        j                  «       \  } }|j                  d«       |j                  d«       |j	                  d«       |j                  ddd«       t        t        | t        «      d«       y )Nz
my x labelz
my y labelzmy titleg      à?zmy textaŠ  
                         opening figure
                         opening axes
                         draw text 'my text' None
                         draw text 'my x label' xlabel
                         draw text 'my y label' ylabel
                         draw text 'my title' title
                         closing axes
                         closing figure
                         )	r
   r"   Ú
set_xlabelÚ
set_ylabelÚ	set_titleÚtextr   r   r   r%   s     r   Ú	test_textr4   l   s\   € Ü�l‰l‹n�G€CˆØ‡M�M�,ÔØ‡M�M�,ÔØ‡L�L�ÔØ‡G�GˆC��iÔ äÜ˜S¤,Ó/ð		õr   c                  óü   — t        j                  «       \  } }|j                  t        j                  dd«      «       |j                  t        j                  ddd«      «       t        t        | t        «      d«       y )N©r   r   r	   r   á  
                         opening figure
                         opening axes
                         draw path with 25 vertices
                         draw path with 4 vertices
                         closing axes
                         closing figure
                         )r
   r"   Ú	add_patchÚCircleÚ	Rectangler   r   r   r%   s     r   Ú	test_pathr;   ‚   sX   € Ü�l‰l‹n�G€CˆØ‡L�L”—‘˜F AÓ&Ô'Ø‡L�L”—‘˜v q¨!Ó,Ô-äÜ˜S¤,Ó/ð	õ
r   c                  ó  — t        j                  «       } | j                  d«      }|j                  t        j                  dd«      «       |j                  t        j
                  ddd«      «       t        t        | t        «      d«       y)zLif the fig is not associated with a canvas, FakeRenderer shall
    not fail.éo   r6   r	   r   r7   N)	r
   ÚFigureÚadd_subplotr8   r9   r:   r   r   r   r%   s     r   Útest_Figurer@   ”   sd   € ô �*‰*‹,€CØ	�‰˜Ó	€BØ‡L�L”—‘˜F AÓ&Ô'Ø‡L�L”—‘˜v q¨!Ó,Ô-äÜ˜S¤,Ó/ð	õ
r   c                  óÜ   — t        j                  d«      \  } }|d   j                  t        d«      «       |d   j                  t        d«      «       t	        t        | t        «      d«       y )Nr   r   é   r	   é
   ai  
                         opening figure
                         opening axes
                         draw path with 4 vertices
                         closing axes
                         opening axes
                         draw path with 10 vertices
                         closing axes
                         closing figure
                         )r
   r"   r#   r$   r   r   r   r%   s     r   Útest_multiaxesrD   ©   sR   € Ü�l‰l˜1‹o�G€CˆØ€q�E‡J�JŒu�Q‹xÔØ€q�E‡J�JŒu�R‹yÔäÜ˜S¤,Ó/ð		õr   c                  ó¼  — t        t        j                  «      t        d«      k(  rd} nt        j                  d«       t
        j                  j                  d«       t        j                  d¬«      \  }}|j                  t
        j                  j                  d«      t        j                  j                  d¬	«       t        t        |t        «      d
 › d�«       y )Nz3.4.1i°  zTest fails for older matplotlibr   )r   r   )Úfigsize)rC   rC   Únearest)ÚcmapÚinterpolationz{
                         opening figure
                         opening axes
                         draw image of size zi 
                         closing axes
                         closing figure
                         )r   Ú
matplotlibÚ__version__ÚpytestÚskipÚnpÚrandomÚseedr
   r"   ÚimshowÚcmÚjetr   r   r   )Ú
image_sizer   r&   s      r   Ú
test_imagerU   ½   s¡   € ô Œz×%Ñ%Ó&¬'°'Ó*:Ò:Ø‰
ä�‰Ð5Ô6Ü‡I�I‡N�N�1ÔÜ�l‰l 6Ô*�G€CˆØ‡I�IŒb�i‰i×Ñ˜xÓ(¬s¯v©v¯z©zÈ€IÔSÜÜ˜S¤,Ó/ð-ð .8¨Lð 9ð	õ	r   c                  óÎ   — t        j                  «       \  } }|j                  g d¢d¬«       |j                  «       j	                  d«       t        t        | t        «      d«       y )N©r	   r   r,   Úlabel©rX   Fa9  
                         opening figure
                         opening axes
                         draw path with 3 vertices
                         opening legend
                         closing legend
                         closing axes
                         closing figure
                         )r
   r"   r#   ÚlegendÚset_visibler   r   r   r%   s     r   Útest_legendr\   Ó   sL   € Ü�l‰l‹n�G€CˆØ‡G�GŠI˜W€GÔ%Ø‡I�IƒK×Ñ˜EÔ"ÜÜ˜S¤,Ó/ð	õr   c                  óú   — t        j                  «       \  } }|j                  g d¢d¬«       |j                  g d¢dd¬«       |j                  «       j	                  d«       t        t        | t        «      d«       y )	NrW   rX   rY   )r   r   r   ÚoÚdotsTaK  
                         opening figure
                         opening axes
                         draw line with 3 points
                         draw 3 markers
                         opening legend
                         draw line with 2 points
                         draw text 'label' None
                         draw 1 markers
                         draw text 'dots' None
                         draw path with 13 vertices
                         closing legend
                         closing axes
                         closing figure
                         )r
   r"   r#   rZ   r[   r   r   r   r%   s     r   Útest_legend_dotsr`   å   sa   € Ü�l‰l‹n�G€CˆØ‡G�GŠI˜W€GÔ%Ø‡G�GŠI�s &€GÔ)Ø‡I�IƒK×Ñ˜DÔ!ô Ü˜SÔ"2Ó3ð	õr   c                  óT   — t        j                  «       \  } }|j                  d«       y )Nr   )r
   r"   Úaxvliner%   s     r   Útest_blendedrc      s   € Ü�l‰l‹n�G€CˆØ‡J�Jˆq…Mr   )rJ   ÚnumpyrN   rL   Únumpy.testingr   Úpackaging.versionr   r   r   Ú	renderersr   r   Ú r
   r   r   r'   r*   r.   r4   r;   r@   rD   rU   r\   r`   rc   © r   r   ú<module>rj      s^   ðÛ Û Û Ý &Ý %å ß 6Ý òòò
ò6ò8ò:ò,ò$ò*ò(ò,ò$ó6r   