o
    ‘iD  ã                   @   s   d dl Z d dlm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 d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ  d dl!Z"d dl#m$Z$m%Z% dd„ Z&dd„ Z'e%dgd	d
dd„ ƒZ(e$dgddd„ ƒZ)dd„ Z*e%dgd	dddd„ ƒZ+dd„ Z,e%dgd	dddd„ ƒZ-dd„ Z.dd „ Z/d!d"„ Z0ej1 2d#g d$¢¡d%d&„ ƒZ3d'd(„ Z4d)d*„ Z5d+d,„ Z6d-d.„ Z7d/d0„ Z8d1d2„ Z9d3d4„ Z:d5d6„ Z;d7d8„ Z<dS )9é    N)Úchain)Úcheck_figures_equalÚimage_comparisonc                  C   s2  t  ¡ } |  dd¡ |  dd¡ d}| j |¡}tj|ddddd}|  |¡ |j	| jks/J ‚tj|dddd dd	}| 
¡ s@J ‚|  |¡ t|j	tjƒsNJ ‚tj|d
d
t ¡ dd}|  |¡ t|j	tjƒshJ ‚tj|ddddd}| ¡ }| 
¡ r|J ‚|  |¡ | ¡ |ks‰J ‚| 
¡ sJ ‚|j	| jks—J ‚d S )Né   é   ©é   r   Úyellowç      à?)ÚwidthÚheightÚfcÚalphaéx   Úcoral)r   r   r   Ú	transformr   éd   )r   r   r   r   )ÚpltÚaxesÚset_xlimÚset_ylimÚ	transDatar   ÚmpatchesÚEllipseÚ	add_patchZ
_transformZis_transform_setÚ
isinstanceÚmtransformsÚIdentityTransformÚget_transform)ÚaxÚxy_dataÚxy_pixÚeZintermediate_transform© r#   úk/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/matplotlib/tests/test_artist.pyÚtest_patch_transform_of_none   s8   
ÿ

