o
    l’×iê2  ã                   @   s0  d dl Z d dlZd dlZ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„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Z d+d,„ Z!d-d.„ Z"d/d0„ Z#d1d2„ Z$d3d4„ Z%d5d6„ Z&d7d8„ Z'd9d:„ Z(dS );é    N)ÚPath)Úpyplot)ÚMatplotlibDeprecationWarningc              
   C   s¸   t tjƒjd d }| ¡ st d¡ t tjƒ ¡ }|  	d¡}| 
|d¡ tjtjt|ƒt|ƒgdd | d¡}||krZd 	tj| d¡| d¡d	d
ddd¡}t d| ¡ d S d S )Né   ztools/boilerplate.pyzboilerplate.py not foundz	pyplot.pyzutf-8T)ÚcheckÚ
zfound pyplot.pyzexpected pyplot.pyr   Ú )ÚfromfileÚtofileÚnÚlinetermzøpyplot.py is not up-to-date. Please run 'python tools/boilerplate.py' to update pyplot.py. This needs to be done from an environment where your current working copy is installed (e.g. 'pip install -e'd). Here is a diff of unexpected differences:
%s)r   ÚmplÚ__file__ÚparentsÚexistsÚpytestÚskipÚpltÚ	read_textÚjoinÚ
write_textÚ
subprocessÚrunÚsysÚ
executableÚstrÚdifflibÚunified_diffÚsplitÚfail)ÚtmpdirÚ
gen_scriptÚorig_contentsÚplt_fileÚnew_contentsÚdiff_msg© r&   úZ/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/matplotlib/tests/test_pyplot.pyÚtest_pyplot_up_to_date   s2   

ÿ
üÿüÿùr(   c                 C   sÜ   t j ddd¡t j dd¡ddd„ƒƒ}t |¡ddd„ƒ}|d ƒ |d d	 |d d d
 |d d d | r7J ‚t t¡ |d d W d   ƒ n1 sLw   Y  t t¡ |d d ƒ W d   ƒ d S 1 sgw   Y  d S )Nz	(version)ÚoldÚnewÚkwoc                 S   ó   d S ©Nr&   ©r*   r+   r&   r&   r'   Úfunc,   s   z1test_copy_docstring_and_deprecators.<locals>.funcc                 S   r,   r-   r&   r.   r&   r&   r'   Úwrapper_func1   s   z9test_copy_docstring_and_deprecators.<locals>.wrapper_func)r*   )r+   r.   )r)   r-   )	r   Ú_apiÚrename_parameterÚmake_keyword_onlyr   Ú_copy_docstring_and_deprecatorsr   Úwarnsr   )Úrecwarnr/   r0   r&   r&   r'   Ú#test_copy_docstring_and_deprecators+   s    
ÿ"ÿr7   c                  C   sd   t  ¡ \} }t  d¡ | ¡ rJ ‚t  d¡ | ¡ sJ ‚t  ¡  | ¡ r&J ‚t  ¡  | ¡ s0J ‚d S )NFT)r   ÚsubplotsÚboxÚget_frame_on)ÚfigÚaxr&   r&   r'   Útest_pyplot_box@   s   

