o
    ‘i³!  ã                   @   s¦  d dl mZ d dlZd dlZd dlZd dl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lmZ d	d
„ Zdd„ Ze	j  !d¡edgddd„ ƒƒZ"dd„ Z#e	j  !d¡edgddd„ ƒƒZ$dd„ Z%dd„ Z&dd„ Z'dd„ Z(dd„ Z)G d d!„ d!ƒZ*d"d#„ Z+d$d%„ Z,d&d'„ Z-d(d)„ Z.ej/ 0d*e
j1 2¡ ¡d+d,„ ƒZ3d-d.„ Z4d/d0„ Z5d1d2„ Z6d3d4„ Z7d5d6„ Z8d7d8„ Z9dS )9é    )ÚBytesION)Úcm)Úsubprocess_run_helper)Úcheck_figures_equal)Úrrulewrapper)ÚVertexSelector)Úparasite_axesc                  C   sè   t  ¡ } t | tƒ tj¡ t  d¡}t |tƒ tj¡ t jdd}t jt	 
d¡dd t  ¡  t |tƒ tj¡ t  ¡  t jt	 
d¡t	 
d¡d t t  ¡ tƒ tj¡ t  ¡ } t  ¡ }t  t	 
d¡¡ | d¡ t | tƒ tj¡ d S )	Néy   Úpolar)Z
projectioné
   Zfoobar©Úlabel)ÚxÚheightÚlog)ÚpltÚfigureÚpickleÚdumpr   ÚHIGHEST_PROTOCOLÚsubplotÚaxesÚplotÚnpÚarangeÚlegendÚbarZgcaZ
set_yscale©ÚfigÚax© r    úk/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/matplotlib/tests/test_pickle.pyÚtest_simple   s    

r"   c                 C   sÚ  |   d¡ t | ¡ t d¡ t d¡t d¡}}t ddd¡ dd¡ } }}t |d ¡}t 	ddd	¡ t 
ttdƒƒ¡ t d
¡ t 	ddd¡ tj|ddgd t ¡  t 	ddd¡ t |¡ t 	ddd¡ t |¡ t d¡ t 	ddd¡ t |¡ t 	ddd¡}| dd¡ | dd¡ t ||||¡ t 	ddd¡}| dd¡ | dd¡ t ||||¡ t 	ddd¡ tj||d dd tjdd t 	ddd¡ tj||d ddd tjdd |  ¡  d S )N)r   é   z!Can you fit any more in a figure?é   r   r   éP   g333333ã¿é   é   Zhelloé   z//Zooo)Zhatchesé   zhello
world!é   r#   é   é	   z$x^2$r   z
upper left)Úlocg      à¿gš™™™™™É?gš™™™™™Ù?)ZxerrZyerrT)Z	draggable)Úset_size_inchesr   r   Zsuptitler   r   ZlinspaceÚreshapeÚsinr   r   ÚlistÚrangeZylabelZcontourfZcolorbarZ
pcolormeshÚimshowZpcolorÚset_xlimZset_ylimZ
streamplotZquiverZscatterr   ZerrorbarZalign_ylabels)Úfig_refr   ÚyÚdataÚuÚvr   r    r    r!   Ú_generate_complete_test_figure0   sD   







r:   ÚdefaultZpng)Ú
extensionsc                 C   st   t |ƒ t |tj¡}ddd„ t |¡D ƒvsJ ‚t |¡}|j ¡  |  	| 
¡ ¡ |  |jj ¡ ¡ t |¡ d S )NZFigureCanvasAggc                 S   s   g | ]\}}}|‘qS r    r    )Ú.0ÚopÚargÚposr    r    r!   Ú
<listcomp>m   s    z!test_complete.<locals>.<listcomp>)r:   r   Údumpsr   ÚpickletoolsZgenopsÚloadsÚcanvasÚdrawr.   Úget_size_inchesÚfigimageÚrendererÚbuffer_rgbar   Úclose)Úfig_testr5   ZpklZloadedr    r    r!   Útest_completec   s   

