§
    ‡Ûgw  ã                   ó  — 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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 ‚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S )ú#test_spine_class.<locals>.SpineMockc                 ó   — d | _         d S ©N©Úval)Úselfs    úR/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_spines.pyÚ__init__z,test_spine_class.<locals>.SpineMock.__init__   s   € ØˆDŒHˆHˆHó    c                 ó   — || _         d S r
   r   )r   r   s     r   Úset_valz+test_spine_class.<locals>.SpineMock.set_val   s   € ØˆDŒHˆHˆHr   N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   Ú	SpineMockr      s2   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð 	ð 	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)   è è € Ð=Ð= EˆuŒy˜CÒÐ=Ð=Ð=Ð=Ð=Ð=r   Úfoo)Úmatchzfoo, bar)r   r"   r   Úbarzsingle list)r   r   zSpines does not support slicingr   r   )r   r   r   r   r   r   r   ÚallÚvaluesÚpytestÚraisesÚAttributeErrorr"   ÚKeyErrorÚ
ValueError)r   Úspines_dictÚspiness      r   Útest_spine_classr.   	   s*  € ðð ð ð ð ñ ô ð ð �	‘”Ø�‘”Øˆy‰{Œ{Ø�)‘+”+ð	ð €Kõ Ð"Ð"�kÐ"Ð"€Fà�&Œ>˜[¨Ô0Ð0Ð0Ð0Ð0ØŒ;˜+ fÔ-Ð-Ð-Ð-Ð-à
ˆF�GÐÔ×%Ò% cÑ*Ô*Ð*ØŒ;Œ?˜cÒ!Ð!Ð!Ð!ØŒ<Ô˜sÒ"Ð"Ð"Ð"ØŒ:Œ>Ð!Ð!Ð!ØŒ=ÔÐ$Ð$Ð$à
ˆ1ˆ1ˆ1„I×Ò�cÑÔÐÝÐ=Ð=¨V¯]ª]©_¬_Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=å	Œ•~¨UÐ	3Ñ	3Ô	3ð ð ØŒ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•x uÐ	-Ñ	-Ô	-ð ð ØˆuŒˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•x zÐ	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ð ð Øˆv�gˆ~ÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)JÐ	KÑ	KÔ	Kð ð ØˆuˆvˆvŒˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sl   Ä&D:Ä:D>ÅD>Å 	E5Å5E9Å<E9ÆF2Æ2F6Æ9F6Ç	G-Ç-G1Ç4G1ÈH*È*H.È1H.ÉI(É(I,É/I,Úspines_axes_positionsc                  ó„  — 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   )r4   g      Ð?r   Únone)ÚpltÚfigureÚnpÚlinspaceÚpiÚsinÚadd_subplotÚ	set_titleÚplotr-   r   Úset_positionÚyaxisÚset_ticks_positionr   Úxaxisr   Ú	set_colorr   )Úfigr   r   Úaxs       r   Útest_spines_axes_positionsrG   4   s  € õ Œ*‰,Œ,€CÝ
Œ�A�q�œ‘w Ñ$Ô$€AØ	�"Œ&�‰)Œ)‰€AØ	�Š˜˜A˜qÑ	!Ô	!€BØ‡L‚LÐ"Ñ#Ô#Ð#Ø‡G‚GˆAˆq�M„M€MØ„I„O× Ò  Ñ/Ô/Ð/Ø„H×Ò Ñ(Ô(Ð(Ø„I„M×Ò˜~Ñ.Ô.Ð.Ø„H×Ò Ñ&Ô&Ð&Ø„I„N×Ò˜VÑ$Ô$Ð$Ø„IÔ×Ò˜vÑ&Ô&Ð&Ð&Ð&r   Úspines_data_positionsc                  ó†  — t          j        ¦   «         \  } }|j        j                             d¦  «         |j        j                             d¦  «         |j        j                             d¦  «         |j        j                             d¦  «         |                     ddg¦  «         | 	                    ddg¦  «         d S )N)Údatag      ø¿)rJ   g      à?)rJ   g      à¿Úzeroéþÿÿÿr1   )
r7   Úsubplotsr-   r   r@   r   r   r   Úset_xlimÚset_ylim©rE   rF   s     r   Útest_spines_data_positionsrQ   E   s¤   € åŒl‰nŒn�G€CˆØ„I„N×Ò Ñ/Ô/Ð/Ø„I„M×Ò˜}Ñ-Ô-Ð-Ø„I„O× Ò  Ñ0Ô0Ð0Ø„IÔ×!Ò! &Ñ)Ô)Ð)Ø‡K‚K��Q�ÑÔÐØ‡K‚K��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)r5   r3   )ÚxscaleÚxlim)rJ   r3   r1   )rJ   r5   r   FÚin)ÚaxisÚ	labelleftÚ	directionT)rZ   r[   r   r   )r7   ÚstyleÚuser=   Úsetr-   r   r@   Úset_linewidthr   Útick_params)Úfig_testÚfig_refrF   s      r   Ú#test_spine_nonlinear_data_positionsrd   P   sþ   € å„I‡M‚M�)ÑÔÐà	×	Ò	Ñ	Ô	€BØ‡F‚F�%˜g€FÑ&Ô&Ð&ð
 „I„N×Ò Ñ,Ô,Ð,Ø„I„N× Ò  Ñ#Ô#Ð#Ø„I„O× Ò  Ñ.Ô.Ð.Ø‡N‚N˜ u¸€NÑ=Ô=Ð=à	×	Ò	Ñ	Ô	€BØ‡F‚F�%˜g€FÑ&Ô&Ð&Ø„I„O×!Ò! !Ñ$Ô$Ð$Ø‡N‚N˜ u°5À€NÑEÔEÐEÐEÐEr   Úspines_capstylec                  ó²   — t          j        dd¬¦  «         t          j        ¦   «         \  } }|                     g ¦  «         |                     g ¦  «         d S )Nr4   é   )Ú	linewidth)r7   ÚrcrM   Ú
