U
    \	¸aÝ  ã                   @   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)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   ú@/tmp/pip-unpacked-wheel-wjyw_3jo/matplotlib/tests/test_pickle.pyÚtest_simple   s     

r   zmulti_pickle.pngTZmpl20gË¡E¶óý´?)Zremove_textÚstyleZ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æt!‚| "d	¡ t #|¡} t jjj i kst!‚|  $¡ dks t!‚d S ) NFzpcolormesh.snapzFigure with a label?)r   é   )Zfigsizez!Can you fit any more in a figure?é   r   r   éP   g333333ã¿é   é   é   z//Zooo)Zhatchesé   é   r!   é   é	   z$x^2$r	   z
upper left)Úlocg      à¿gš™™™™™É?gš™™™™™Ù?)ZxerrZyerrÚall)%r   ZrcParamsr   Zsuptitler   r   ZlinspaceÚreshapeÚsinr   r   ÚlistÚrangeZcontourfZcolorbarZ
pcolormeshÚimshowZpcolorÚset_xlimZset_ylimZ
streamplotZquiverZscatterr   Zerrorbarr   r   r   r   ÚcloseZ_pylab_helpersZGcfZfigsÚAssertionErrorÚseekÚloadZ	get_label)r   r   ÚyÚdataÚuÚvr   Z	result_fhr   r   r   Útest_complete*   sL    







r;   c                  C   sX   ddl m}  t ¡ }| |ƒ}| ddd¡}| dddgdddg¡ t |tƒ tj	¡ d S )Nr   )ÚFigureCanvasPdfr%   r&   r$   )
Zmatplotlib.backends.backend_pdfr<   ÚmfigureÚFigureÚadd_subplotr   r   r   r   r   )r<   r   Ú_r   r   r   r   Útest_no_pyplotp   s    rA   c                  C   s*   ddl m}  | dddƒ}t |tƒ ¡ d S )Nr   )ÚRendererAggr   é   é   )Úmatplotlib.backends.backend_aggrB   r   r   r   )rB   Zrendererr   r   r   Útest_rendererz   s    rF   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'   )rE   rG   Úcanvasr   r?   r1   r   r   r-   Údrawr   r   r   )rG   Úmanagerr   r   r   r   r   Ú
test_image€   s    
rL   c                  C   s4   t jdd t  ¡ } t | ¡}t |¡ t  ¡  d S )NT)r   )r   r   Zgcfr   ÚdumpsÚloadsrJ   )r   Úpfr   r   r   Ú
test_polarŒ   s
    

rP   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__rY   r   r   r   r   rQ   ”   s   rQ   c                  C   s|   t ƒ } t | ¡}~ t |¡} | jj| jks.t‚dd„ | jj 	¡ D ƒ| j
gksPt‚| jj| jjksdt‚| jj| jjksxt‚d S )Nc                 S   s   g | ]
}|ƒ ‘qS r   r   )Ú.0r:   r   r   r   Ú
<listcomp>­   s     z"test_transform.<locals>.<listcomp>)rQ   r   rM   rN   rV   Z_childrU   r4   Ú_parentsÚvaluesrW   Z
input_dimsZoutput_dims)ÚobjrO   r   r   r   Útest_transform¤   s    

"rb   c                  C   s@   t dƒ} zt t | ¡¡ W n tk
r:   tdƒ ‚ Y nX d S )Nr&   z!rrulewrapper pickling test failed)r   r   rN   rM   ÚRecursionErrorÚprint)Úrr   r   r   Útest_rrulewrapper³   s    rf   c                  C   sN   t jddd\} }t t | ¡¡} | jd  dd¡ | jd  ¡ dksJt‚d S )	Nr&   T)Zsharexr   r   rC   r%   )r   rC   )	r   Úsubplotsr   rN   rM   r   r2   Zget_xlimr4   )r   Zaxsr   r   r   Útest_shared¼   s    rh   c                  C   sH   t  ¡ \} }| ddddg¡ |jdtjtjfd t t 	| ¡¡ d S )Ngš™™™™™¹?g333333Ó?Útop)Z	functions)
r   rg   Z
inset_axesZsecondary_xaxisr   ZsquareÚsqrtr   rN   rM   r   r   r   r   Útest_inset_and_secondaryÃ   s    rk   Úcmapc                 C   s   t  | ¡ d S rR   )r   rM   )rl   r   r   r   Ú	test_cmapÊ   s    rm   c                  C   sN   t  ¡ } | jd k	st‚tƒ }t | |¡ | d¡ t |¡}|jd k	sJt‚d S )Nr   )	r=   r>   rI   r4   r   r   r   r5   r6   )r   ÚoutZfig2r   r   r   Útest_unpickle_canvasÏ   s    

ro   )&Úior   r   Znumpyr   ZpytestZ
matplotlibr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.datesr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.transformsZ
transformsrS   Zmatplotlib.figurer   r=   r   r;   rA   rF   rL   rP   rQ   rb   rf   rh   rk   ÚmarkZparametrizeZ_cmap_registryr`   rm   ro   r   r   r   r   Ú<module>   s:      ÿ
D
	