r=   c                   C   s   t  g d¢g d¢¡ d S )N)é   r   é   )r   Ú	stackplotr&   r&   r&   r'   Útest_stackplot_smokeL   s   rA   c                   C   sr   t  t¡ tjdd W d   ƒ n1 sw   Y  t  t¡ tjdd W d   ƒ d S 1 s2w   Y  d S )Nr>   )Únrows)Úncols)r   ÚraisesÚ	TypeErrorr   Úsubplotr&   r&   r&   r'   Útest_nrows_errorQ   s   ÿ"ÿrG   c                   C   s¬   t  ¡  t ¡ s
J ‚t  ¡  t ¡ rJ ‚W d   ƒ n1 sw   Y  t ¡ s*J ‚t  ¡  t ¡ r4J ‚t  ¡  t ¡ r?J ‚W d   ƒ n1 sIw   Y  t ¡ rTJ ‚d S r-   )r   Úionr   Úis_interactiveÚioffr&   r&   r&   r'   Ú	test_ioffX   ó   
ÿ
ÿrK   c                   C   s¬   t  ¡  t ¡ r
J ‚t  ¡  t ¡ sJ ‚W d   ƒ n1 sw   Y  t ¡ r*J ‚t  ¡  t ¡ s4J ‚t  ¡  t ¡ s?J ‚W d   ƒ n1 sIw   Y  t ¡ sTJ ‚d S r-   )r   rJ   r   rI   rH   r&   r&   r&   r'   Útest_ionf   rL   rM   c                	   C   sd  t  ¡  t  ¡ . t ¡ rJ ‚t  ¡  t ¡ sJ ‚W d   ƒ n1 s$w   Y  t ¡ r/J ‚W d   ƒ n1 s9w   Y  t ¡ sDJ ‚t  ¡ " t  ¡  t ¡ rTJ ‚W d   ƒ n1 s^w   Y  W d   ƒ n1 smw   Y  t ¡ sxJ ‚t  ¡  t  ¡  W d   ƒ n1 s‹w   Y  t ¡ s–J ‚t  ¡  t  ¡ . t ¡ s¥J ‚t  ¡  t ¡ r°J ‚W d   ƒ n1 sºw   Y  t ¡ sÅJ ‚W d   ƒ n1 sÏw   Y  t ¡ rÚJ ‚t  ¡ " t  ¡  t ¡ sêJ ‚W d   ƒ n1 sôw   Y  W d   ƒ n	1 sw   Y  t ¡ rJ ‚t  ¡  t  ¡  W d   ƒ n	1 s$w   Y  t ¡ r0J ‚d S r-   )r   rH   rJ   r   rI   r&   r&   r&   r'   Útest_nested_ion_iofft   sP   

ÿü

ÿ€ÿ

ÿ

ÿü

ÿ€ÿ

ÿrN   c               
   C   sH   zt  d¡ W d S  ty# }  zt| ƒdksJ ‚W Y d } ~ d S d } ~ ww )Ngš™™™™™ñ?zQclose() argument must be a Figure, an int, a string, or None, not <class 'float'>)r   ÚcloserE   r   )Úer&   r&   r'   Ú
test_close    s   €ÿrQ   c                  C   s^   t  d¡} | t  ¡ u sJ ‚t  d¡}|t  ¡ u sJ ‚t  d¡}| t  ¡ u s'J ‚| |u s-J ‚d S )Néy   éz   )r   rF   Úgca©Úax1Úax2Úax3r&   r&   r'   Útest_subplot_reuse¨   s   