set_xticksÚ
set_yticksrP   s     r   Útest_spines_capstylerl   e   sR   € õ „Fˆ6˜RÐ Ñ Ô Ð ÝŒl‰nŒn�G€CˆØ‡M‚M�"ÑÔÐØ‡M‚M�"ÑÔÐÐÐ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 spiner3   z X-Axis label not below the spine)r7   rM   Úsubplots_adjustr?   r9   ÚarangerA   rB   r-   r   r@   r   Úset_visibleÚ
set_ylabelrC   r   r   Ú
set_xlabelÚ	set_ticksÚdrawÚget_transformÚtransform_pathÚget_pathÚget_extentsÚlabelÚget_positionÚxminÚymin)rE   rF   r    Ú	spinebboxs       r   Útest_label_without_ticksr�   n   s  € ÝŒl‰nŒn�G€CˆÝÔ˜S¨Ð-Ñ-Ô-Ð-Ø‡G‚G�BŒI�b‰MŒMÑÔÐØ„H×Ò Ñ'Ô'Ð'Ø„I„N×Ò Ñ0Ô0Ð0Ø„I„O×Ò Ñ&Ô&Ð&Ø‡M‚M�)ÑÔÐØ„H×Ò Ñ)Ô)Ð)Ø„IÔ×!Ò! /Ñ2Ô2Ð2Ø„I„M×Ò˜eÑ$Ô$Ð$Ø‡M‚M�)ÑÔÐØ„H×Ò�rÑÔÐØ„H×Ò�rÑÔÐÝ„H�J„J€JàŒIŒN€EØ×#Ò#Ñ%Ô%×4Ò4Ø�ŠÑÔñô ß%š+™-œ-ð àŒ8Œ>×&Ò&Ñ(Ô(¨Ô+¨i¬nÒ<Ð<Ð<Ø,ñ =Ô<Ð<ð ŒIÔ€EØ×#Ò#Ñ%Ô%×4Ò4Ø�ŠÑÔñô ß%š+™-œ-ð àŒ8Œ>×&Ò&Ñ(Ô(¨Ô+¨i¬nÒ<Ð<Ð<Ø*ñ =Ô<Ð<Ð<Ð<r   Ú
black_axesc                  ó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   r3   r3   )r   r   r   )	r7   ÚrcParamsr8   Úadd_axesÚset_xticklabelsÚset_yticklabelsrj   rk   Úset_facecolorrP   s     r   Útest_spines_black_axesrŒ   ‹   s¨   € ð *+…C„LÐ%Ñ&Ø#*…C„L�Ñ Ý
Œ*�Q Ð
'Ñ
'Ô
'€CØ	�Š�lÑ	#Ô	#€BØ×Ò�rÑÔÐØ×Ò�rÑÔÐØ‡M‚M�"ÑÔÐØ‡M‚M�"ÑÔÐØ×Ò�YÑÔÐÐÐr   )Únumpyr9   r'   Úmatplotlib.pyplotÚpyplotr7   Úmatplotlib.spinesr   Úmatplotlib.testing.decoratorsr   r   r.   rG   rQ   rd   rl   r�   rŒ   r   r   r   ú<module>r’      sX  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oð(ð (ð (ðV ÐÐ*Ð+Ñ,Ô,ð'ð 'ñ -Ô,ð'ð  ÐÐ*Ð+Ñ,Ô,ðð ñ -Ô,ðð Ð  Ð(Ñ(Ô(ðFð Fñ )Ô(ðFð( ÐÐ$Ð%Ñ&Ô&ðð ñ 'Ô&ðð+ð +ð +ð: Ð�<�.Ñ!Ô!ð
 ð 
 ñ "Ô!ð
 ð 
 ð 
 r   