o
    d                     @   s   d dl Z d dlZd dlZd dlm  mZ d dlZedZ	e
e	ddd  ejdd Zdd	 Zd
d Zdd Zdd Zdd Zejdd Zdd ZdS )    Npandas_dummy_backendplotc                  O   s   dS )N
used_dummy )argskwargsr   r   V/app/.heroku/python/lib/python3.10/site-packages/pandas/tests/plotting/test_backend.py<lambda>   s    r	   c                   c   s:    t dd dV  W d   dS 1 sw   Y  dS )z*Restore the plotting backend to matplotlibplotting.backend
matplotlibN)pandasoption_contextr   r   r   r   restore_backend   s   "r   c                  C   sT   d} t jt| d tdd W d    n1 sw   Y  tjjjdks(J d S )Nz9Could not find plotting backend 'not_an_existing_module'.matchr
   Znot_an_existing_moduler   )pytestraises
ValueErrorr   
set_optionoptionsplottingbackendmsgr   r   r   test_backend_is_not_module   s
   r   c                 C   sH   |  tjdt tdd tddksJ tjj	dtu s"J d S )Nr   r
   )
setitemsysmodulesdummy_backendr   r   
get_optionr   _core_get_plot_backend)monkeypatchr   r   r   r   test_backend_is_correct   s
   
r#   c                 C   sH   |  tjdt tg d}tddksJ |jdddks"J d S )Nr            r
   r   )r   r   )r   r   r   r   r   	DataFramer   r   r"   r   Zdfr   r   r   $test_backend_can_be_set_in_plot_call'   s   r*   c                 C   s   | | |tjdt |d }|  |d d tjj	
dtu s'J tdd tjj	
 tu s8J W d    d S 1 sCw   Y  d S )Nr   zmy_backend-0.0.0.dist-infozentry_points.txts@   [pandas_plotting_backends]
my_ep_backend = pandas_dummy_backend
Zmy_ep_backendr
   )Zsyspath_prependr   r   r   r   mkdirwrite_bytesr   r   r    r!   r   )r   Ztmp_pathr"   Z	dist_infor   r   r   test_register_entrypoint/   s   
"r-   c                 C   s|   t d}| tjd| tjjjdksJ t	j
tdd tdd W d    n1 s.w   Y  tjjjdks<J d S )NZpandas_plot_backendr   z6Could not find plotting backend 'pandas_plot_backend'.r   r
   )types
ModuleTyper   r   r   r   r   r   r   r   r   r   r   )r"   moduler   r   r   (test_setting_backend_without_plot_raisesA   s   
r1   c                  C   sF   d} t jt| d tjjd W d    d S 1 sw   Y  d S )NzVmatplotlib is required for plotting when the default backend "matplotlib" is selected.r   r   )r   r   ImportErrorr   r   r    r!   r   r   r   r   test_no_matplotlib_okO   s
   "r3   c                 C   s>   |  tjdt tdd tdg di}|jdd d S )Nr   r
   Ar$   znot a real kind)kind)r   r   r   r   r   r   r(   r   r)   r   r   r   test_extra_kinds_okY   s   r6   )r   r.   r   Zpandas.util._test_decoratorsutilZ_test_decoratorstdr   r/   r   setattrZfixturer   r   r#   r*   r-   r1   Zskip_if_mplr3   r6   r   r   r   r   <module>   s"    



	