U
    Âmœd{s  ã                   @   sx  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ddwd{d|gd�d}d~„ ƒZWeddwd{d|g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<t‚t| ¡ |ƒ | | ¡ t| ¡ |ƒ t |dd�}t| ¡ | ƒ | |¡ t| ¡ | ƒ t | dd�}| ¡ r¬t‚t| ¡ | ƒ | | ¡ t| ¡ | ƒ t |dd�}t| ¡ |ƒ | |¡ t| ¡ |ƒ d S )Nr   é   T©ÚclosedF)r   Z
get_closedÚAssertionErrorr   Zget_xyZset_xy)ÚxyZxyclosedÚp© r   úV/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/matplotlib/tests/test_patches.pyÚtest_Polygon_close   s(    



r   c            	      C   sN  ddg} d}d}d}t | ||ƒ}t| ¡ |ƒ t| ¡ dƒ d}| d¡ t| ¡ |ƒ t| ¡ d	ƒ d
}t ¡ j| t 	|¡fžŽ }| 
|¡}| |¡ t| ¡ |ƒ | d |d  | d |d  g} t| ||ƒ}t| ¡ |ƒ d}| d¡ t| ¡ |ƒ t| ¡ | ƒ d
}t ¡ j| t 	|¡fžŽ }| 
|¡}| |¡ 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<    


ÿ


r9   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@)r1   Úasarrayr   ÚpiÚarrayÚcosÚsinÚinnerÚ	get_vertsÚTr   )	r3   r4   r5   r=   Zrect1Zrect2Z	angle_radZrotation_matrixZ	new_vertsr   r   r   Útest_rotate_rectk   s    ÿrG   Zpng)Ú
extensionsc           
      C   sŽ   |   ¡ }|  ¡ }d}d\}}d}t||||d�}| |¡ | ¡ |ksJt‚t|||ƒ}	|	 ¡ dksft‚| |	¡ |	 |¡ |	 ¡ |ksŠt‚d S )N©r   r   ©r   r   é   r<   r   )Úadd_subplotr   Ú	add_patchZ	get_angler   r/   )
Úfig_testÚfig_refÚax_testÚax_refr3   r4   r5   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ddddgfd�}| ¡ dddgfkspt‚| ¡ dddddgfksŒt‚| |¡ | |¡ 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ðt‚|
 ¡ dddgfk�s
t‚| |	¡ | |
¡ d S )	N©çš™™™™™¹?rV   )çš™™™™™é?rW   r;   Úbr   é   )Ú	linewidthÚ	edgecolorÚ	linestyleÚr)rL   r   Úget_linestyler   rM   )rN   rO   rP   rQ   r3   r4   r5   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   rE   r   r1   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’ÿÿÿÚ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   r0   r   rd   )	ÚfigÚaxr   Zpath2ÚcombinedÚpatchÚbboxÚresult_pathZresult_patchr   r   r   Útest_clip_to_bboxÂ   s6       ÿ

    ÿ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"   ©ru   rv   rw   rz   r1   Úconcatenatery   Úcodesrq   ÚaxesÚmcollectionsZPathCollectionÚadd_collectionr{   r|   rM   rs   rt   ©	Ú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ý   s2    
 ü
 ü
r˜   Údefaultc                  C   s*   t jddddd�} |  ¡ d dks&t‚d S )NrI   r   ri   )rk   rj   r   )rq   ÚCircleÚget_facecolorr   )Ú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%  s2    
  ý
  ý
r¡   c            
      C   sÖ   t j d¡} t j ¡ }t |j| jd d d… g¡}t |j| jg¡}ddddddd	d
g}t 	¡ \}}t
|ƒD ]6\}}t  || |¡} tj| d|ddd�}	| |	¡ ql| d|d g¡ | d|d g¡ |j ¡  d S )NrY   rb   ú-ú--z-.ú:ÚsolidZdashedr…   Zdottedr;   rŸ   r    rŠ   r   )ru   rv   rw   rz   r1   rŒ   ry   r�   rq   rr   Ú	enumerater{   r|   rM   rs   rt   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ddddgƒ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 )Nri   ÚNoneú Ú r;   rŸ   r    rŠ   r¢   rb   r   )ru   rv   rz   rL   r¦   ry   r�   r{   r|   rM   rs   rt   )	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 |Ž}|   ¡ D ]@\}\}}}t||ƒ|ksVt‚t||ƒ|ƒ t||ƒ|ks6t‚q6d 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]   r4   Útheta1Útheta2c                 S   s   i | ]\}}||d  “qS )r   r   )Ú.0ÚkÚvr   r   r   Ú
<dictcomp>}  s      z'test_wedge_movement.<locals>.<dictcomp>)Úitemsr{   ÚWedgeÚgetattrr   )Z
param_dictZ	init_argsÚwÚattrÚold_vÚ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[   rp   ra   r'   r)   )rq   rŽ   r¦   r{   r¸   Ú
add_artistrs   rt   )	r~   Út1Úargsr§   r±   r²   ÚxÚyZwedger   r   r   Útest_wedge_range‡  s.    
ø
  ÿrÈ   c                  C   sF  t jddd�} t| ƒdkst‚t jddddd�} t| ƒdks@t‚t jddddd�} t| ƒd	ksbt‚t jddddd