rM   c                  C   sd   dd l } dd l}| jd }t|dƒ}| |¡}W d   ƒ n1 s"w   Y  tt| |¡ƒƒ d S )Nr   ÚPICKLE_FILE_PATHÚrb)Úosr   ÚenvironÚopenÚloadÚprintÚstrrB   )rP   r   ÚpathZblobr   r    r    r!   Ú_pickle_load_subprocessw   s   
ÿrW   c                 C   sÄ   t |ƒ |d }| ¡ rJ ‚| d¡}t ||tj¡ W d   ƒ n1 s&w   Y  | ¡ s1J ‚ttdt|ƒddœd}t 	t
 |j¡¡}|j ¡  |  | ¡ ¡ |  |jj ¡ ¡ t |¡ d S )Nzsinus.pickleÚwbé<   ZAgg)rN   Z
MPLBACKEND)ÚtimeoutZ	extra_env)r:   ÚexistsrR   r   r   r   r   rW   rU   rD   ÚastÚliteral_evalÚstdoutrE   rF   r.   rG   rH   rI   rJ   r   rK   )rL   r5   Ztmp_pathÚfpÚfileÚprocZ
loaded_figr    r    r!   Ú test_pickle_load_from_subprocessƒ   s"   ÿý
rb   c                  C   sp   t  d¡} tƒ }t | |tj¡ t  d¡ t jjj	i ksJ ‚t 
| ¡ ¡} t jjj	i ks.J ‚|  ¡ dks6J ‚d S )Nza labelÚall)r   r   r   r   r   r   rK   Z_pylab_helpersZGcfZfigsrD   Ú	getbufferZ	get_label)r   Úbufr    r    r!   Útest_gcfŸ   s   

rf   c                  C   sT   ddl m}  t ¡ }| |ƒ}| ddd¡}| g d¢g d¢¡ t |tƒ tj	¡ d S )Nr   )ÚFigureCanvasPdfr'   )r'   r(   r&   )
Zmatplotlib.backends.backend_pdfrg   ÚmfigureÚFigureÚadd_subplotr   r   r   r   r   )rg   r   Ú_r   r    r    r!   Útest_no_pyplotª   s   rl   c                  C   s*   ddl m}  | dddƒ}t |tƒ ¡ d S )Nr   )ÚRendererAggr   é   é   )Úmatplotlib.backends.backend_aggrm   r   r   r   )rm   rI   r    r    r!   Útest_renderer´   s   rq   c                  C   s^   ddl m}  | dƒ}|jj}| ddd¡}| t d¡ dd¡¡ |j 	¡  t
 |tƒ ¡ d S )Nr   )Únew_figure_manageriè  r'   é   r&   r)   )rp   rr   rE   r   rj   r3   r   r   r/   rF   r   r   r   )rr   Úmanagerr   r   r    r    r!   Ú
test_imageº   s   
ru   c                  C   s4   t jdd t  ¡ } t | ¡}t |¡ t  ¡  d S )NT)r
   )r   r   Zgcfr   rB   rD   rF   )r   Úpfr    r    r!   Ú
test_polarÆ   s
   

rw   c                   @   s   e Zd Zdd„ ZdS )ÚTransformBlobc                 C   sJ   t  ¡ | _t  ¡ | _t  | j| j¡| _t  | j¡| _t  | j| j¡| _d S ©N)	ÚmtransformsZIdentityTransformÚidentityZ	identity2ZCompositeGenericTransformÚ	compositeZTransformWrapperÚwrapperÚ
composite2)Úselfr    r    r!   Ú__init__Ï   s   

þ
þzTransformBlob.__init__N)Ú__name__Ú
__module__Ú__qualname__r€   r    r    r    r!   rx   Î   s    rx   c                  C   s|   t ƒ } t | ¡}~ t |¡} | jj| jksJ ‚dd„ | jj ¡ D ƒ| j	gks(J ‚| jj
| jj
ks2J ‚| jj| jjks<J ‚d S )Nc                 S   s   g | ]}|ƒ ‘qS r    r    )r=   r9   r    r    r!   rA   ç   s    z"test_transform.<locals>.<listcomp>)rx   r   rB   rD   r}   Ú_childr|   Ú_parentsÚvaluesr~   Z
input_dimsZoutput_dims)Úobjrv   r    r    r!   Útest_transformÞ   s   

