a
    ü
þd{s  ã                   @   sp  d Z ddlZddlmZmZ ddlZddlZddl	m
Z
mZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZmZ m!Z"m#Z$m%Z% ddl&Z&e&j'dkZ(d	d
„ Z)dd„ Z*dd„ Z+edgddd„ ƒZ,edgddd„ ƒZ-dd„ Z.edgƒdd„ ƒZ/edgdddd„ ƒZ0edgddd d!„ ƒZ1ej2 3d"¡d#d$„ ƒZ4ed%gddd&d'„ ƒZ5d(d)„ Z6edgdd*d+„ ƒZ7d,d-„ Z8ed.gde(r˜d/ndd0d1d2„ ƒZ9d3d4„ Z:ed5gdd"d6d7d8„ ƒZ;ed9gƒd:d;„ ƒZ<ed<gd=dd>d?d@„ ƒZ=edgddAdB„ ƒZ>dCdD„ Z?dEdF„ Z@dGdH„ ZAdIdJ„ ZBedgddKdL„ ƒZCdMdN„ ZDdOdP„ ZEedQgd=dRdSdT„ ƒZFedUgd=dRdVdW„ ƒZGdXdY„ ZHejI JdZd[¡d\d]„ ƒZKed^gdgd_d`da„ ƒZLed^gdgd_dbdc„ ƒZMed^gdgd_ddde„ ƒZNdfdg„ ZOejI Jdhdi¡djdk„ ƒZPdldm„ ZQdndo„ ZRdpdq„ ZSdrds„ ZTdtdu„ ZUedvgddwgd=ddxdydz„ ƒZVeg d{¢dd|d}„ ƒZWeg d{¢dd~d„ ƒZXdS )€z'
Tests specific to the patches module.
é    N)Úassert_almost_equalÚassert_array_equal)	ÚAnnulusÚEllipseÚPatchÚPolygonÚ	RectangleÚFancyArrowPatchÚ
FancyArrowÚBoxStyleÚArc)Úimage_comparisonÚcheck_figures_equal)ÚBbox)ÚcollectionsÚcolorsÚpatchesÚpathÚ
transformsÚrcParamsÚwin32c                  C   s  ddgddgddgg} | ddgg }t | dd}| ¡ s<J ‚t| ¡ |ƒ | | ¡ t| ¡ |ƒ t |dd}t| ¡ | ƒ | |¡ t| ¡ | ƒ t | dd}| ¡ r¬J ‚t| ¡ | ƒ | | ¡ t| ¡ | ƒ t |dd}t| ¡ |ƒ | |¡ t| ¡ |ƒ d S )Nr   é   T©ÚclosedF)r   Z
get_closedr   Zget_xyZset_xy)ÚxyZxyclosedÚp© r   úf/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/matplotlib/tests/test_patches.pyÚtest_Polygon_close   s(    



r   c            	      C   sV  ddg} d}d}d}t | ||ƒ}t| ¡ |ƒ t| ¡ dƒ d}| d¡ t| ¡ |ƒ t| ¡ d	ƒ d
}t ¡ jg | ¢t 	|¡‘R Ž }| 
|¡}| |¡ t| ¡ |ƒ | d |d  | d |d  g} t| ||ƒ}t| ¡ |ƒ d}| d¡ t| ¡ |ƒ t| ¡ | ƒ d
}t ¡ jg | ¢t 	|¡‘R Ž }| 
|¡}| |¡ t| ¡ |ƒ d S )Né
   é   r   é   )©r   r    )é   r    )r#   é   )r   r$   )g      %@é   )r"   )r   r%   )é   r%   )r&   r    éZ   )é	   ç     €4@é!   r   ))ç      '@r)   )r+   ç     €5@)ç      #@r,   )r-   r)   )r   r   Zget_cornersZ
get_centerÚ	set_angleÚmtransformsZAffine2DZrotate_aroundÚnpZdeg2radÚ	transformr   r   )	ÚlocÚwidthÚheightZcornersÚrectZcorners_rotÚthetaÚtZellipser   r   r   Útest_corner_center;   s<    


ÿ


r8   c            	      C   s    t  ddg¡} d}d}d}t| |||d}t| ||ƒ}t j| d }t  t  |¡t  |¡ gt  |¡t  |¡gg¡}t  || ¡ |  ¡j	|  }t
| ¡ |ƒ d S )Nç      ð?g       @r!   é   g      >@©Úangleç     €f@)r0   Úasarrayr   ÚpiÚarrayÚcosÚsinÚinnerÚ	get_vertsÚTr   )	r2   r3   r4   r<   Zrect1Zrect2Z	angle_radZrotation_matrixZ	new_vertsr   r   r   Útest_rotate_rectk   s    ÿrF   Úpng)Ú
extensionsc           
      C   sŽ   |   ¡ }|  ¡ }d}d\}}d}t||||d}| |¡ | ¡ |ksJJ ‚t|||ƒ}	|	 ¡ dksfJ ‚| |	¡ |	 |¡ |	 ¡ |ksŠJ ‚d S )N©r   r   ©r   r   é   r;   r   )Úadd_subplotr   Ú	add_patchZ	get_angler.   )
Úfig_testÚfig_refÚax_testÚax_refr2   r3   r4   r<   Úrect_refÚ	rect_testr   r   r   Útest_rotate_rect_drawƒ   s    


rT   c              	   C   s  |   ¡ }|  ¡ }d}d\}}t|||dddddgfd}t|||dddg d	¢fd}| ¡ dddgfkslJ ‚| ¡ dg d	¢fks„J ‚| |¡ | |¡ t|||dddddgfd}	t|||dddddgfd}
|	 ¡ dddgfksèJ ‚|
 ¡ dddgfksJ ‚| |	¡ | |
¡ d S )
N©çš™™™™™¹?rV   )çš™™™™™é?rW   r:   Úbr   é   )Ú	linewidthÚ	edgecolorÚ	linestyleÚr)r   rY   rY   r   )rL   r   Úget_linestylerM   )rN   rO   rP   rQ   r2   r3   r4   rR   Z	rect_ref2rS   Z
rect_test2r   r   r   Útest_dash_offset_patch_draw˜   s0    
ÿ
ÿ


ÿ
ÿ
r_   c                  C   sH   t dddƒ ¡ d d… } t dddƒ ¡ d d… }tt |dd¡| ƒ d S )	N)éýÿÿÿéþÿÿÿr:   r!   éÿÿÿÿrI   r`   ra   r   )r   rD   r   r0   Zroll)Zpos_verticesZneg_verticesr   r   r   Útest_negative_rectº   s    rc   Úclip_to_bboxc            	      C   sú   t  ¡ \} }| ddg¡ | ddg¡ tj d¡ ¡ }| jddg9  _| jddg8  _tj 	¡  ¡ }| jddg9  _| jdd	g7  _tj 
||¡}tj|d
ddd}| |¡ t ddgddgg¡}| |¡}tj|d
dddd}| |¡ d S )Niîÿÿÿr    ijÿÿÿéd   r&   r   é   é   içÿÿÿç      à?ZcoralÚnone)ÚalphaÚ	facecolorr[   iôÿÿÿg     `SÀé2   i’ÿÿÿZgreené   Úblack)rj   rk   Úlwr[   )ÚpltÚsubplotsÚset_xlimÚset_ylimÚmpathÚPathÚunit_regular_starÚdeepcopyÚverticesÚunit_circleZmake_compound_pathÚmpatchesÚ	PathPatchrM   r/   r   rd   )	ÚfigÚaxr   Úpath2ZcombinedÚpatchÚbboxÚresult_pathZresult_patchr   r   r   Útest_clip_to_bboxÂ   s(    ÿ


ÿr‚   Zpatch_alpha_coloringT)Úremove_textc            	      C   sÆ   t j d¡} t j ¡ }t |j| jddd… g¡}t |j| jg¡}t  ||¡}t  |d |¡}t 	¡ }t
j|gddddd	}| |¡ tj|ddddd
}| |¡ | ddg¡ | ddg¡ dS )z†
    Test checks that the patch and collection are rendered with the specified
    alpha values in their facecolor and edgecolor.
    rY   Nrb   r   rf   Údashdot©r   r   r   rh   ©r   r   r   g      è?©rZ   Ú
linestylesrk   r[   ©rZ   r\   rk   r[   r!   ©rt   ru   rv   ry   r0   Úconcatenaterx   Úcodesrp   ÚaxesÚmcollectionsZPathCollectionÚadd_collectionrz   r{   rM   rr   rs   ©	ÚstarÚcircleÚvertsrŒ   Z	cut_star1Z	cut_star2r}   Úcolr   r   r   r   Útest_patch_alpha_coloringÞ   s*    
ý
ý
r•   Zpatch_alpha_overridec            	      C   sÊ   t j d¡} t j ¡ }t |j| jd d d… g¡}t |j| jg¡}t  ||¡}t  |d |¡}t 	¡ }t
j|gdddddd	}| |¡ tj|dddddd
}| |¡ | ddg¡ | ddg¡ d S )NrY   rb   r   rf   r„   ç      Ð?r…   r†   )rZ   rˆ   rj   rk   r[   )rZ   r\   rj   rk   r[   r!   rŠ   r   r   r   r   Útest_patch_alpha_overrideý   s.    
ü
ü
r—   Údefaultc                  C   s*   t jddddd} |  ¡ d dks&J ‚d S )NrI   r   ri   )rk   rj   r   )rp   ÚCircleÚget_facecolor)Úcr   r   r   Útest_patch_color_none  s    rœ   Zpatch_custom_linestylec            	      C   sÈ   t j d¡} t j ¡ }t |j| jd d d… g¡}t |j| jg¡}t  ||¡}t  |d |¡}t 	¡ }t
j|gddgddd}| |¡ tj|ddddd	}| |¡ | dd
g¡ | dd
g¡ d S )NrY   rb   r   rf   )r   )rf   é   r   r   ©r   r   r   ©r   r   r   r‡   r‰   r!   rŠ   r   r   r   r   Útest_patch_custom_linestyle%  s*    
ý
ý
r    c            
      C   sÊ   t j d¡} t j ¡ }t |j| jd d d… g¡}t |j| jg¡}g d¢}t 	¡ \}}t
|ƒD ]6\}}t  || |¡} tj| d|ddd}	| |	¡ q`| d|d g¡ | d|d g¡ |j ¡  d S )	NrY   rb   )ú-ú--z-.ú:ÚsolidZdashedr„   Zdottedr:   rž   rŸ   r‰   r   )rt   ru   rv   ry   r0   r‹   rx   rŒ   rp   rq   Ú	enumeraterz   r{   rM   rr   rs   ZcanvasZdraw)
r‘   r’   r“   rŒ   rˆ   r|   r}   ÚiÚlsr   r   r   r   Útest_patch_linestyle_accentsB  s"    
ýr¨   c           	      C   sÌ   t j ¡ }|  ¡ }| ¡ }tg d¢ƒD ]X\}}t  |j| |j¡}tj|d|ddd}| 	|¡ tj|ddddd}| 	|¡ q&| 
d|d	 g¡ | d|d	 g¡ | 
d|d	 g¡ | d|d	 g¡ d S )
N)ri   ÚNoneú Ú r:   rž   rŸ   r‰   r¡   ri   rb   r   )rt   ru   ry   rL   r¥   rx   rŒ   rz   r{   rM   rr   rs   )	rN   rO   r’   rP   rQ   r¦   r§   r   r   r   r   r   Útest_patch_linestyle_none\  s*    
ý
ýr¬   c                  C   s€   ddddddœ} dd„ |   ¡ D ƒ}tjf i |¤Ž}|   ¡ D ]@\}\}}}t||ƒ|ksZJ ‚t||ƒ|ƒ t||ƒ|ks:J ‚q:d S )	N)rI   rJ   Z
set_center)rf   r&   Z
set_radius)r!   r:   Ú	set_width)r   rK   Z
set_theta1)é-   rl   Z
set_theta2)Úcenterr]   r3   Útheta1Útheta2c                 S   s   i | ]\}}||d  “qS )r   r   )Ú.0ÚkÚvr   r   r   Ú
<dictcomp>}  ó    z'test_wedge_movement.<locals>.<dictcomp>)Úitemsrz   ÚWedgeÚgetattr)Z
param_dictZ	init_argsÚwÚattrZold_vZnew_vÚfuncr   r   r   Útest_wedge_movementv  s    ür½   Zwedge_rangegffffffú?)rƒ   Ztolc            	   
   C   s¾   t  ¡ } d}ddgddg||d gddgd	d