d�} t| ƒdks†t‚t jddddd
dd�} d}t| ƒ|ks°t‚t jddddd�} d}t| ƒ|ksÖt‚t j	dddd�} t| ƒdksöt‚t j
dddd�} t| ƒdk�st‚t jdddd�} t| ƒdk�s:t‚tjdddgdd�}t  |¡} t| ƒdk�sjt‚t  t d ¡¡} t| ƒd!k�sŒt‚ddgddgddgg}t  |¡} t| ƒd"k�s¾t‚t j|d#�} t| ƒd$d%… d&k�sät‚t  dd¡} t| ƒd'k�st‚t  ddd(¡} t| ƒd)k�s"t‚t  | dd¡}t|ƒd*k�sBt‚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)rn   rf   )r   r4   r5   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²   r4   z6Wedge(center=(1, 2), r=3, theta1=4, theta2=5, width=6)rž   )r   r4   r5   r=   r±   r²   z>Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7))r;   rn   r   r"   )r   r]   r4   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))r4   r5   z)FancyBboxPatch((1, 2), width=3, height=4)©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))))r{   rš   Ústrr   r   r   r¸   r   r   ZRegularPolygonZCirclePolygonZFancyBboxPatchru   rv   r|   r   r1   Ú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 ]J}tj dd |¡i¡�  t|d	 dfd
dddd�}W 5 Q R X | |¡ qrd S )Nrf   r   rY   ri   zC{}ú/Fzhatch.colorgš™™™™™Ù?rW   z//)ÚhatchÚfc)rq   rr   ÚbarÚranger¦   Zset_facecolorZset_edgecolorÚformatZ	set_hatchZautoscale_viewÚ	autoscaleÚmplr×   Úcontextr   rM   )r}   r~   Zrectsr§   r6   r]   r   r   r   Útest_multi_color_hatchä  s    

$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"   rn   rž   r)   )Zmatplotlib.testing.jpl_unitsÚtestingZ	jpl_unitsÚregisterr{   r   Úkmrq   rr   rM   rs   rt   )Ú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ã?r:   )ç        çš™™™™™É?zaxes fractionr¢   )ré   rê   rë   rì   rî   )rq   rr   r{   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!   )	rr   r{   rÒ   rÃ   r�   rq   r   r4   r5   )rN   rO   rñ   rò   ró   Zbbr   r   r   Útest_connection_patch_fig  s0        ý
    ý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ù   r{   r   rq   rr   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 5 Q R X t t¡� t d|fd|¡ W 5 Q R X d S )Nr   ©rø   rú   r   i²  rf   )rø   ÚpytestÚraisesÚ	TypeErrorr{   r   )rø   rý   Zdt_deltar   r   r   Útest_datetime_datetime_fails:  s    r  c                     s~   t  ddd¡‰ ddddg} ˆ  ¡ ‰ˆ  ¡ ‰ˆ  d ¡‰t ‡‡‡fdd„| D ƒ¡}t ‡ fd	d„| D ƒ¡}t ||k¡szt‚d S )
N©rh   rh   rh   r:   ©rï   rh   ©rð   rh   ©r—   rh   c                    s   g | ]}ˆ   |ˆˆ¡‘qS r   ©Zcontains_point©r³   Úpoint)r   rÊ   r2   r   r   Ú
<listcomp>M  s
   þþz'test_contains_point.<locals>.<listcomp>c                    s   g | ]}ˆ   |¡‘qS r   r	  r
  )Úellr   r   r  P  s     )	r{   r   Úget_pathÚget_transformÚ_process_radiusr1   rA   Úallr   )ÚpointsrÔ   Úresultr   )r  r   rÊ   r2   r   Útest_contains_pointG  s    
þr  c                  C   sb   t  ddd¡} ddddg}|  ¡ }|  ¡ }|  d ¡}| |||¡}|  |¡}t ||k¡s^t‚d S )Nr  rh   r:   r  r  r  )	r{   r   r  r  r  Zcontains_pointsr1   r  r   )r  r  r   r2   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   Zfigurerö   rh   )r   r4   r5   r   r   )ÚoxZoyéH   )r   r4   r5   rÚ   Úecrj   )r1   rA   rq   r   rr   r{   r   rÓ   rM   Zdpir?   ÚmcolorsZto_rgbr›   )rN   rO   r   ZdxyZa1r6   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ø   rq   rr   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¡¡sxt‚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ät‚d S )Nr   r    rf   r   rh   )Úhead_lengthÚ
head_widthr4   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dyr4   r  r  )
rq   rr   r  r1   rA   ZallcloseÚroundr”   r   Úset_data)r}   r~   r  Z	expected1Z	expected2r   r   r   Útest_fancyarrow_setdata�  sF    ùÿ
ùÿ
      ÿ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´   )rp   ÚcolorÚequalrž   r'   rf   rY   iXžÿÿiPF  ià±ÿÿiÈ  )rq   rr   r   rM   Úset_axis_offÚ