rY   c                  C   sÆ   t  ¡  t  ¡ } t  ¡ }| d usJ ‚|| usJ ‚t  ¡  t  ¡  t jdd} t jdd}| d us2J ‚|| us8J ‚t  ¡  t  ¡  t jdd} t  ¡ }| d usPJ ‚|jdksWJ ‚|| us]J ‚t  ¡  d S )NÚpolar©Ú
projectionÚrectilinear)r   ÚfigureÚaxesrO   Úname©r<   rV   r&   r&   r'   Útest_axes_kwargs²   s&   rb   c                  C   s  t  ¡ } t  ddd¡}t  ddd¡}t  ddd¡}t t¡ t jddddd}W d   ƒ n1 s2w   Y  t jddddd}|d usFJ ‚||u sLJ ‚||usRJ ‚||usXJ ‚||u s^J ‚|| jvseJ ‚|| jv slJ ‚|| jv ssJ ‚|jdkszJ ‚|jdksJ ‚|jdksˆJ ‚d S )Nr>   r   rZ   r[   r]   )r   r^   rF   r   r5   r   r_   r`   )r;   r<   rV   rW   rX   Úax4r&   r&   r'   Útest_subplot_replace_projectionË   s&   ÿrd   c                  C   s`   t jddd} t jddd}| |u sJ ‚|  ¡  t jddd}| |us%J ‚| t  ¡ jvs.J ‚d S )NrZ   r   )r\   Útheta_offsetr>   )r   rF   ÚremoveÚgcfr_   rU   r&   r&   r'   Útest_subplot_kwarg_collisionä   s   rh   c                  C   s<   t  ¡  t  ¡ } t  ¡ }| d usJ ‚|| u sJ ‚t  ¡  d S r-   )r   r^   rT   rO   ra   r&   r&   r'   Útest_gcaî   s   ri   c                  C   s¾   t  d¡} | t  ¡ u sJ ‚| t  d¡u sJ ‚|  ¡  t jddd}|t  ¡ u s)J ‚| t  ¡ jvs2J ‚|t  d¡u s;J ‚| ¡  t jddd}|t  ¡ u sNJ ‚||usTJ ‚|t  ¡ jvs]J ‚d S )Néo   rZ   r[   r]   )r   rF   rT   rf   rg   r_   rU   r&   r&   r'   Útest_subplot_projection_reuseø   s   
rk   c                  C   sˆ   t jddd} t jddd}t jdddd}| |u sJ ‚| |u s"J ‚tjtdd t jddd	d}W d   ƒ d S 1 s=w   Y  d S )
Nrj   rZ   r[   T)rZ   )rZ   r\   zpolar=True, yet projection='3d')ÚmatchÚ3d)r   rF   r   rD   Ú
ValueErrorrU   r&   r&   r'   Ú test_subplot_polar_normalization  s   ÿ"þro   c                  C   s~   t ƒ } t ¡ }|  |¡ d}|D ] }| ¡  tj|d}|t ¡ u s$J ‚|j|ks+J ‚|  |¡ qt| ƒdt|ƒ ks=J ‚d S )N)ÚaitoffÚhammerÚlambertÚ	mollweiderZ   r]   rm   r[   r>   )Úsetr   rF   Úaddrf   r`   Úlen)Úcreated_axesr<   ÚprojectionsÚprojr&   r&   r'   Útest_subplot_change_projection  s   
rz   c                  C   sX   t  ddd¡\} t| tjjƒsJ ‚t  ddd¡\}t|tjjƒs"J ‚| j|ju s*J ‚d S )Ng        g      ð?Úrog…ëQ¸ù?ç      à?Úbo)r   rZ   Ú
isinstancer   ÚlinesÚLine2Dr_   )Úln1Úln2r&   r&   r'   Útest_polar_second_call-  s
   rƒ   c                  C   sz   t  g d¢¡} t jg d¢d}tj |j ¡ | j ¡ ¡ t  g d¢¡} t jg d¢g d¢d}tj |j ¡ | j ¡ ¡ d S )N)çš™™™™™É?r„   r|   r|   )Úposition)çš™™™™™¹?r†   çš™™™™™é?r‡   )r   r_   ÚnpÚtestingÚassert_allcloseÚbboxÚ
get_points)ÚaxrefÚaxtestr&   r&   r'   Útest_fallback_position7  s   ÿÿr   c                  C   sX   t  ¡ } |  d¡}t  ¡  t  ¡ | ksJ ‚t  |d ¡}t  ¡ | ks$J ‚|| ks*J ‚d S )Nr   r>   )r   r^   Ú
subfiguresrg   )Úfig1ÚsubfigsÚcurrentr&   r&   r'   Ú%test_set_current_figure_via_subfigureE  s   
r”   c                  C   sd   t  ¡ } |  d¡}|d jddd}|d jddd t  ¡ |ks#J ‚t  |¡ t  ¡ |ks0J ‚d S )Nr   r   r>   T)Úsqueeze)r   r^   r   r8   rT   Úsca)r;   r’   r<   r&   r&   r'   Ú"test_set_current_axes_on_subfigureQ  s   

r—   c                  C   s,   t  d¡} tjj| jddd d¡dd d S )NÚIPythonz--pylabz-cú;)zimport matplotlib.pyplot as pltz<assert plt._REPL_DISPLAYHOOK == plt._ReplDisplayHook.IPYTHONé<   )Útimeout)r   Úimportorskipr   r‰   Úsubprocess_run_helperÚstart_ipythonr   )r˜   r&   r&   r'   Útest_pylab_integration]  s   