"rˆ   c                  C   s8   t dƒ} zt t | ¡¡ W d S  ty   tdƒ ‚ w )Nr(   z!rrulewrapper pickling test failed)r   r   rD   rB   ÚRecursionErrorrT   )Úrr    r    r!   Útest_rrulewrapperí   s   þr‹   c                  C   sN   t jddd\} }t t | ¡¡} | jd  dd¡ | jd  ¡ dks%J ‚d S )	Nr(   T)Zsharexr   r   rn   r'   )r   rn   )r   Úsubplotsr   rD   rB   r   r4   Zget_xlim)r   Zaxsr    r    r!   Útest_sharedö   s   r   c                  C   sD   t  ¡ \} }| g d¢¡ |jdtjtjfd t t 	| ¡¡ d S )N)çš™™™™™¹?rŽ   ç333333Ó?r   Útop)Z	functions)
r   rŒ   Z
inset_axesZsecondary_xaxisr   ZsquareÚsqrtr   rD   rB   r   r    r    r!   Útest_inset_and_secondaryý   s   r’   Úcmapc                 C   s   t  | ¡ d S ry   )r   rB   )r“   r    r    r!   Ú	test_cmap  s   r”   c                  C   sN   t  ¡ } | jd usJ ‚tƒ }t | |¡ | d¡ t |¡}|jd us%J ‚d S )Nr   )rh   ri   rE   r   r   r   ÚseekrS   )r   ÚoutZfig2r    r    r!   Útest_unpickle_canvas	  s   

r—   c                  C   s0   t  g d¢¡} tt t | ¡¡ƒt jksJ ‚d S )N)r   r   r'   r'   )r   Z	host_axesÚtyper   rD   rB   ZHostAxes)r   r    r    r!   Útest_mpl_toolkits  s   "r™   c                   C   s*   t t t tj ¡ ¡¡ƒtjjksJ ‚d S ry   )r˜   r   rD   rB   ÚmplÚcolorsZLogNormr    r    r    r!   Útest_standard_norm  s   ÿrœ   c                  C   s<   t j t jjt jj¡ƒ } tt t 	| ¡¡ƒt| ƒksJ ‚d S ry   )
rš   r›   Zmake_norm_from_scaleÚscaleZ
LogitScaleZ	Normalizer˜   r   rD   rB   )Zlogit_norm_instancer    r    r!   Útest_dynamic_norm  s   ÿÿrž   c                  C   s,   t jddgdd\} t t t| ƒ¡¡ d S )Nr   r'   T)Zpicker)r   r   r   rD   rB   r   )Úliner    r    r!   Útest_vertexselector$  s   r    c                  C   s^   t  ¡  ¡ } | jg d¢d |  ddg¡ t t | ¡¡} |  ddg¡\}| ¡ dks-J ‚d S )N)ÚcÚmr6   Úk)r¡   r'   r(   r&   r)   r¢   )	r   r   rj   Zset_prop_cycler   r   rD   rB   Ú	get_color)r   Úlr    r    r!   Útest_cycler)  s   r¦   ):Úior   r\   r   rC   Únumpyr   ZpytestZ
matplotlibrš   r   Zmatplotlib.testingr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.datesr   Zmatplotlib.linesr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.transformsZ
transformsrz   Zmatplotlib.figurer   rh   Zmpl_toolkits.axes_grid1r   r"   r:   ÚstyleÚcontextrM   rW   rb   rf   rl   rq   ru   rw   rx   rˆ   r‹   r   r’   ÚmarkZparametrizeZ
_colormapsr†   r”   r—   r™   rœ   rž   r    r¦   r    r    r    r!   Ú<module>   sV    
3



	

