U
    Âmœd!,  ã                   @   sZ  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Zdd„ Zej d	d
ddddddejdd gdd gge dd gdd gg¡e
d d gdd gge
je
jgƒdddddde d
¡g¡dd„ ƒZdd„ Zej d	de dd dddgg¡d d!d"g¡d#d$„ ƒZG d%d&„ d&ejƒZeƒ d'd(„ ƒZd)d*„ Zed+d,�d-d.„ ƒZeƒ d/d0„ ƒZd1d2„ Z d3d4„ Z!d5d6„ Z"ej d7e d
¡eƒ  #dd¡eƒ  #dd¡fejd
eƒ  #dd¡d8�eƒ  #dd¡eƒ  #dd¡fejd9eƒ  #dd¡d8�eƒ  #dd¡eƒ  #dd¡fejejeƒ  #dd¡d8�eƒ  #dd¡eƒ  #dd¡fg¡d:d;„ ƒZ$d<d=„ Z%ej d>e d
¡d?deƒ  &d?¡fe d
¡dd@eƒ  'd@¡fejd
eƒ  #dd¡d8�d?deƒ  #dd¡ &d?¡fejd
eƒ  #dd¡d8�dd@eƒ  #dd¡ 'd@¡fejd9eƒ  #dd¡d8�d?deƒ  #dd¡ &d?¡fejejeƒ  #dd¡d8�d?deƒ  #dd¡ &d?¡fg¡dAdB„ ƒZ(dCdD„ Z)dEdF„ Z*dS )Gé    N)Úmarkers)ÚMatplotlibDeprecationWarning)ÚPath)Úcheck_figures_equal)ÚAffine2Dc                  C   s.   t jddd�} |  ¡ dkst‚|  ¡ r*t‚d S )NÚoÚnone)ÚmarkerÚ	fillstyle)r   ÚMarkerStyleZget_fillstyleÚAssertionErrorZ	is_filled)Zmarker_style© r   úU/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/matplotlib/tests/test_marker.pyÚtest_marker_fillstyle   s    r   r	   r   ÚxÚ ÚNonez$\frac{1}{2}$u   $â™«$é   éÿÿÿÿ©é   r   )é   r   )r   é   )r   r   é
   )r   r   r   )r   r   r   c                 C   s   t  | ¡ d S ©N)r   r   ©r	   r   r   r   Útest_markers_valid   s    r   c               	   C   sV   t  t¡� t ¡ } W 5 Q R X t | ¡ t  t¡� t d ¡} W 5 Q R X t | ¡ d S r   )ÚpytestZwarnsr   r   r   )Úmsr   r   r   Útest_deprecated_marker+   s    
r   Zsquareç      à¿r   é   )r   )r   r!   )r   r   r!   é   c              	   C   s$   t  t¡� t | ¡ W 5 Q R X d S r   )r   ÚraisesÚ
ValueErrorr   r   r   r   r   r   Útest_markers_invalid4   s    r%   c                       s    e Zd ZdZ‡ fdd„Z‡  ZS )ÚUnsnappedMarkerStylez¯
    A MarkerStyle where the snap threshold is force-disabled.

    This is used to compare to polygon/star/asterisk markers which do not have
    any snap threshold set.
    c                    s   t ƒ  ¡  d | _d S r   )ÚsuperÚ_recacheZ_snap_threshold)Úself©Ú	__class__r   r   r(   G   s    
zUnsnappedMarkerStyle._recache)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   Ú__classcell__r   r   r*   r   r&   @   s   r&   c                 C   sà  |   ¡ }|  ¡ }d}|jdgdgd|d� |jdgdgd|d d� |jdgdgd|d� |jdgdgtd	ƒ|d d� |jdgd
gd|d� |jdgd
gtd	ƒ|d d� |jdgdgd|d� |jdgdgtdƒ|d� |jdgdgd|d� |jdgdgtdƒ|d� |jdgdgd|d� |jdgdgd|d� |jdgdgd|d� |jdgdgd|d� |jdgdgd|d� |jdgdgd|d� |jdgdgd|d� |jdgdgtdƒ|d� |jddd� |jddd� d S )Né�  r   )r"   r   é-   ©r	   Úsr4   r   r   )r"   r   ÚDç      ø?)r"   r   r   r   Úpg      @)r   r   r   r!   )é   r   Úhg      @)r8   r   r   r"   )r8   r   é   ÚHr   )é   r   g     €6@Ú8)r    g      @©ZxlimZylim)Úadd_subplotÚscatterr&   Úset)Úfig_testÚfig_refÚax_testÚax_refÚsizer   r   r   Útest_poly_markerL   s.    rG   c                  C   sN   d} t  ¡ \}}|jdgdgd| d� |jdgdgd| d� |jddd	� d S )
Nr1   r   )r   r   r3   r   )r   r   r   )r    ç      à?©r    r6   r>   )ÚpltZsubplotsr@   rA   )rF   ZfigZaxr   r   r   Útest_star_markery   s
    rK   g333333÷?)Ztolc                    s¬   |   ¡ }|  ¡ ‰ d}‡ ‡fdd„}|jdgdgd|d� |dd|ƒ |jdgdgd	|d� |dd|ƒ |jd