set_aspectrs   rt   )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ý   rn   ÚCr   rÀ   zbig )rp   r%  Zzorderr=   ÚlabelÚgidi   r´   )r%  r&  )rq   rr   ÚzipZravelr1   Úsqrtr¦   r   Zrad2degZarctan2rM   rs   rt   ZaxhlineZaxvliner'  r(  )r}   Zax_arrÚscaleZdiag_centersZon_axis_centersZskewsr~   ÚsxZsyr´   ZprescaleZcentersÚjZx_signZy_signr)  r   r   r   Útest_rotated_arcs´  s@    ÿ

ÿö
r4  c                	   C   s0   t jtdd�� tdddddd� W 5 Q R X d S )NzGot unknown shape: 'foo'©Úmatchr   rð   Úfoo)Úshape)r  r  Ú
ValueErrorr
   r   r   r   r   Útest_fancyarrow_shape_errorÙ  s    r:  z
fmt, match))r7  zUnknown style: 'foo')z	Round,fooz%Incorrect style argument: 'Round,foo'c              	   C   s&   t jt|d�� t| ƒ W 5 Q R X d S )Nr5  )r  r  r9  r   )Úfmtr6  r   r   r   Útest_boxstyle_errorsÞ  s    r<  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&  )rq   rr   r   rM   r(  ©r}   r~   Zcirr  r   r   r   Útest_annulusç  s    
   ÿ

rE  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  r>  r?  rÉ   rV   r   rA  rX   rh   rB  rC  r&  r  r=  r@  r¯   )	rq   rr   r   rM   r(  r°   Úradiir4   r=   rD  r   r   r   Útest_annulus_settersó  s$    
   ÿ


rH  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szt	‚d|_
d|_| d¡ | d¡ |jdks¨t	‚d|_
d|_d S )NrF  rð   r  r>  r?  rÉ   rV   r   rA  rX   rh   rB  rC  r&  r  )rð   rð   r=  rõ   r@  r¯   )rq   rr   r   rM   r(  r°   Zset_semimajorZset_semiminorrG  r   r4   r=   rD  r   r   r   Útest_annulus_setters2  s,    
   ÿ






rI  c                  C   s8   ddg} t | | gƒj}t t| gƒ ¡ j|k¡s4t‚d S )Nr   )r   Zextentsr1   r  r   Zget_extentsr   )r  Zcorrect_extentsr   r   r   Útest_degenerate_polygon!  s    rJ  Úkwarg)r[   rk   c              	   C   s4   t jtdd�� tf ddi| di—Ž W 5 Q R X d S )NzQSetting the 'color' property will override the edgecolor or facecolor properties.r5  r%  ro   )r  ZwarnsÚUserWarningr   )rK  r   r   r   Útest_color_override_warning'  s    ÿrM  c                  C   s"   t t d¡ƒ} |  ¡ g kst‚d S )NrÍ   )r   r1   ZzerosrE   r   )Zpolyr   r   r   Útest_empty_verts/  s    rN  c                  C   sN   t ƒ } |  td  ¡ |  ¡ td  ks,t‚|  d ¡ |  ¡ td ksJt‚d S )Nzpatch.antialiased)r   Zset_antialiasedr   Zget_antialiasedr   ©r€   r   r   r   Útest_default_antialiased4  s
    
rP  c                  C   s.   t ƒ } |  d¡ |  d ¡ |  ¡ dks*t‚d S )Nr£   r¥   )r   Zset_linestyler^   r   rO  r   r   r   Útest_default_linestyle>  s    

rQ  c                  C   s   t ƒ } |  ¡ dkst‚d S )NZbutt)r   Zget_capstyler   rO  r   r   r   Útest_default_capstyleE  s    rR  c                  C   s   t ƒ } |  ¡ dkst‚d S )NZmiter)r   Zget_joinstyler   rO  r   r   r   Útest_default_joinstyleJ  s    rS  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;   )rn   r   )r+  rI   r   r(   )r±   r²   r  ç      ø?rh   r    r!   g      @én   éx   g      @r$  éÜ   g      @i6  i@  )rq   rr   r   r/  rM   rÞ   )r}   ZaxsZ	arc_listsr~   ZarcsÚarcr   r   r   Útest_autoscale_arcO  s    ýýrZ  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PatchCollectionrr   rM   r�   )rN   rO   Úarc1Úarc2r•   r   r   r   Útest_arc_in_collectiona  s    
ÿr_  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   r[  r!   r\  rU  r    )r   rr   rM   r®   r/   )rN   rO   r]  r^  r   r   r   Útest_modifying_arck  s    
r`  )YÚ__doc__Únumpyr1   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pyplotrq   r   r�   r   r  r   r{   r   ru   r   r0   r   ÚsysÚplatformZon_winr   r9   rG   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*  r4  r:  ÚmarkZparametrizer<  rE  rH  rI  rJ  rM  rN  rP  rQ  rR  rS  rZ  r_  r`  r   r   r   r   Ú<module>   s¤   , 
%0



!








@








$





 ÿ

	