o
    ÞÁgÝ  ã                   @   s  d dl m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„ Ze	dgd	d
dd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  !d!ej" #¡ ¡d"d#„ ƒZ$d$d%„ Z%dS )&é    )ÚBytesION)Úcm)Úimage_comparison)Úrrulewrapperc                  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)Ú
projectioné
   Úfoobar©Úlabel)ÚxÚheightÚlog)ÚpltÚfigureÚpickleÚdumpr   ÚHIGHEST_PROTOCOLÚsubplotÚaxesÚplotÚnpÚarangeÚlegendÚbarÚgcaÚ
set_yscale©ÚfigÚax© r!   úZ/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/matplotlib/tests/test_pickle.pyÚtest_simple   s    

r#   zmulti_pickle.pngTÚmpl20gË¡E¶óý´?)Úremove_textÚstyleÚtolc                  C   s"  dt jd< t jddd} t  d¡ t d¡t d¡}}t d	dd
¡ dd¡ } }}t |d ¡}t  	ddd¡ t  
t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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ƒ }t | |tj¡ t  d¡ t jjj i ksòJ ‚| !d	¡ t "|¡} t jjj i ksJ ‚|  #¡ dksJ ‚d S ) NFzpcolormesh.snapzFigure with a label?)r	   é   )Úfigsizez!Can you fit any more in a figure?é   r	   r   éP   g333333ã¿é   é   é   z//Úooo)Úhatchesé   é   r(   é   é	   z$x^2$r   z
upper left)Úlocg      à¿gš™™™™™É?gš™™™™™Ù?)ÚxerrÚyerrÚall)$r   ÚrcParamsr   Úsuptitler   r   ÚlinspaceÚreshapeÚsinr   r   ÚlistÚrangeÚcontourfÚcolorbarÚ
pcolormeshÚimshowÚpcolorÚset_xlimÚset_ylimÚ
streamplotÚquiverÚscatterr   Úerrorbarr   r   r   r   ÚcloseÚ_pylab_helpersÚGcfÚfigsÚseekÚloadÚ	get_label)r   r   ÚyÚdataÚuÚvr    Ú	result_fhr!   r!   r"   Útest_complete*   sL   







rW   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,   )
Úmatplotlib.backends.backend_pdfrX   ÚmfigureÚFigureÚadd_subplotr   r   r   r   r   )rX   r   Ú_r    r!   r!   r"   Útest_no_pyplotp   s   r^   c                  C   s*   ddl m}  | dddƒ}t |tƒ ¡ d S )Nr   )ÚRendererAggr	   é   é   )Úmatplotlib.backends.backend_aggr_   r   r   r   )r_   Úrendererr!   r!   r"   Útest_rendererz   s   rd   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,   r1   )rb   re   Úcanvasr   r\   rC   r   r   r<   Údrawr   r   r   )re   Úmanagerr   r    r!   r!   r"   Ú
test_image€   s   
rj   c                  C   s4   t jdd t  ¡ } t | ¡}t |¡ t  ¡  d S )NT)r   )r   r   Úgcfr   ÚdumpsÚloadsrh   )r   Úpfr!   r!   r"   Ú
test_polarŒ   s
   

ro   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)	ÚmtransformsÚIdentityTransformÚidentityÚ	identity2ÚCompositeGenericTransformÚ	compositeÚTransformWrapperÚwrapperÚ
composite2)Úselfr!   r!   r"   Ú__init__•   s   

þ
þzTransformBlob.__init__N)Ú__name__Ú
__module__Ú__qualname__r|   r!   r!   r!   r"   rp   ”   s    rp   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!   )Ú.0rU   r!   r!   r"   Ú
<listcomp>­   s    z"test_transform.<locals>.<listcomp>)rp   r   rl   rm   ry   Ú_childrw   Ú_parentsÚvaluesrz   Ú
input_dimsÚoutput_dims)Úobjrn   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   rm   rl   ÚRecursionErrorÚprint)Ú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)Úsharexr   r	   r`   r-   )r	   r`   )r   Úsubplotsr   rm   rl   r   rE   Úget_xlim)r   Ú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)Ú	functions)
r   rŽ   Ú
inset_axesÚsecondary_xaxisr   ÚsquareÚsqrtr   rm   rl   r   r!   r!   r"   Útest_inset_and_secondaryÃ   s   rš   Úcmapc                 C   s   t  | ¡ d S rq   )r   rl   )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   )rZ   r[   rg   r   r   r   rO   rP   )r   ÚoutÚfig2r!   r!   r"   Útest_unpickle_canvasÏ   s   

rŸ   )&Úior   r   Únumpyr   ÚpytestÚ
matplotlibr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.datesr   Úmatplotlib.pyplotÚpyplotr   Úmatplotlib.transformsÚ
transformsrr   Úmatplotlib.figurer   rZ   r#   rW   r^   rd   rj   ro   rp   rˆ   rŒ   r‘   rš   ÚmarkÚparametrizeÚ_cmap_registryr„   rœ   rŸ   r!   r!   r!   r"   Ú<module>   s6    
ÿ
D
	
