
    rbi                     $   d dl Zd dlZd dlmZ d dlmZ d dlm	Z	m
Z
 d Z e
dg          d             Z e
dg          d             Z e	d	g
          d             Z e
dg          d             Zd Z e
dg          d             Zd ZdS )    N)Spines)check_figures_equalimage_comparisonc                      G d d          }  |              |              |              |             d}t          di |}|d         |d         u sJ |j        |d         u sJ |ddg                             d           |j        j        dk    sJ |j        j        dk    sJ |j        j        J |j        j        J |dd                             d           t          d	 |                                D                       sJ |dd         	                    d
           t          d |                                D                       sJ t          j        t          d          5  |j         ddd           n# 1 swxY w Y   t          j        t          d          5  |d          ddd           n# 1 swxY w Y   t          j        t          d          5  |g d          ddd           n# 1 swxY w Y   t          j        t          d          5  |d          ddd           n# 1 swxY w Y   t          j        t          d          5  |dd          ddd           n# 1 swxY w Y   t          j        t          d          5  |dd          ddd           dS # 1 swxY w Y   dS )z)Test Spines and SpinesProxy in isolation.c                        e Zd Zd Zd Zd ZdS )#test_spine_class.<locals>.SpineMockc                     d | _         d S Nval)selfs    l/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/matplotlib/tests/test_spines.py__init__z,test_spine_class.<locals>.SpineMock.__init__   s    DHHH    c                 J    t          |                               |           d S r
   )varsupdate)r   kwargss     r   setz'test_spine_class.<locals>.SpineMock.set   s"    JJf%%%%%r   c                     || _         d S r
   r   )r   r   s     r   set_valz+test_spine_class.<locals>.SpineMock.set_val   s    DHHHr   N)__name__
