o
    ie#                     @   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 Zdd Zedgd	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 Z&ej'(dg d d!d" Z)d#d$ Z*dS )%    N)chain)image_comparisonc                  C   s6  t  } | ddg | ddg d}| j|}tj|ddddd}| | |j	| jks1J tj|dddd dd	}|
 sBJ | | t|j	tjsPJ tj|d
d
t dd}| | t|j	tjsjJ tj|ddddd}| }|
 r~J | | | |ksJ |
 sJ |j	| jksJ d S )N         r   yellow      ?)widthheightfcalphax   coral)r
   r   r   	transformr   d   )r
   r   r   r   )pltaxesset_xlimset_ylim	transDatar   mpatchesEllipse	add_patch
_transformis_transform_set
isinstancemtransformsIdentityTransformget_transform)axxy_dataxy_pixeintermediate_transform r%   W/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/matplotlib/tests/test_artist.pytest_patch_transform_of_none   s8   




r'   c                  C   s
  t  } | ddg | ddg 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sbJ tj|d
d
d}tj	|gt dd}| 
| t|jtjsJ d S )Nr   r   r   )r
   r   r   r	   )	facecolorr   r   r   r   )r   r   )r   r   r   r   r   r   r   r   mcollectionsPatchCollectionadd_collectionget_offset_transformr   set_transformr   r   r   _transOffset)r    r!   r"   r#   cr%   r%   r&   !test_collection_transform_of_none<   s.   




r0   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	d}t
j|gddd	d
dd}|||j || tj	d||d}tj|ddd	d
dd}|||j || |ddg |ddg d S )N   r      g@y      blueredgffffff?*)lw	edgecolorr(   r   hatchz   )sharexshareyr   )mpathPathunit_rectangledeepcopyverticesunit_circlemake_compound_pathunit_regular_starr   subplotr)   PathCollectionset_clip_pathr   r+   r   	PathPatchr   r   r   )exteriorinterior	clip_pathstarax1colax2patchr%   r%   r&   test_clipping`   s,   


rV   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   subplotsplotr   ioBytesIOsavefiglengetvalue)xyfigr    rW   rY   r%   r%   r&   test_cull_markers|   s   rf   hatchingdefault)r2   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   r3   /)r=   i>  )g      ?      @)sizesoffsetstransOffsetr=   )r3   r   C1)r=   r<   )g      @rl   )rm   rn   ro   r=   r<   r      	   )r   r\   r   	Rectangler   r)   RegularPolyCollectionr   r+   r   r   )re   r    rect1rect2rect3rect4r%   r%   r&   test_hatching   s&   





ry   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$   r5   r7   )r   r\   imshowrZ   arangereshaper]   rangestalecanvasdraw_mouseover_setr   removefigure)re   r    imlnartr%   r%   r&   test_remove   s(   






r   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 )Nr5   ztext.kerning_factorr   
   rc   r   oedge)alignr   BOX   sawtooth)boxstyle)sizebbox)r4   r   )rj   )r   r   )r   r   rj   none)r   r   )r   rcParamsr\   r]   rZ   r|   bartextdictr   r   r   rM   rB   rC   MOVETOCURVE3	CLOSEPOLYr   r   )re   rR   rT   ax3ax4pp1r%   r%   r&   test_default_edges   s$   



r   c                  C   s   t g g } |   d S N)mlinesLine2D
properties)r   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   r;   r7   green)colorzorder)filez  zorder: float
)r   setpr\   r]   r~   martistr   spinesvaluesr^   StringIOrb   )re   r    lines1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 )Nr7   )r   i@ )	r   r\   r]   r~   
get_zorderr   r   r   
set_zorder)re   r    r   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                   @   s   e Zd Zdd ZdS )z:test_artist_inspector_get_valid_values.<locals>.TestArtistc                 S   s   d S r   r%   )selfargr%   r%   r&   set_f  s   z@test_artist_inspector_get_valid_values.<locals>.TestArtist.set_fN)__name__
__module____qualname__r   r%   r%   r%   r&   
TestArtist  s    r   z
    Some text.

    %s
    f)r   Artistr   __doc__ArtistInspectorget_valid_values)accept_clauseexpectedr   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 )N	linewidthr;   )r   r   r   r   get_aliases)aialiasesr%   r%   r&   !test_artist_inspector_get_aliases  s   r   )+r^   	itertoolsr   numpyrZ   pytestmatplotlib.pyplotpyplotr   matplotlib.patchespatchesr   matplotlib.lineslinesr   matplotlib.pathpathrB   matplotlib.transforms
transformsr   matplotlib.collectionscollectionsr)   matplotlib.artistartistr   matplotlib.testing.decoratorsr   r'   r0   rV   rf   ry   r   r   r   r   r   markparametrizer   r   r%   r%   r%   r&   <module>   s8    *$




	