
    EVf!                     X   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	 Zd
 Ze	j@                  jC                  d       edg      d               Z"d Z#e	j@                  jC                  d       edg      d               Z$d Z%d Z&d Z'd Z(d Z) G d d      Z*d Z+d Z,d Z-d Z.ej^                  ja                  de
jb                  je                               d        Z3d Z4d Z5d  Z6d! Z7d" Z8d# Z9y)$    )BytesION)cm)subprocess_run_helper)check_figures_equal)rrulewrapper)VertexSelector)parasite_axesc                  H   t        j                         } t        j                  | t	               t        j
                         t        j                  d      }t        j                  |t	               t        j
                         t        j                  d      }t        j                  t        j                  d      d       t        j                          t        j                  |t	               t        j
                         t        j                          t        j                  t        j                  d      t        j                  d             t        j                  t        j                         t	               t        j
                         t        j                         } t        j                         }t        j                  t        j                  d             |j                  d       t        j                  | t	               t        j
                         y )	Ny   polar)
projection
   foobarlabel)xheightlog)pltfigurepickledumpr   HIGHEST_PROTOCOLsubplotaxesplotnparangelegendbargca
set_yscalefigaxs     e/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/matplotlib/tests/test_pickle.pytest_simpler'      s%   
**,C
KKWY 7 78	S	B
KKGIv667	W	%BHHRYYr](+JJL
KKGIv667
 JJLGGbiimBIIbM2
KK	79f&=&=>
**,C	BHHRYYr]MM%
KKWY 7 78    c                 B   | j                  d       t        j                  |        t        j                  d       t	        j
                  d      t	        j
                  d      }}t	        j                  ddd      j                  dd      x}x}}t	        j                  |dz        }t        j                  ddd	       t        j                  t        t        d                   t        j                  d
       t        j                  ddd       t        j                  |ddg       t        j                          t        j                  ddd       t        j                   |       t        j                  ddd       t        j"                  |       t        j                  d       t        j                  ddd       t        j$                  |       t        j                  ddd      }|j'                  dd       |j)                  dd       t        j*                  ||||       t        j                  ddd      }|j'                  dd       |j)                  dd       t        j,                  ||||       t        j                  ddd       t        j.                  ||dz  d       t        j0                  d       t        j                  ddd       t        j2                  ||dz  dd       t        j0                  d       | j5                          y )N)r      z!Can you fit any more in a figure?   r   r   P   g333333      hello   z//ooo)hatches   zhello
world!   r*      	   z$x^2$r   z
upper left)locg      g?g?)xerryerrT)	draggable)set_size_inchesr   r   suptitler   r   linspacereshapesinr   r   listrangeylabelcontourfcolorbar
pcolormeshimshowpcolorset_xlimset_ylim
streamplotquiverscatterr   errorbaralign_ylabels)fig_refr   ydatauvr%   s          r&   _generate_complete_test_figurerT   0   s*   G$JJwLL45 99Q<2qA;;q"b)11"a88D81q
q4xA KK1aHHT%)_JJwKK1aLLe}-LLNKK1aNN4KK1aJJtJJKK1aJJt	Q1	BKK1KK1NN1aA	Q1	BKK1KK1JJq!QKK1aKK16)JJ< KK1aLLAH3S1JJr(   defaultpng)
extensionsc           	         t        |       t        j                  |t        j                        }dt	        j
                  |      D cg c]  \  }}}|
 c}}}vsJ t        j                  |      }|j                  j                          | j                  |j                                | j                  |j                  j                  j                                t        j                  |       y c c}}}w )NFigureCanvasAgg)rT   r   dumpsr   pickletoolsgenopsloadscanvasdrawr;   get_size_inchesfigimagerendererbuffer_rgbar   close)fig_testrO   pklopargposloadeds          r&   test_completerk   c   s     #7+