gddgddgddgddgg	}t|ƒD ]J\}\}}|d }|d }tj|d |d fd||dddd}|  |¡ qR|  ddg¡ |  ddg¡ d S )NgÁoÛàÍ‚@gœ‚Þ,(J@g§ 7
m@gü¶Þ,(J@g¿mƒ7
m@r=   r   éh  r'   iÂ  iLÿÿÿé´   i|  r®   é.   r:   r   ri   r³   )rk   r[   ro   ra   r&   r(   )rp   r   r¥   rz   r¸   Ú
add_artistrr   rs   )	r}   Út1Úargsr¦   r°   r±   ÚxÚyZwedger   r   r   Útest_wedge_range‡  s*    
ø
ÿrÆ   c                  C   sD  t jddd} t| ƒdksJ ‚t jddddd} t| ƒdks@J ‚t jddddd} t| ƒd	ksbJ ‚t jddddd
d} t| ƒdks†J ‚t jddddd
dd} d}t| ƒ|ks°J ‚t jddddd} d}t| ƒ|ksÖJ ‚t jdddd} t| ƒdksöJ ‚t j	dddd} t| ƒdksJ ‚t j
dddd} t| ƒdks:J ‚tjg d¢dd}t  |¡} t| ƒdkshJ ‚t  t d ¡¡} t| ƒd!ksŠJ ‚ddgddgddgg}t  |¡} t| ƒd"ks¼J ‚t j|d#} t| ƒd$d%… d&ksâJ ‚t  dd¡} t| ƒd'ks J ‚t  ddd(¡} t| ƒd)ks J ‚t  | dd¡}t|ƒd*ks@J ‚d$S )+z©
    Check that patches have nice and working `str` representation.

    Note that the logic is that `__str__` is defined such that:
    str(eval(str(p))) == str(p)
    ©r   r!   r:   )r   ÚradiuszCircle(xy=(1, 2), radius=3)rm   rf   )r   r3   r4   r<   z.Ellipse(xy=(1, 2), width=3, height=4, angle=5)z0Rectangle(xy=(1, 2), width=3, height=4, angle=5)rY   )r¯   r]   r°   r±   r3   z6Wedge(center=(1, 2), r=3, theta1=4, theta2=5, width=6)r   )r   r3   r4   r<   r°   r±   z>Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7))r:   rm   r   r!   )r   r]   r3   r<   z.Annulus(xy=(1, 2), r=(3, 4), width=1, angle=2)r    )rÈ   z3RegularPolygon((1, 2), 20, radius=5, orientation=0))r   rÈ   Ú