ørŸ   c                  C   sŠ   t tƒjd } |  ¡ st d¡ dd„ }|  ¡  d¡}t||ƒƒ}tt	 
¡ ƒ}| |¡}|r5td|›ƒ‚| |¡}|rCtd|›ƒ‚dS )	z6Test that pyplot_summary lists all the plot functions.z#../../../doc/api/pyplot_summary.rstz#Documentation sources not availablec                 S   sZ   g }d}| D ]$}|s|  d¡rd}q|r|  d¡rq|d  ¡ s#d}q| | ¡ ¡ q|S )ae  
        Return a list of all the functions that are mentioned in the
        autosummary blocks contained in *lines*.

        An autosummary block looks like this::

            .. autosummary::
               :toctree: _as_gen
               :template: autosummary.rst
               :nosignatures:

               plot
               plot_date

        Fz.. autosummary::Tz   :r   )Ú
startswithÚisspaceÚappendÚstrip)r   Ú	functionsÚin_autosummaryÚliner&   r&   r'   Úextract_documented_functionsq  s   
€z=test_doc_pyplot_summary.<locals>.extract_documented_functionsr   zsThe following pyplot functions are not listed in the documentation. Please add them to doc/api/pyplot_summary.rst: z•The following functions are listed in the pyplot documentation, but they do not exist in pyplot. Please remove them from doc/api/pyplot_summary.rst: N)r   r   Úparentr   r   r   r   r   rt   r   Ú_get_pyplot_commandsÚ
differenceÚAssertionError)Úpyplot_docsr§   r   Údoc_functionsÚplot_commandsÚmissingÚextrar&   r&   r'   Útest_doc_pyplot_summaryk  s,   
!
þÿ
þÿÿr±   c                  C   sÆ   t  ¡  t  t dd¡¡ t jdd\} }t |tjg tjdk¡s$J ‚|g ks*J ‚t j	ddgdd	gdd
 t  
¡ }|jdd} |jdd}t | t ddg¡k¡sTJ ‚dd„ |D ƒdd	gksaJ ‚d S )Nr>   é
   T)Úminor)Údtypeg      @g      @ÚaÚb)ÚticksÚlabelsr³   c                 S   s   g | ]}|  ¡ ‘qS r&   )Úget_text)Ú.0Úlr&   r&   r'   Ú
<listcomp>¯  s    z$test_minor_ticks.<locals>.<listcomp>)r   r^   Úplotrˆ   ÚarangeÚxticksÚallÚarrayÚfloat64ÚyticksrT   Ú
get_yticksÚget_yticklabels)Útick_posÚtick_labelsr<   r&   r&   r'   Útest_minor_ticks£  s   rÈ   c                  C   sn   t  d¡ t  ¡ } t  ¡ } tt  ¡ ƒdksJ ‚t  d¡ tt  ¡ ƒdks&J ‚t  d¡ tt  ¡ ƒdks5J ‚d S )NÚaggr   Úsvgr   )r   Úswitch_backendr^   rv   Úget_fignums)r;   r&   r&   r'   Útest_switch_backend_no_close²  s   


rÍ   c                 C   s
   d| _ d S )NT)Ú_test_was_here)r^   r&   r&   r'   Úfigure_hook_example½  s   
rÏ   c                  C   sJ   ddgi} t  | ¡ t ¡ }W d   ƒ n1 sw   Y  |js#J ‚d S )Nzfigure.hooksz0matplotlib.tests.test_pyplot:figure_hook_example)r   Ú
rc_contextr   r^   rÎ   )Útest_rcr;   r&   r&   r'   Útest_figure_hookÁ  s   ÿ
ÿrÒ   ))r   Únumpyrˆ   r   r   Úpathlibr   r   Ú
matplotlibr   r   r   Úmatplotlib._apir   r(   r7   r=   rA   rG   rK   rM   rN   rQ   rY   rb   rd   rh   ri   rk   ro   rz   rƒ   r   r”   r—   rŸ   r±   rÈ   rÍ   rÏ   rÒ   r&   r&   r&   r'   Ú<module>   sH    ,



8