,,w 7 7
8C
 [=O=OPS=T$U$U\RcS$UUUU\\#F
MMV3356fmm,,88:;IIf %Vs   
C6
c                      dd l } dd l}| j                  d   }t        |d      5 } |j                  |      }d d d        t        t         |j                                     y # 1 sw Y   .xY w)Nr   PICKLE_FILE_PATHrb)osr   environopenloadprintstrrZ   )ro   r   pathblobr$   s        r&   _pickle_load_subprocessrw   w   sb    ::()D	dD	  Tfkk$  
#lfll3
 !   s   A$$A-c                    t        |       |dz  }|j                         rJ |j                  d      5 }t        j                  ||t        j
                         d d d        |j                         sJ t        t        dt        |      dd      }t        j                  t        j                  |j                              }|j                  j                          | j                  |j!                                | j#                  |j                  j$                  j'                                t)        j*                  |       y # 1 sw Y   xY w)Nzsinus.picklewb<   Agg)rm   
MPLBACKEND)timeout	extra_env)rT   existsrq   r   r   r   r   rw   rt   r]   astliteral_evalstdoutr^   r_   r;   r`   ra   rb   rc   r   rd   )re   rO   tmp_pathfpfileproc
loaded_figs          r&    test_pickle_load_from_subprocessr      s     #7+	N	"Byy{?	 <$GT6#:#:;<99;; '*2weDD c..t{{;<JZ779:j''00<<>?IIj#< <s   &EEc                     t        j                  d      } t               }t        j                  | |t        j
                         t        j                  d       t         j                  j                  j                  i k(  sJ t        j                  |j                               } t         j                  j                  j                  i k7  sJ | j                         dk(  sJ y )Nza labelall)r   r   r   r   r   r   rd   _pylab_helpersGcffigsr]   	getbuffer	get_label)r$   bufs     r&   test_gcfr      s    
**Y
C
)C
KKS&112IIe!!&&",,,
,,s}}
'C!!&&",,,==?i'''r(   c                      ddl m}  t        j                         } | |      }|j	                  ddd      }|j                  g dg d       t        j                  |t               t        j                         y )Nr   )FigureCanvasPdfr.   )r.   r0   r-   )
matplotlib.backends.backend_pdfr   mfigureFigureadd_subplotr   r   r   r   r   )r   r$   _r%   s       r&   test_no_pyplotr      sS    ?
..
CA	Aq	!BGGIy!
KKWY 7 78r(   c                  `    ddl m}   | ddd      }t        j                  |t	                      y )Nr   )RendererAggr         )matplotlib.backends.backend_aggr   r   r   r   )r   rb   s     r&   test_rendererr      s#    ;2r2&H
KK')$r(   c                  J   ddl m}   | d      }|j                  j                  }|j	                  ddd      }|j                  t        j                  d      j                  dd             |j                  j                          t        j                  |t                      y )Nr   )new_figure_manageri  r.      r-   r3   )r   r   r^   r   r   rF   r   r   r>   r_   r   r   r   )r   managerr$   r%   s       r&   
test_imager      st     C &G
..

C	Aq	!BIIbiim##Aq)*NN
KKWYr(   c                      t        j                  d       t        j                         } t        j                  |       }t        j
                  |       t        j                          y )NT)r   )r   r   gcfr   rZ   r]   r_   )r$   pfs     r&   
test_polarr      s<    KKd
'')C	c	B
LLHHJr(   c                       e Zd Zd Zy)TransformBlobc                 l   t        j                         | _        t        j                         | _        t        j                  | j                  | j                        | _        t        j                  | j
                        | _        t        j                  | j                  | j                        | _        y N)	mtransformsIdentityTransformidentity	identity2CompositeGenericTransform	compositeTransformWrapperwrapper
composite2)selfs    r&   __init__zTransformBlob.__init__   sz    #557$668$>>MMNN #33DNNC%??LLMMr(   N)__name__
__module____qualname__r    r(   r&   r   r      s    r(   r   c                     t               } t        j                  |       }~ t        j                  |      } | j                  j
                  | j                  k(  sJ | j                  j                  j                         D cg c]	  } |        c}| j                  gk(  sJ | j                  j                  | j                  j                  k(  sJ | j                  j                  | j                  j                  k(  sJ y c c}w r   )r   r   rZ   r]   r   _childr   _parentsvaluesr   