ÿ
ÿ
r%   c                  C   s  t  ¡ } |  dd¡ |  dd¡ d}| j |¡}tj|ddd}tj	|gddd}|  
|¡ | ¡ | ¡  | jks;J ‚tj|ddd}tj	|gd	dd}| d ¡ |  
|¡ t| ¡ tjƒs`J ‚tj|d
d
d}tj	|gt ¡ dd}|  
|¡ t| ¡ tjƒs‚J ‚d S )Nr   r   r   )r   r   r	   r
   )Ú	facecolorr   r   r   r   )r   r   )r   r   r   r   r   r   r   r   ÚmcollectionsZPatchCollectionÚadd_collectionZget_offset_transformr   Zset_transformr   r   r   )r   r    r!   r"   Úcr#   r#   r$   Ú!test_collection_transform_of_none?   s.   

ÿ

þ
r*   Zclip_path_clippingT)Úremove_textc            	      C   s  t j ¡  ¡ } |  jd9  _|  jd8  _t j ¡  ¡ }|jd d d… |_t j | |¡}t j d¡ ¡ }| jd9  _tj	ddddd\}\}}t
j|gd	d
dddd}| ||j¡ | |¡ tj|d	d
dddd}| ||j¡ | |¡ | ddg¡ | ddg¡ d S )Né   r   éÿÿÿÿé   gÍÌÌÌÌÌ@r   T)ZsharexZshareyé   ÚblueÚredgffffffæ?Ú*)ÚlwÚ	edgecolorr&   r   Úhatchéýÿÿÿr   )ÚmpathÚPathZunit_rectangleÚdeepcopyZverticesZunit_circleZmake_compound_pathZunit_regular_starr   Úsubplotsr'   ZPathCollectionÚset_clip_pathr   r(   r   Ú	PathPatchr   r   r   )	ZexteriorZinteriorÚ	clip_pathÚstarÚfigÚax1Úax2ÚcolÚpatchr#   r#   r$   Útest_clippingc   s*   ÿ
ÿ
rD   Zpng)Ú
extensionsc                 C   s¨   |   g d¢¡}| ddgddg¡\}t ddgddgddgddgddgg¡}tj||jd}| |¡ |  g d¢¡}| ddgddg¡ |jddd |jddd d S )	N)r   r   r   r   r6   r   r   r   )r   )r
   g      è?)ZxlimZylim)	Zadd_axesÚplotr7   r8   r   r<   r   r;   Úset)Zfig_testZfig_refZax_testÚlÚpZax_refr#   r#   r$   Útest_clipping_zoom   s   (
rJ   c                  C   s–   t j d¡} t j d¡}t ¡ \}}| | |d¡ | dd¡ t ¡ }|j|dd t	| 
¡ ƒdk s4J ‚t ¡ }|j|dd t	| 
¡ ƒdk sIJ ‚d S )	Ni N  zk.r   r   Úpdf)Úformati@  Úsvg)ÚnpÚrandomr   r:   rF   r   ÚioÚBytesIOZsavefigÚlenÚgetvalue)ÚxÚyr?   r   rK   rM   r#   r#   r$   Útest_cull_markers’   s   rV   ZhatchingÚdefault)r+   Ústylec                  C   s°   t  dd¡\} }tjddddd}| |¡ tjddgdg|jdd	}| |¡ tjd
ddddd}| |¡ tjddgdg|jddd}| |¡ | 	dd¡ | 
dd¡ d S )Nr   ©r   r   r   r,   ú/)r5   i€>  )g      ø?ç      @)ÚsizesÚoffsetsÚoffset_transformr5   )r,   r   ZC1)r5   r4   )g      @r[   )r\   r]   r^   r5   r4   r   é   é	   )r   r:   r   Z	Rectangler   r'   ZRegularPolyCollectionr   r(   r   r   )r?   r   Zrect1Zrect2Zrect3Zrect4r#   r#   r$   Útest_hatching£   s"   
þ

þ
ra   c                  C   sú   t  ¡ \} }| t d¡ dd¡¡}| tdƒ¡\}| jsJ ‚|js$J ‚| j	 
¡  | jr.J ‚|jr3J ‚|jr8J ‚||jv s?J ‚||jvsFJ ‚|j|u sMJ ‚| ¡  | ¡  ||fD ]}|jd u sbJ ‚|jd u siJ ‚qY||jvsqJ ‚| jsvJ ‚|js{J ‚d S )Né$   r.   r/   )r   r:   ÚimshowrN   ÚarangeZreshaperF   ÚrangeÚstaleZcanvasÚdrawZ_mouseover_setr   ÚremoveZfigure)r?   r   ZimÚlnÚartr#   r#   r$   Útest_remove½   s(   






rk   zdefault_edges.pngc               	   C   sä   dt jd< t  dd¡\} \\}}\}}| t d¡t d¡dt d¡d t d¡d¡ |jt d¡t d¡dd	 |jd
d
ddtddd | 	d¡ | 
d¡ tjt g d¢tjjtjjtjjtjjg¡d|jd}| |¡ d S )Nr.   ztext.kerning_factorr   é
   rT   r   ÚoÚedge)Úalignr   ZBOXé   Zsawtooth)Zboxstyle)ÚsizeZbbox)r-   r   )rY   ©r   r   ©r   r   rY   Únone)r   r   )r   ZrcParamsr:   rF   rN   rd   ÚbarÚtextÚdictr   r   r   r<   r7   r8   ZMOVETOZCURVE3Z	CLOSEPOLYr   r   )r?   r@   rA   Zax3Zax4Zpp1r#   r#   r$   Útest_default_edgesÚ   s$   
ÿ


ÿÿürx   c                  C   s   t  g g ¡} |  ¡  d S ©N)ÚmlinesÚLine2DÚ
properties)ri   r#   r#   r$   Útest_propertiesï   s   r}   c                  C   s’   t  g ¡ t  g g¡ t  ¡ \} }| tdƒ¡}| tdƒ¡}t t||ƒdd¡ t j|j ¡ dd t	 
¡ }t j|d|d | ¡ dksGJ ‚d S )	Nr   r3   r/   Úgreen)ÚcolorÚzorder)Úfilez  zorder: float
)r   Zsetpr:   rF   re   Úmartistr   ZspinesÚvaluesrP   ÚStringIOrS   )r?   r   Zlines1Zlines2Úsior#   r#   r$   Ú	test_setpô   s   
r†   c                  C   sp   t  ¡ \} }|jtdƒd d\}| ¡ tjjksJ ‚| d¡ | ¡ dks'J ‚| d ¡ | ¡ tjjks6J ‚d S )Nr/   )r€   i@â )	r   r:   rF   re   Z
get_zorderrz   r{   r€   Ú
set_zorder)r?   r   ri   r#   r#   r$   Útest_None_zorder  s   

rˆ   zaccept_clause, expected))Ú Úunknown)zACCEPTS: [ '-' | '--' | '-.' ]z[ '-' | '--' | '-.' ])zACCEPTS: Some description.úSome description.)z.. ACCEPTS: Some description.r‹   )z	arg : intÚint)z
*arg : intrŒ   )z"arg : int
ACCEPTS: Something else.zSomething else. c                 C   s>   G dd„ dt jƒ}d|  |j_t  |¡ d¡}||ksJ ‚d S )Nc                   @   ó   e Zd Zdd„ ZdS )z:test_artist_inspector_get_valid_values.<locals>.TestArtistc                 S   ó   d S ry   r#   )ÚselfÚargr#   r#   r$   Úset_f  ó   z@test_artist_inspector_get_valid_values.<locals>.TestArtist.set_fN)Ú__name__Ú
__module__Ú__qualname__r‘   r#   r#   r#   r$   Ú
TestArtist  ó    r–   z
    Some text.

    %s
    Úf)r‚   ÚArtistr‘   Ú__doc__ÚArtistInspectorZget_valid_values)Zaccept_clauseÚexpectedr–   Zvalid_valuesr#   r#   r$   Ú&test_artist_inspector_get_valid_values  s   
ür   c                  C   s*   t  tj¡} |  ¡ }|d dhksJ ‚d S )NZ	linewidthr3   )r‚   r›   rz   r{   Zget_aliases)ZaiÚaliasesr#   r#   r$   Ú!test_artist_inspector_get_aliases'  s   rŸ   c                  C   sô   t  ¡ } tjtdd |  d¡ W d   ƒ n1 sw   Y  tjtdd |  g d¢¡ W d   ƒ n1 s9w   Y  tjtdd |  d¡ W d   ƒ n1 sUw   Y  tjtdd |  tj¡ W d   ƒ d S 1 ssw   Y  d S )Nú^alpha must be numeric or None©ÚmatchÚstring)r   r   r   úoutside 0-1 rangeçš™™™™™ñ?)	r‚   r™   ÚpytestÚraisesÚ	TypeErrorZ	set_alphaÚ
ValueErrorrN   Únan©rj   r#   r#   r$   Útest_set_alpha.  s   ÿÿÿ"ÿr¬   c                  C   s2  t  ¡ } tjtdd |  d¡ W d   ƒ n1 sw   Y  tjtdd |  d¡ W d   ƒ n1 s7w   Y  tjtdd |  tj¡ W d   ƒ n1 sTw   Y  tjtdd |  ddg¡ W d   ƒ n1 srw   Y  tjtdd |  dtjg¡ W d   ƒ d S 1 s’w   Y  d S )Nr    r¡   r£   r¤   r¥   zalpha must be between 0 and 1r
   )	r‚   r™   r¦   r§   r¨   Z_set_alpha_for_arrayr©   rN   rª   r«   r#   r#   r$   Útest_set_alpha_for_array:  s    ÿÿÿÿ"ÿr­   c                     s„   ‡ fdd„‰ dˆ _ t ¡ } |  ˆ ¡}ˆ j dksJ ‚|  ¡  ˆ j dks$J ‚|  d¡ ˆ j dks0J ‚|  |¡ |  ¡  ˆ j dks@J ‚d S )Nc                    s   ˆ  j d7  _ d S )Nr   )Úcounter)Úartist©Úfuncr#   r$   r±   I  s   ztest_callbacks.<locals>.funcr   r   rl   r   )r®   r‚   r™   Zadd_callbackZpchangedr‡   Zremove_callback)rj   Úoidr#   r°   r$   Útest_callbacksH  s   


r³   c                  C   sv   G dd„ dt jƒ} t| jdƒsJ ‚d| jjv sJ ‚G dd„ d| ƒ}t|jdƒs)J ‚d|jjv s1J ‚d|jjv s9J ‚dS )	z3Test autogenerated ``set()`` for Artist subclasses.c                   @   r   )z%test_set_signature.<locals>.MyArtist1c                 S   rŽ   ry   r#   ©r   Úvalr#   r#   r$   Úset_myparam1]  r’   z2test_set_signature.<locals>.MyArtist1.set_myparam1N)r“   r”   r•   r¶   r#   r#   r#   r$   Ú	MyArtist1\  r—   r·   Ú_autogenerated_signatureZmyparam1c                   @   r   )z%test_set_signature.<locals>.MyArtist2c                 S   rŽ   ry   r#   r´   r#   r#   r$   Úset_myparam2d  r’   z2test_set_signature.<locals>.MyArtist2.set_myparam2N)r“   r”   r•   r¹   r#   r#   r#   r$   Ú	MyArtist2c  r—   rº   Zmyparam2N©r‚   r™   ÚhasattrrG   rš   )r·   rº   r#   r#   r$   Útest_set_signatureZ  s   r½   c                  C   sV   G dd„ dt jƒ} t| jdƒrJ ‚| jjdksJ ‚G dd„ d| ƒ}|j| ju s)J ‚dS )z=set() defined in Artist subclasses should not be overwritten.c                   @   r   )z*test_set_is_overwritten.<locals>.MyArtist3c                 [   s   dS )úNot overwritten.Nr#   )r   Úkwargsr#   r#   r$   rG   p  s    z.test_set_is_overwritten.<locals>.MyArtist3.setN)r“   r”   r•   rG   r#   r#   r#   r$   Ú	MyArtist3n  s    rÀ   r¸   r¾   c                   @   ó   e Zd ZdS )z*test_set_is_overwritten.<locals>.MyArtist4N©r“   r”   r•   r#   r#   r#   r$   Ú	MyArtist4v  ó    rÃ   Nr»   )rÀ   rÃ   r#   r#   r$   Útest_set_is_overwrittenl  s
   rÅ   c            	      C   s~  t  d¡} d| d< d| d< d| d< d| d	< d
| d< d| d< d| d< d| d< d| d< t ¡ \}}| d¡ t t  ddd¡d¡}|j| d|d}g d¢}t	| j
|ƒD ]\}}| |¡|ks^J ‚qQt ¡  t ¡ \}}| d¡ tjd  d¡}t t  ddd¡d¡}|j| ||d}g d¢}t	| j
|ƒD ]\}}| |¡|ks J ‚q“t ¡  t ¡ \}}| d¡ tjd  d¡}t t  ddd¡d¡}|j| ||d}g d¢}t	| j
|ƒD ]\}}| |¡|ksâJ ‚qÕt ¡  t  d ¡} d!| d
< d"| d< d#| d$< d%| d&< d| d'< d(| d)< d*| d+< g d,¢}t ¡ \}}| d-¡ tjt jd
dd'd.d/dd0d1d2}|j| d|d}t	| j
|ƒD ]\}}| |¡|ksCJ ‚q5t ¡  t ¡ \}}| d3¡ tjt jd
dd'd.d/dd0d4d2}|j| d|d}t	| j
|ƒD ]\}}| |¡|ks€J ‚qrt ¡  t ¡ \}}| d5¡ tjt jd
dd'd.d/dd0d6d2}|j| d|d}t	| j
|ƒD ]\}}| |¡|ks½J ‚q¯t ¡  t ¡ \}}| d7¡ tjt jd
dd'd.d/dd0d8d2}|j| d|d}t	| j
|ƒD ]\}}| |¡|ksúJ ‚qìt ¡  t ¡ \}}| d9¡ tjt jd
dd'd.d/dd.d1d2}|j| d|d}t	| j
|ƒD ]\}}| |¡|ks7J ‚q)t ¡  d:S );z7Test if cursor data is correct when using BoundaryNorm.)r   r   gÍÌÌÌÌÌì?rY   g®Gáz®ï?)r   r   g+‡ÙÎ÷ï?)r   r   r-   rr   r   rs   r   )r   r   g
×£p=
·?)r   r   g;ßO—n‚?)r   r   g’ËH¿}M?r   z-1..1 to 0..256 in 0.1é   é   ZRdBu_r)ÚcmapÚnorm)	ú[0.9]ú[1.]rË   ú[-1.0]ú[0.0]ú[1.0]ú[0.09]ú[0.009]ú[0.0009]z-1..1 to 0..256 in 0.01éÈ   )	z[0.90]z[0.99]rÎ   z[-1.00]z[0.00]z[1.00]rÏ   rÐ   rÑ   z-1..1 to 0..256 in 0.001iÐ  )	z[0.900]z[0.990]z[0.999]z[-1.000]z[0.000]z[1.000]z[0.090]rÐ   rÑ   )r_   r   g      ð¿g        gš™™™™™¹?r   r
   r   r,   g      ð?r/   g       @r.   )rÌ   rÍ   z[0.1]z[0.5]rÊ   rÎ   z[2.0]znoclip, neitherT)ZendpointFZneither)ZclipÚextendznoclip, minÚminznoclip, maxÚmaxznoclip, bothZbothzclip, neitherN)rN   Úemptyr   r:   ZsuptitleÚmcolorsZBoundaryNormZlinspacerc   ÚzipZflatZformat_cursor_dataÚcloseÚmplZ	colormapsZ	resampled)	ÚXr?   r   rÉ   ZimgZlabels_listÚvÚlabelrÈ   r#   r#   r$   Ú$test_format_cursor_data_BoundaryNorm|  s´   






ÿ
ÿ
ÿ
ÿ
ÿrÞ   c                  C   sf   G dd„ dt jƒ} d| jv sJ ‚| jd | ju sJ ‚G dd„ d| ƒ}d|jvs)J ‚|j| ju s1J ‚d S )Nc                   @   rÁ   )z$test_auto_no_rasterize.<locals>.Gen1NrÂ   r#   r#   r#   r$   ÚGen1  rÄ   rß   rg   c                   @   rÁ   )z$test_auto_no_rasterize.<locals>.Gen2NrÂ   r#   r#   r#   r$   ÚGen2$  rÄ   rà   )r‚   r™   Ú__dict__rg   )rß   rà   r#   r#   r$   Útest_auto_no_rasterize  s   râ   c                  C   sN   G dd„ dt jƒ} | ƒ }t ¡ }d| |d¡ksJ ‚d|j|ddks%J ‚d S )Nc                   @   r   )z1test_draw_wraper_forward_input.<locals>.TestKlassc                 S   s   |S ry   r#   )r   ÚrendererÚextrar#   r#   r$   rg   -  r’   z6test_draw_wraper_forward_input.<locals>.TestKlass.drawN)r“   r”   r•   rg   r#   r#   r#   r$   Ú	TestKlass,  r—   rå   Zaardvark)rä   )r‚   r™   Úmbackend_basesZRendererBaserg   )rå   rj   rã   r#   r#   r$   Útest_draw_wraper_forward_input+  s
   rç   )=rP   Ú	itertoolsr   ÚnumpyrN   r¦   Zmatplotlib.colorsÚcolorsr×   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.patchesZpatchesr   Zmatplotlib.linesÚlinesrz   Zmatplotlib.pathÚpathr7   Zmatplotlib.transformsZ
transformsr   Zmatplotlib.collectionsÚcollectionsr'   Zmatplotlib.artistr¯   r‚   Zmatplotlib.backend_basesZbackend_basesræ   Z
matplotlibrÚ   Zmatplotlib.testing.decoratorsr   r   r%   r*   rD   rJ   rV   ra   rk   rx   r}   r†   rˆ   ÚmarkZparametrizer   rŸ   r¬   r­   r³   r½   rÅ   rÞ   râ   rç   r#   r#   r#   r$   Ú<module>   sT    *$






	 "