gd
gd|d� |d
d|d ƒ |jddd� ˆ jddd� d S )Nr1   c                    sF   ˆ j | g| gt|ƒ|d� ˆ d¡dkrBˆ j | g| gt|ƒ|d� d S )Nr3   ÚextZpng)r@   r&   Zgetfixturevalue)ÚyÚstylerF   ©rE   Úrequestr   r   Údraw_ref_marker“   s
    ÿz-test_asterisk_marker.<locals>.draw_ref_markerr   )r"   r   r3   ú+rH   )r"   r   r   r   )r"   r   r2   r   r   rI   r>   )r?   r@   rA   )rB   rC   rP   rD   rF   rQ   r   rO   r   Útest_asterisk_markerˆ   s    	rS   c                 C   sŒ  t tjjƒ}d}d}|| d }d| | }d| | d }|  || j || j f¡ |  ddddg¡}| ||j || j f¡ | ddddg¡}	ttjjƒD ]ž\}
}|
| }|
| d }|j||g||d gdddd	� |j||d||d
ddd� |j||d d||d
ddd� |	j||g||d gddd||d
ddd�
 q |jd|fdd| fd� |	jd|fdd| fd� | 	d¡ |	 	d¡ d S )Né2   r   r   r   r   Úkú-r!   )ÚcÚ	linestyleÚlwr   ÚfullÚwhite)rW   r	   Ú
markersizeÚmarkeredgewidthr
   Úmarkerfacecolor)rW   rX   rY   r	   r\   r]   r
   r^   r    r>   Úoff)
Úlenr   r   Zset_size_inchesZdpiZadd_axesÚ	enumerateZplotrA   Zaxis)rC   rB   Zmarker_countZmarker_sizeZncolZnrowÚwidthÚheightrE   rD   Úir	   r   rM   r   r   r   Útest_marker_clipping©   sN     
   þ   þ   þ
re   c                  C   sB   t  d¡} tƒ  dd¡}t jd|d�}|  ¡ | | ¡ ks>t‚dS )zBTest that initializing marker with transform is a simple addition.r   r   ©Ú	transformN)r   r   r   Ú	translateZget_transformr   )r	   ÚtZt_markerr   r   r   Útest_marker_init_transformsÒ   s    
rj   c                  C   sD   t  d¡} t jj}t jd|d�}| ¡ |ks0t‚|  ¡ |ks@t‚d S )NÚ*)Z	joinstyle)r   r   Z	JoinStyleÚroundZget_joinstyler   )r	   ZjstlÚstyled_markerr   r   r   Útest_marker_init_joinstyleÚ   s
    
rn   c                  C   sD   t  d¡} t jj}t jd|d�}| ¡ |ks0t‚|  ¡ |ks@t‚d S )Nrk   )Zcapstyle)r   r   ZCapStylerl   Zget_capstyler   )r	   Zcapstlrm   r   r   r   Útest_marker_init_captyleâ   s
    
ro   zmarker,transform,expectedrf   z$|||$c                 C   s:   |   |¡}|| k	st‚| ¡ |ks&t‚| j|jk	s6t‚d S r   )Ztransformedr   Úget_user_transformÚ_user_transform)r	   rg   ÚexpectedÚ
new_markerr   r   r   Útest_marker_transformedê   s    
rt   c               	   C   sP   t  d¡} t t¡� |  ¡ }W 5 Q R X t t¡� | jddd�}W 5 Q R X d S )Nr   r   ©ÚdegÚrad)r   r   r   r#   r$   Úrotated)r	   rs   r   r   r   Útest_marker_rotated_invalidü   s
    
ry   zmarker,deg,rad,expectedr   g{®Gáz„?c                 C   s>   | j ||d�}|| k	st‚| ¡ |ks*t‚| j|jk	s:t‚d S )Nru   )rx   r   rp   rq   )r	   rv   rw   rr   rs   r   r   r   Útest_marker_rotated  s    rz   c                  C   sð   t  d¡} |  d¡}|| k	s t‚| ¡ tƒ  d¡ks8t‚| j|jk	sHt‚|  dd¡}|| k	s`t‚| ¡ tƒ  dd¡kszt‚| j|jk	sŠt‚t jdtƒ  dd¡d�} |  d¡}|| k	s¸t‚tƒ  dd¡ d¡}| ¡ |ksÜt‚| j|jk	sìt‚d S )NÚ1r   r!   r   rf   )	r   r   Zscaledr   rp   r   Úscalerq   rh   )r	   rs   rr   r   r   r   Útest_marker_scaled  s    


r}   c                  C   s@   t  dd¡} t  ddtƒ  d¡¡}|  ¡  d¡| ¡ ks<t‚d S )Nr   ÚleftéZ   )r   r   r   Ú
rotate_degZget_alt_transformr   )Úm1Úm2r   r   r   Útest_alt_transform,  s    rƒ   )+ÚnumpyÚnpZmatplotlib.pyplotZpyplotrJ   Z
matplotlibr   Zmatplotlib._api.deprecationr   Zmatplotlib.pathr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.transformsr   r   r   ÚmarkZparametrizeZTICKLEFTÚarrayZMOVETOZLINETOr   r   r   r%   r&   rG   rK   rS   re   rj   rn   ro   rh   rt   ry   r€   Úrotaterz   r}   rƒ   r   r   r   r   Ú<module>   sÊ   î
	û

,
 
(ÿ ÿ ÿ ÿ þù
  ÿ  ÿ  ÿ ÿ  þ÷