__module____qualname__r   r   r    r   r   	SpineMockr      sA        	 	 		& 	& 	&	 	 	 	 	r   r   )leftrighttopbottomr   r   xNyc              3   ,   K   | ]}|j         d k    V  dS )r"   Nr   .0spines     r   	<genexpr>z#test_spine_class.<locals>.<genexpr>'   s)      ==EuyC======r   barfooc              3   ,   K   | ]}|j         d k    V  dS )r(   Nr)   r$   s     r   r'   z#test_spine_class.<locals>.<genexpr>*   s)      ??euyE!??????r   r*   )matchzfoo, bar)r   r*   r   r(   zsingle list)r   r   zSpines does not support slicingr   r   )r   r   r   r   r   r   r    allvaluesr   pytestraisesAttributeErrorr*   KeyError
ValueError)r   spines_dictspiness      r   test_spine_classr6   	   sq           	y{{)++	 K ""k""F&>[00000;+f-----
FG%%c***;?c!!!!<s"""":>!!!=$$$
111Ic==V]]__========
111IMMeM??v}}????????	~U	3	3	3  

              	xu	-	-	-  u              	xz	2	2	2 0 0...//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	z	7	7	7                                 	z)J	K	K	K  vg~              	z)J	K	K	K  uvv                 sl   1FF	F	+	G  GG&G==HH#	H88H<?H<I55I9<I9J33J7:J7zspines_axes_positions.pngc                     t          j                    } t          j        ddt          j        z  d          }dt          j        |          z  }|                     ddd          }|                    d           |                    ||           |j	        j
                            d           |j                            d           |j	        j                            d           |j                            d	           |j	        j                            d
           |j	        j                            d
           d S )Nr      d      zcentered spines)axes皙?r   )r;   g      ?r   none)pltfigurenplinspacepisinadd_subplot	set_titleplotr5   r   set_positionyaxisset_ticks_positionr   xaxisr   	set_colorr    )figr!   r"   axs       r   test_spines_axes_positionsrN   :   s    *,,C
Aqw$$A	"&))A	Aq	!	!BLL"###GGAqMMMIO  ///H(((IM~...H&&&INV$$$Iv&&&&&r   zspines_data_positions.pngc                     t          j                    \  } }|j        j                            d           |j        j                            d           |j        j                            d           |j        j                            d           |                    ddg           |	                    ddg           d S )N)datag      )rP   g      ?)rP   g      zeror8   )
r>   subplotsr5   r   rG   r   r   r    set_xlimset_ylimrL   rM   s     r   test_spines_data_positionsrW   K   s    lnnGCIN///IM}---IO  000I!!&)))KKQKKQr   png)
extensionsc                 J   t           j                            d           |                                 }|                    dd           |j        j                            d           |j        j                            d           |j        j	                            d           |
                    dd	d
           |                                }|                    dd           |j        j	                            d           |
                    dd	d	d           d S )Ndefaultlog)r<   r:   )xscalexlim)rP   r:   r8   )rP   r<   r"   Fin)axis	labelleft	directionT)r`   ra   r   r   )r>   styleuserD   r   r5   r   rG   set_linewidthr   tick_params)fig_testfig_refrM   s      r   #test_spine_nonlinear_data_positionsri   V   s    IMM)					BFF%gF&&&
 IN,,,IN  ###IO  ...NNuN===					BFF%gF&&&IO!!!$$$NNu5NEEEEEr   zspines_capstyle.pngc                      t          j        dd           t          j                    \  } }|                    g            |                    g            d S )Nr;      )	linewidth)r>   rcrS   
set_xticks
set_yticksrV   s     r   test_spines_capstylerp   k   sR     F6R    lnnGCMM"MM"r   c                  &   t          j                    \  } }t          j        dd           |                    t	          j        d                     |j                            d           |j        j	        
                    d           |j        j                            d           |                    d           |j                            d           |j        j        
                    d           |j        j                            d           |                    d	           |j                            g            |j                            g            t          j                     |j        j	        }|                                                    |                                                                          }|j        j                                        d
         |j        k     s
J d            |j        j        }|                                                    |                                                                          }|j        j                                        d         |j        k     s
J d            d S )Ng333333?)r   r    
   r   )outward   Fzy labelr    zx labelr   z"Y-Axis label not left of the spiner:   z X-Axis label not below the spine)r>   rS   subplots_adjustrF   r@   arangerH   rI   r5   r   rG   r   set_visible
set_ylabelrJ   r    r   
set_xlabel	set_ticksdrawget_transformtransform_pathget_pathget_extentslabelget_positionxminymin)rL   rM   r&   	spinebboxs       r   test_label_without_ticksr   t   s   lnnGCS----GGBIbMMH'''IN000IO&&&MM)H)))I!!/222IMe$$$MM)HrHrHJJJINE##%%44 %+-- 8>&&((+in<<<, =<< IE##%%44 %+-- 8>&&((+in<<<* =<<<<r   zblack_axes.pngc                  j   dt           j        d<   dt           j        d<   t          j        dd          } |                     d          }|                    g            |                    g            |                    g            |                    g            |                    d           d S )	Nr   zsavefig.pad_inchestightzsavefig.bbox)   r   )figsize)r   r   r:   r:   )r   r   r   )	r>   rcParamsr?   add_axesset_xticklabelsset_yticklabelsrn   ro   set_facecolorrV   s     r   test_spines_black_axesr      s     *+CL%&#*CL 
*Q
'
'
'C	l	#	#BrrMM"MM"Yr   c                      t          j                    } |                     d          }|j        d         }|                    d            |j        d         j        J |                                  d S )Npolar)
projectioninner)r>   r?   rD   r5   register_axisr`   draw_without_rendering)rL   rM   inner_spines      r   test_arc_spine_inner_no_axisr      sp     *,,C	G	,	,B)G$Kd###9W"***     r   )numpyr@   r/   matplotlib.pyplotpyplotr>   matplotlib.spinesr   matplotlib.testing.decoratorsr   r   r6   rN   rW   ri   rp   r   r   r   r   r   r   <module>r      si              $ $ $ $ $ $ O O O O O O O O. . .b ./00' ' 10'  ./00  10 (((F F )(F( ()**  +*+ + +: #$%%
  
  &%
 	! 	! 	! 	! 	!r   