resolutionz.CirclePolygon((1, 2), radius=5, resolution=20))r3   r4   z)FancyBboxPatch((1, 2), width=3, height=4))rÇ   ©r!   r!   rÇ   Tr   zPathPatch3((1, 2) ...)©r   r!   z
Polygon0()zPolygon3((1, 2) ...))r   Né   zFancyArrowPatch(Path(array(zFancyArrowPatch((1, 2)->(3, 4))ÚdatazConnectionPatch((1, 2), (3, 4))z'Shadow(ConnectionPatch((1, 2), (3, 4))))rz   r™   Ústrr   r   r¸   r   r   ZRegularPolygonZCirclePolygonZFancyBboxPatchrt   ru   r{   r   r0   Úemptyr	   ÚConnectionPatchÚShadow)r   Úexpectedr   rÍ   Úsr   r   r   Útest_patch_str¤  sH    

rÔ   Zmulti_color_hatch)rƒ   Ústylec               	   C   sÖ   t  ¡ \} }| tdƒtddƒ¡}t|ƒD ],\}}| d¡ | d |¡¡ | d¡ q*| 	¡  | 
d¡ tdƒD ]^}tj dd |¡i¡* t|d	 dfd
dddd}W d   ƒ n1 s¼0    Y  | |¡ qrd S )Nrf   r   rY   ri   zC{}ú/Fzhatch.colorgš™™™™™Ù?rW   z//)ÚhatchÚfc)rp   rq   ÚbarÚranger¥   Zset_facecolorZset_edgecolorÚformatZ	set_hatchZautoscale_viewÚ	autoscaleÚmplrÕ   Úcontextr   rM   )r|   r}   Zrectsr¦   r5   r]   r   r   r   Útest_multi_color_hatchä  s    