input_dimsoutput_dims)objr   rS   s      r&   test_transformr      s    
/C	c	B
,,r
C;;...--4467AAC7CNN;KKKK;;!!S]]%=%====;;""cmm&?&???? 8s   Dc                      t        d      } 	 t        j                  t        j                  |              y # t        $ r t        d        w xY w)Nr0   z!rrulewrapper pickling test failed)r   r   r]   rZ   RecursionErrorrs   )rs    r&   test_rrulewrapperr      s?    QAV\\!_% 12s	   (6 Ac                  
   t        j                  dd      \  } }t        j                  t        j                  |             } | j
                  d   j                  dd       | j
                  d   j                         dk(  sJ y )	Nr0   T)sharexr   r   r   r.   )r   r   )r   subplotsr   r]   rZ   r   rH   get_xlim)r$   axss     r&   test_sharedr      sd    ||Ad+HC
,,v||C(
)CHHQKR 88A;!X---r(   c                  
   t        j                         \  } }|j                  g d       |j                  dt        j
                  t        j                  f       t        j                  t        j                  |              y )N)皙?r   333333?r   top)	functions)
r   r   
inset_axessecondary_xaxisr   squaresqrtr   r]   rZ   r#   s     r&   test_inset_and_secondaryr      sS    llnGCMM"#uBGG(<=
LLc"#r(   cmapc                 .    t        j                  |        y r   )r   rZ   )r   s    r&   	test_cmapr     s    
LLr(   c                      t        j                         } | j                  J t               }t	        j
                  | |       |j                  d       t	        j                  |      }|j                  J y )Nr   )r   r   r^   r   r   r   seekrr   )r$   outfig2s      r&   test_unpickle_canvasr   	  s\    
..
C::!!!
)C
KKSHHQK;;sD;;"""r(   c                      t        j                  g d      } t        t        j                  t        j
                  |                   t         j                  k(  sJ y )N)r   r   r.   r.   )r	   	host_axestyper   r]   rZ   HostAxes)r%   s    r&   test_mpl_toolkitsr     s=    		 	 	.BV\\"-./=3I3IIIIr(   c                      t        t        j                  t        j                  t        j
                  j                                           t        j
                  j                  k(  sJ y r   )r   r   r]   rZ   mplcolorsLogNormr   r(   r&   test_standard_normr     sE    V\\#***<*<*>?@A::  r(   c                  *   t        j                  j                  t         j                  j                  t         j                  j
                               } t        t        j                  t        j                  |                   t        |       k(  sJ y r   )
r   r   make_norm_from_scalescale
LogitScale	Normalizer   r   r]   rZ   )logit_norm_instances    r&   test_dynamic_normr     sh    **99		cjj224 6V\\*=>?@#$% % %r(   c                      t        j                  ddgd      \  } t        j                  t        j                  t        |                    y )Nr   r.   T)picker)r   r   r   r]   rZ   r   )lines    r&   test_vertexselectorr   $  s2    HHaVD)ED
LLnT234r(   c                  :   t        j                         j                         } | j                  g d       | j	                  ddg       t        j                  t        j                  |             } | j	                  ddg      \  }|j                         dk(  sJ y )N)cmrP   k)r   r.   r0   r-   r3   r   )	r   r   r   set_prop_cycler   r   r]   rZ   	get_color)r%   ls     r&   test_cyclerr   )  su    		!	!	#B,-GGQFO	fll2&	'B	!QBA;;=Cr(   ):ior   r   r   r[   numpyr   pytest
matplotlibr   r   matplotlib.testingr   matplotlib.testing.decoratorsr   matplotlib.datesr   matplotlib.linesr   matplotlib.pyplotpyplotr   matplotlib.transforms
transformsr   matplotlib.figurer   r   mpl_toolkits.axes_grid1r	   r'   rT   stylecontextrk   rw   r   r   r   r   r   r   r   r   r   r   r   markparametrize
_colormapsr   r   r   r   r   r   r   r   r   r(   r&   <module>r     s2    
       4 = ) +  + # 1960f 9( ) $	" 9( ) 4(9%	   @.$ !5!5!78 9#J

%5
 r(   