o
    i$                     @   s   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Zdd Zdd Z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d ZdS )    N)markers)Path)check_figures_equalc                  C   s,   t  } tddgddgg}| | d S )N      r         ?)r   MarkerStylenparray
set_markermarker_style	mrk_array r   W/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/matplotlib/tests/test_marker.pytest_markers_valid
   s
   
r   c                  C   sR   t  } tg dg}tt | | W d    d S 1 s"w   Y  d S )N)r   r            )r   r   r   r	   pytestraises
ValueErrorr
   r   r   r   r   test_markers_invalid   s
   "r   c                  C   s4   t  } tddgddggtjtjg}| | d S )Nr   r   )r   r   r   MOVETOLINETOr
   )r   pathr   r   r   test_marker_path   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 )N)super_recache_snap_threshold)self	__class__r   r   r   (   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   -   markersr-   r   r   )r)   r   D      ?)r)   r   r   )   r   pg      @)r0   r   r   r   )   r   hg      @)r2   r   r   r)   )r2   r      Hr0   )   r   g     6@8)r   g      @xlimylim)add_subplotscatterr   set)fig_testfig_refax_testax_refsizer   r   r   test_poly_marker-   s.   rC   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 )
Nr(   r   )r0   r   r+   r   )r0   r   r   )r   r   r   r/   r8   )pltsubplotsr<   r=   )rB   figaxr   r   r   test_star_markerZ   s
   rI   g333333?)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 )Nr(   c                    sJ    j | g| gt||d ddkr# j | g| gt||d d S d S )Nr+   extpng)r<   r   getfixturevalue)ystylerB   rA   requestr   r   draw_ref_markert   s   
z-test_asterisk_marker.<locals>.draw_ref_markerr   )r)   r   r+   +r   )r)   r   r   r   )r)   r   r*   xr   rD   r8   )r;   r<   r=   )r>   r?   rQ   r@   rB   rR   r   rP   r   test_asterisk_markeri   s   	rU   c                 C   s  t tjj}d}d}|| d }d| | }d| | d }| || j || j f | g d}|||j || j f |g d}	ttjjD ]O\}
}|
| }|
| 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
 qL|jd|fdd| fd |	jd|fdd| fd |	d |		d d S )N2      r   r   )r   r   r   r   k-r   )c	linestylelw
   fullwhite)rZ   r,   
markersizemarkeredgewidth	fillstylemarkerfacecolor)rZ   r[   r\   r,   r`   ra   rb   rc   r   r8   off)
lenr   r   set_size_inchesdpiadd_axes	enumerateplotr=   axis)r?   r>   marker_countmarker_sizencolnrowwidthheightrA   r@   ir,   rT   rN   r   r   r   test_marker_clipping   s<    

rs   )numpyr   matplotlib.pyplotpyplotrE   
matplotlibr   matplotlib.pathr   matplotlib.testing.decoratorsr   r   r   r   r   r   r   rC   rI   rU   rs   r   r   r   r   <module>   s"    
,
 