8rß   zunits_rectangle.pngc                  C   s’   dd l m  m}  |  ¡  t d| j d| j fd| j d| j ¡}t ¡ \}}| 	|¡ | 
d| j d| j g¡ | d| j d| j g¡ d S )	Nr   rf   rY   r   r!   rm   r   r(   )Zmatplotlib.testing.jpl_unitsZtestingZ	jpl_unitsÚregisterrz   r   Úkmrp   rq   rM   rr   rs   )ÚUr   r|   r}   r   r   r   Útest_units_rectangle÷  s    *
rã   zconnection_patch.pngZmpl20)rÕ   rƒ   c               	   C   sl   t  dd¡\} \}}tjdddd||dd}| |¡ d}d	}d
}| ¡ }tj||||dd}| |¡ d S )Nr   r!   rU   )çÍÌÌÌÌÌì?rä   rÍ   ú->)ÚxyAÚxyBÚcoordsAÚcoordsBÚaxesAZaxesBÚ
arrowstyle)g333333ã?r9   )ç        çš™™™™™É?zaxes fractionr¡   )ræ   rç   rè   ré   rë   )rp   rq   rz   rÐ   rÁ   Zget_yaxis_transform)r|   Úax1Úax2Úconræ   rç   rè   ré   r   r   r   Útest_connection_patch  s    ý

ÿrñ   c              	   C   sŽ   |   dd¡\}}tjdd|ddddd	}|  |¡ |  dd¡\}}|j}tjd
 tjd< tjdd||jd |jd fdddd	}| |¡ d S )Nr   r!   )ç333333Ó?rí   rÍ   )iâÿÿÿiìÿÿÿzfigure pixelsrå   rf   )ræ   rè   rê   rç   ré   rë   ZshrinkBz
figure.dpiúsavefig.dpirK   r    )	rq   rz   rÐ   rÁ   r€   rp   r   r3   r4   )rN   rO   rî   rï   rð   Zbbr   r   r   Útest_connection_patch_fig  s     ý
ýrô   c                  C   sX   ddl m } m} | ddddddƒ}|dd}t |df|d¡}t ¡ \}}| |¡ d S )Nr   )ÚdatetimeÚ	timedeltaéá  r   é   )Úseconds)rõ   rö   rz   r   rp   rq   rM   )rõ   rö   ÚstartÚdeltar   r|   r}   r   r   r   Útest_datetime_rectangle.  s    
rü   c                  C   s¦   ddl m }  | ddddddƒ}| dddƒ}t t¡" t |df|d¡ W d   ƒ n1 s\0    Y  t t¡" t d|fd|¡ W d   ƒ n1 s˜0    Y  d S )Nr   ©rõ   r÷   r   i²  rf   )rõ   ÚpytestÚraisesÚ	TypeErrorrz   r   )rõ   rú   Zdt_deltar   r   r   Útest_datetime_datetime_fails:  s    0r  c                     sz   t  ddd¡‰ g d¢} ˆ  ¡ ‰ˆ  ¡ ‰ˆ  d ¡‰t ‡‡‡fdd„| D ƒ¡}t ‡ fdd„| D ƒ¡}t ||k¡svJ ‚d S )N©rh   rh   rh   r9   ©)rì   rh   )rí   rh   )r–   rh   r  c                    s   g | ]}ˆ   |ˆˆ¡‘qS r   ©Zcontains_point©r²   Úpoint)r   rÈ   r1   r   r   Ú
<listcomp>M  s
   þþz'test_contains_point.<locals>.<listcomp>c                    s   g | ]}ˆ   |¡‘qS r   r  r  )Úellr   r   r  P  r¶   )rz   r   Úget_pathÚget_transformÚ_process_radiusr0   r@   Úall)ÚpointsrÒ   Úresultr   )r  r   rÈ   r1   r   Útest_contains_pointG  s    
þr  c                  C   s^   t  ddd¡} g d¢}|  ¡ }|  ¡ }|  d ¡}| |||¡}|  |¡}t ||k¡sZJ ‚d S )Nr  rh   r9   r  )rz   r   r	  r
  r  Zcontains_pointsr0   r  )r  r  r   r1   rÈ   rÒ   r  r   r   r   Útest_contains_pointsT  s    

r  c                 C   sæ   t  ddg¡}t  ddg¡}dtjd< |  ¡ }tj|ddd}tj||d |d	 d
}| |¡ | |¡ | ¡ }tj|ddd}tj||j	d |  ddt  
t | ¡ ¡¡d t  
t | ¡ ¡¡d dd}| |¡ | |¡ d S )Nrí   rò   rV   Úfigureró   rh   )r   r3   r4   r   r   )ZoxZoyéH   )r   r3   r4   rØ   Úecrj   )r0   r@   rp   r   rq   rz   r   rÑ   rM   Zdpir>   ÚmcolorsZto_rgbrš   )rN   rO   r   ZdxyZa1r5   ZshadowZa2r   r   r   Útest_shadow`  s$    


ü
r  c                  C   s:   ddl m }  | dddƒ}t ¡ \}}td|fd|fƒ}d S )Nr   rý   iÐ  r   ç{®Gáz„?)rõ   rp   rq   r	   )rõ   Zdtimer|   r}   Úarrowr   r   r   Útest_fancyarrow_unitsy  s    r  c                  C   sè   t  ¡ \} }|jdddddddd}t ddgdd	gd
dgddgddgdd
gd	dgddgg¡}t |t |jd¡¡sxJ ‚t ddgddgddgddgddgddgddgddgg¡}|jdddddddd t |t |jd¡¡säJ ‚d S )Nr   r   rf   r   rh   )Úhead_lengthÚ
head_widthr3   g®Gáz+@g33333³$@gÍÌÌÌÌL#@g\Âõ(\$@g¤p=
×£#@g
×£p=
Ç?g
×£p=
Ç¿r!   gö(\Âµ0@g®Gáz”.@g\Âõ(\û?gÂõ(\Ò?é   )rÄ   rÅ   ZdxZdyr3   r  r  )	rp   rq   r  r0   r@   ZallcloseÚroundr“   Úset_data)r|   r}   r  Z	expected1Z	expected2r   r   r   Útest_fancyarrow_setdata  s:    ùÿ
ùÿ
ÿr  zlarge_arc.svg)rÕ   c                  C   s”   t  dd¡\} \}}d}d}d}||fD ]6}t||f||ddd}| |¡ | ¡  | d¡ q(| d	d
¡ | dd¡ | dd¡ | dd¡ d S )Nr   r!   éÒ   i½÷ÿÿi¥  r³   )ro   ÚcolorÚequalr   r&   rf   rY   iXžÿÿiPF  ià±ÿÿiÈ  )rp   rq   r   rM   Úset_axis_offÚ
set_aspectrr   rs   )r|   rî   rï   rÄ   rÅ   Zdiameterr}   Úar   r   r   Útest_large_arc   s    
r%  zall_quadrants_arcs.svgc                  C   sV  t jddddd\} }d}d}d}d}t| ¡ |ƒD ]\}\}}d	}	td
d
t d¡ f||fƒD ]’\}
}t||	dD ]t\}\}}t|| |
 || |
 f|| || dd|› d| t t 	||¡¡d d|› d|› d	}| 
|¡ qv|d }	qb| | d |d ¡ | | d |d ¡ |jd	dd |jd	dd | ¡  | d¡ q4d S )Nr!   F)r   r   )ZsqueezeÚfigsizei€–˜ ))rb   rb   )rb   r   rJ   )r   rb   ))r   r   )r   r   )r   rb   )rb   r   )rÊ   )r!   rV   )r!   r  )r!   gü©ñÒMbP?r   g§èH.ÿï?)rú   rm   ÚCr   r¾   zbig )ro   r   Zzorderr<   ÚlabelÚgidi   r³   )r   r!  )rp   rq   ÚzipZravelr0   Úsqrtr¥   r   Zrad2degZarctan2rM   rr   rs   ZaxhlineZaxvliner"  r#  )r|   Zax_arrZscaleZdiag_centersZon_axis_centersZskewsr}   ZsxZsyr³   ZprescaleZcentersÚjZx_signZy_signr$  r   r   r   Útest_rotated_arcs´  s@    ÿ

ÿö
r-  c                   C   sD   t jtdd" tdddddd W d   ƒ n1 s60    Y  d S )NzGot unknown shape: 'foo'©Úmatchr   rí   Úfoo)Úshape)rþ   rÿ   Ú
ValueErrorr
   r   r   r   r   Útest_fancyarrow_shape_errorÙ  s    r3  z
fmt, match))r0  zUnknown style: 'foo')z	Round,fooz%Incorrect style argument: 'Round,foo'c                 C   s:   t jt|d t| ƒ W d   ƒ n1 s,0    Y  d S )Nr.  )rþ   rÿ   r2  r   )Úfmtr/  r   r   r   Útest_boxstyle_errorsÞ  s    r5  Zannulus)Zbaseline_imagesrH   c               
   C   sV   t  ¡ \} }tddddd}tddddd	d
ddd}| |¡ | |¡ | d¡ d S )Nr  rí   çš™™™™™©?Úg©rØ   ©rh   rò   rV   r®   ÚmrX   rh   Úxxx©rØ   r  rj   r×   r!  )rp   rq   r   rM   r#  ©r|   r}   Zcirr  r   r   r   Útest_annulusç  s    
ÿ

r>  c               
   C   s€   t  ¡ \} }tddddd}tddddd	d
ddd}| |¡ | |¡ | d¡ d|_d|_d|_d|_d|_d|_d|_d S )N©rì   rì   rí   r  r7  r8  rÇ   rV   r   r:  rX   rh   r;  r<  r!  r  r6  r9  r®   )	rp   rq   r   rM   r#  r¯   Úradiir3   r<   r=  r   r   r   Útest_annulus_settersó  s    
ÿ


rA  c               
   C   s¸   t  ¡ \} }tddddd}tddddd	d
ddd}| |¡ | |¡ | d¡ d|_| d¡ | d¡ |jdkszJ ‚d|_	d|_| d¡ | d¡ |jdks¨J ‚d|_	d|_
d S )Nr?  rí   r  r7  r8  rÇ   rV   r   r:  rX   rh   r;  r<  r!  r  )rí   rí   r6  rò   r9  r®   )rp   rq   r   rM   r#  r¯   Zset_semimajorZset_semiminorr@  r3   r<   r=  r   r   r   Útest_annulus_setters2  s&    
ÿ






rB  c                  C   s8   ddg} t | | gƒj}t t| gƒ ¡ j|k¡s4J ‚d S )Nr   )r   Zextentsr0   r  r   Zget_extents)r  Zcorrect_extentsr   r   r   Útest_degenerate_polygon!  s    rC  Úkwarg)r[   rk   c                 C   sH   t jtdd& tf ddi| di¤Ž W d   ƒ n1 s:0    Y  d S )NzQSetting the 'color' property will override the edgecolor or facecolor properties.r.  r   rn   )rþ   ZwarnsÚUserWarningr   )rD  r   r   r   Útest_color_override_warning'  s    ÿrF  c                  C   s"   t t d¡ƒ} |  ¡ g ksJ ‚d S )NrË   )r   r0   ÚzerosrD   )Zpolyr   r   r   Útest_empty_verts/  s    rH  c                  C   sN   t ƒ } |  td  ¡ |  ¡ td  ks,J ‚|  d ¡ |  ¡ td ksJJ ‚d S )Nzpatch.antialiased)r   Zset_antialiasedr   Zget_antialiased©r   r   r   r   Útest_default_antialiased4  s
    
rJ  c                  C   s.   t ƒ } |  d¡ |  d ¡ |  ¡ dks*J ‚d S )Nr¢   r¤   )r   Zset_linestyler^   rI  r   r   r   Útest_default_linestyle>  s    

rK  c                  C   s   t ƒ } |  ¡ dksJ ‚d S )NZbutt)r   Zget_capstylerI  r   r   r   Útest_default_capstyleE  s    rL  c                  C   s   t ƒ } |  ¡ dksJ ‚d S )NZmiter)r   Zget_joinstylerI  r   r   r   Útest_default_joinstyleJ  s    rM  Zautoscale_arcÚsvg)rH   rÕ   rƒ   c                  C   s²   t jdddd\} }tddddddgtd	d
ddddgtd	d
ddddtd	dddddtd	dddddtd	dddddgf}t||ƒD ]$\}}|D ]}| |¡ q”| ¡  qˆd S )Nr   r:   )rm   r   )r&  rI   r   r'   )r°   r±   r  ç      ø?rh   r   r    g      @én   éx   g      @r  éÜ   g      @i6  i@  )rp   rq   r   r*  rM   rÜ   )r|   ZaxsZ	arc_listsr}   ZarcsZarcr   r   r   Útest_autoscale_arcO  s    ýýrS  )rG   rN  ZpdfZepsc                 C   sb   t ddgdddddd}t ddgdddddd}tj|gddd	}| ¡  |¡ |  ¡  |¡ d S )
Nrh   r   r   é<   r    ©r°   r±   r<   ri   r³   )r   Z
facecolorsZ
edgecolors)r   rŽ   ZPatchCollectionrq   rM   r   )rN   rO   Úarc1Úarc2r”   r   r   r   Útest_arc_in_collectiona  s    
ÿrX  c                 C   sd   t ddgdddddd}t ddgdddddd}| ¡  |¡ |  ¡  |¡ | d¡ | d¡ d S )	Nrh   r   r   rT  r    rU  rO  r   )r   rq   rM   r­   r.   )rN   rO   rV  rW  r   r   r   Útest_modifying_arck  s    
rY  )YÚ__doc__Únumpyr0   Znumpy.testingr   r   rþ   Z
matplotlibrÝ   Zmatplotlib.patchesr   r   r   r   r   r	   r
   r   r   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.transformsr   Zmatplotlib.pyplotZpyplotrp   r   rŽ   r   r  r   rz   r   rt   r   r/   r   ÚsysÚplatformZon_winr   r8   rF   rT   r_   rc   r‚   r•   r—   rÕ   rÞ   rœ   r    r¨   r¬   r½   rÆ   rÔ   rß   rã   rñ   rô   rü   r  r  r  r  r  r  r%  r-  r3  ÚmarkZparametrizer5  r>  rA  rB  rC  rF  rH  rJ  rK  rL  rM  rS  rX  rY  r   r   r   r   Ú<module>   s¢   , 
%0



!








@








$





ÿ

	