ó
    [hÌ!  ã                   ó6  • S SK r S SKJr  S SKrS SKJr  S SKJ	r	  S SK
JrJr  S SKJrJr  S SKJr  S SKJr  S r\" S/S	S
9S 5       r\" S/5      S 5       r\" S/S	S
9S 5       rS r\" S/5      S 5       rS r\" S/S9S 5       r\" S/S9S 5       rS rS rg)é    N)ÚMock)ÚPath)Ú
CustomCellÚTable)Úimage_comparisonÚcheck_figures_equal)ÚBboxc                  ó4   • SS/n [         R                  " U S9  g )NÚbÚr)ÚcellColours)ÚpltÚtable)Ú
cellcolorss    Új/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/matplotlib/tests/test_table.pyÚtest_non_squarer      s   € à�s�€JÜ‡I‚I˜*Ó%ó    ztable_zorder.pngT)Úremove_textc            	      óH  • SS/SS//n SnS Vs/ s H  nSU-  PM
     nn/ n[         R                  " [        U5      5      n[        U 5       H/  nXV-  nUR	                  U Vs/ s H  nSUS	-  -  PM     sn5        M1     [         R
                  " S
S[         R                  -  S5      n[        R                  " U[         R                  " U5      SSS9  [        R                  " UUUSSS9  [        R                  " UUUSSS9  [        R                  " / 5        g s  snf s  snf )NiR iØ¨ ivã  iÓÐ )ÚFreezeÚWind)éd   é2   z%d yearz%1.1fg     @�@r   é   r   é   )ÚlwÚzorderÚcenteréþÿÿÿ)ÚcellTextÚ	rowLabelsÚ	colLabelsÚlocr   zupper center)ÚnpÚzerosÚlenÚreversedÚappendÚlinspaceÚpir   ÚplotÚcosr   Úyticks)Údatar"   Úxr!   r    ÚyoffÚrowÚts           r   Útest_zorderr3      s	  € à�FˆOØ�FˆOð€Dð #€IÙ(1Ó2ª	 1�˜Q”©	€IÐ2à€HÜ�8Š8”C˜	“NÓ#€DÜ˜Ž~ˆØ‰ˆØ�‰±tÓ<²t°!˜ A f¡HÔ-±tÑ<Ö=ñ ô 	�Š�A�qœŸ™‘w Ó$€AÜ‡H‚HˆQ”—’�q“	˜a¨Ò*ä‡I‚I�xØ!Ø!ØØò	ô ‡I‚I�xØ!Ø!Ø Øò	ô ‡J‚Jˆr…Nùò1 3ùò =s   �DÁ"D
ztable_labels.pngc                  óp  • Sn [         R                  " SSU 5      n[        R                  R	                  U5      nS/U -  /U -  n[        R
                  " 5       nUR                  SSS5      nUR                  S5        UR                  UUSS9  UR                  SSS	5      nUR                  S5        UR                  UUS
/U -  SS9  UR                  SSS5      nUR                  S5        UR                  UUSS9  UR                  SSS5      nUR                  S5        UR                  UUS
/U -  SS9  g )Né   r   é   Ú1r   ÚoffÚbest)r    Ú
rowColoursr#   r   ÚHeader)r    r:   r!   r#   )r    Ú
colColoursr#   )r    r<   r"   r#   )	r$   r)   r   ÚcmÚRdYlGnÚfigureÚadd_subplotÚaxisr   )	ÚdimÚcÚcoloursr    ÚfigÚax1Úax2Úax3Úax4s	            r   Útest_label_coloursrJ   5   s:  € à
€Cä
�Š�A�q˜#Ó€AÜ�f‰f�m‰m˜AÓ€GØ�˜‘ˆ}˜sÑ"€Hä
�*Š*‹,€Cà
�/‰/˜!˜Q Ó
"€CØ‡H�HˆU„OØ‡I�I�xØ Øð ñ ð �/‰/˜!˜Q Ó
"€CØ‡H�HˆU„OØ‡I�I�xØ Ø!˜
 SÑ(Øð ñ ð
 �/‰/˜!˜Q Ó
"€CØ‡H�HˆU„OØ‡I�I�xØ Øð ñ ð �/‰/˜!˜Q Ó
"€CØ‡H�HˆU„OØ‡I�I�xØ Ø!˜
 SÑ(Øð ò r   ztable_cell_manipulation.pngc                  ó@  • Sn S/[        U 5      -  /S-  nS/[        U 5      -  n[        R                  " [        U 5      S[        U 5      S-   4S9u  p4[        X@5       H(  u  pVUR	                  UUSUS	9  UR                  S
5        M*     [        R                  " 5         g )N©Ú
horizontalÚverticalÚopenÚclosedÚTÚRÚBÚLr7   r   çš™™™™™¹?r   r6   )ÚnrowsÚfigsizer   )Ú	colWidthsr    r#   Úedgesr8   )r&   r   ÚsubplotsÚzipr   rA   Útight_layout)Úcellsr    rX   Ú_ÚaxsÚaxÚcells          r   Útest_diff_cell_tablerb   Z   sš   € àL€EØ�œ˜E›
Ñ"Ð# aÑ'€HØ�œ˜E›
Ñ"€Iä�\Š\¤ E£
°Q¼¸E»
À1¹Ð4EÑF�F€AÜ˜–O‰ˆØ
�‰Ø#Ø!ØØð	 	ñ 	ð 	�‰�Žñ $ô ×ÒÕr   c                  óv  • Sn [         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  4[         R                  [         R                  [         R                  [         R                  [         R                  44n[	        X5       HF  u  p#[        SUSSS9n[        S UR                  5       R                  5        5       5      nX5:X  a  MF   e   g )NrL   ©r   r   r6   )Úvisible_edgesÚwidthÚheightc              3   ó*   #   • U  H	  u  pUv •  M     g 7f©N© )Ú.0r^   Úss      r   Ú	<genexpr>Ú"test_customcell.<locals>.<genexpr>{   s   é € ÐCÒ#B™4˜1•QÒ#Bùs   ‚)	r   ÚMOVETOÚLINETOÚ	CLOSEPOLYr[   r   ÚtupleÚget_pathÚiter_segments)ÚtypesÚcodesr2   rC   ra   Úcodes         r   Útest_customcellrx   l   sj  € ØL€Eä	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ÐLÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIð	
€Eô �EÖ!‰ˆÜ˜&°¸À1ÑEˆÜÑC 4§=¡=£?×#@Ñ#@Ô#BÓCÓCˆØ�yÐˆyò "r   ztable_auto_column.pngc                  ód  • [         R                  " SS5      u  n u  pp4UR                  S5        UR                  SS/SS//SS/S	S
/SS9nUR	                  S5        UR                  S5        UR                  / SQ5        UR                  S5        UR                  SS/SS//SS/S	S
/SS9nUR	                  S5        UR                  S5        UR                  S5        UR                  S5        UR                  SS/SS//SS/S	S
/SS9nUR	                  S5        UR                  S5        UR                  S5        UR                  S5        UR                  S5        UR                  S5        UR                  SS/SS//SS/S	S
/SS9nUR	                  S5        UR                  S5        g )Nr   r6   r8   zFit Textr   z-very long long text, Longer text than defaultÚArS   ÚCol1ÚCol2r   )r    r!   r"   r#   Fé   )éÿÿÿÿr   r6   r~   r   )r   rZ   rA   r   Úauto_set_font_sizeÚset_fontsizeÚauto_set_column_width)	rE   rF   rG   rH   rI   Útb1Útb2Útb3Útb4s	            r   Útest_auto_columnr†      sö  € ä #§¢¨Q°Ó 2Ñ€CÑ	ˆ#�Cð ‡H�HˆU„OØ
�)‰)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ð €Cð ×Ñ˜5Ô!Ø×Ñ�RÔØ×ÑšjÔ)ð ‡H�HˆU„OØ
�)‰)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ð €Cð ×Ñ˜5Ô!Ø×Ñ�RÔØ×Ñ˜jÔ)ð ‡H�HˆU„OØ
�)‰)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ð €Cð ×Ñ˜5Ô!Ø×Ñ�RÔØ×Ñ˜bÔ!Ø×Ñ˜aÔ Ø×Ñ˜aÔ ð ‡H�HˆU„OØ
�)‰)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ð €Cð ×Ñ˜5Ô!Ø×Ñ�RÕr   c                  ó0  • [         R                  " 5       u  p[        U5      nUR                  SSSS5      n[	        U[
        5      (       d   eX2S   L d   e[        SSSS S9nXBS'   US   UL d   eUR                  5         [         R                  " U5        g )Nr6   r   )r6   r   rd   )re   )r   r6   )r   rZ   r   Úadd_cellÚ
isinstancer   Ú
propertiesÚsetp)rE   r`   r   ra   Úcell2s        r   Útest_table_cellsr�   ¶   s‘   € Ü�lŠl‹n�G€CÜ�"‹I€Eà�>‰>˜!˜Q  1Ó%€DÜ�dœJ×'Ñ'Ð'Ð'Ø˜‘;ÒÐÐä�v˜q !°4Ñ8€EØˆ$�KØ�‰;˜%ÒÐÐð 
×ÑÔÜ‡H‚HˆU…Or   Úpng)Ú
extensionsc                 ó8  • SS/SS//nSnSnU VVs/ s H  oU Vs/ s H  of PM     snPM     nnnU R                  5       nUR                  UUUS/ SQS	9  UR                  5       n	U	R                  UUUS[        R                  " S
SSS5      S	9  g s  snf s  snnf )Nr   r5   r   é   )ÚFooÚBar)ÚAdaÚBobr   )rU   çš™™™™™É?çš™™™™™é?g333333ã?)r    r!   r"   r#   ÚbboxrU   r–   gÍÌÌÌÌÌì?r—   )rZ   r   r	   Úfrom_extents)
Úfig_testÚfig_refr.   Ú
col_labelsÚ
row_labelsr1   r/   Ú	cell_textÚax_listÚax_bboxs
             r   Útest_table_bboxr¡   È   s½   € à�ˆFØ�ˆFð€Dð  €JØ€Já26Ô7²$¨3 #Ó&¢#˜Q�C’&¡#Ô&±$€IÑ7à×ÑÓ!€GØ‡M�M˜9Ø&Ø&ØÚ+ð	 ñ ð ×ÑÓ €GØ‡M�M˜9Ø&Ø&ØÜ×(Ò(¨¨c°3¸Ó<ð	 ò ùò 'ùÓ7s   ’	B›B§BÂBc                 ó¨  •  " S S5      n[         R                  " 5       n[        S S9Ul        [        S S9Ul        [        S S9Ul        U[         R                  U'   U" S5      U" S5      /U" [        R                  " S	S
S5      5      U" S5      //nU R                  5       R                  U5        UR                  5       R                  SS/SS//5        U R                  R                  5         UR                  R                  5         [         R                  R                  U5        [         R                  R                  U5      (       a   eg )Nc                   ó    • \ rS rSrS rS rSrg)Ú!test_table_unit.<locals>.FakeUnitéç   c                 ó   • g ri   rj   )ÚselfÚthings     r   Ú__init__Ú*test_table_unit.<locals>.FakeUnit.__init__è   s   € Ør   c                 ó   • g)NÚHellorj   )r§   s    r   Ú__repr__Ú*test_table_unit.<locals>.FakeUnit.__repr__ê   s   € Ør   rj   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r©   r­   Ú__static_attributes__rj   r   r   ÚFakeUnitr¤   ç   s   † ò	õ	r   r´   c                 ó   • g)Nr   rj   )ÚvÚuÚas      r   Ú<lambda>Ú!test_table_unit.<locals>.<lambda>ï   s   € ¸ar   )Úside_effectc                 ó   • g ri   rj   )r¶   r¸   s     r   r¹   rº   ñ   s   € Àr   c                 ó,   • [         R                  " 5       $ ri   )ÚmunitsÚAxisInfo)r·   r¸   s     r   r¹   rº   ò   s   € ¼F¿OºOÔ<Mr   Úyellowé*   i°  é   r6   Tr¬   )r¾   ÚConversionInterfacer   ÚconvertÚdefault_unitsÚaxisinfoÚregistryÚdatetimerZ   r   ÚcanvasÚdrawÚassert_not_calledÚpopÚget_converter)rš   r›   r´   Úfake_convertorr.   s        r   Útest_table_unitrÏ   ã   s  € ÷ñ ô ×/Ò/Ó1€Nä!Ñ.?Ñ@€NÔä#'Ñ4EÑ#F€NÔ Ü"Ñ/MÑN€NÔà .„F‡O�O�HÑá�hÓ¡¨"£Ð.Ù”h×'Ò'¨¨a°Ó3Ó4±h¸t³nÐEðG€Dð ×ÑÓ×Ñ˜dÔ#Ø×ÑÓ×Ñ˜w¨Ð0°7¸GÐ2DÐEÔFØ‡O�O×ÑÔØ×Ñ×,Ñ,Ô.ä
‡O�O×Ñ˜Ô!Ü�‰×,Ñ,¨X×6Ñ6Ð6Ð6Ð6r   c                 ó¨  • / SQ/ SQS.nU R                  U5      n[        R                  " 5       u  p4UR                  USS9n[	        UR                  5       5       Ht  u  nu  px[	        US:X  a  UR                  OUR                  5       HA  u  pšXVS:X  a  UOUS-   U	4   R                  5       R                  5       [        U
5      :X  a  MA   e   Mv     g )N)rz   rS   ÚC)r   éÈ   i,  )ÚLetterÚNumberr   )r#   r   r6   )
Ú	DataFramer   rZ   r   Ú	enumerateÚiterrowsÚcolumnsÚvaluesÚget_textÚstr)Úpdr.   ÚdfrE   r`   r   r   Úindexr1   rC   Úcols              r   Útest_table_dataframerà     sµ   € ò "Ú!ñ€Dð
 
�‰�dÓ	€BÜ�lŠl‹n�G€CØ�H‰H�R˜XˆHÐ&€Eä$ R§[¡[£]Ö3‰ˆ‰<ˆEÜ¨a°1«f §
¢
¸#¿*¹*ÖE‰FˆAØ 1›f™¨!¨A©#¨qÐ0Ñ1×:Ñ:Ó<×EÑEÓGÌ3ÈsË8ÕSÐSÐSó Fò 4r   c                  óü   • SS/SS//n [         R                  " 5       u  pSnUR                  U SUS9nUS   R                  5       nXS:X  d   S	U S
U 35       eUS   R                  5       nXS:X  d   S	U S
U 35       eg )Nr¸   r6   r   r   é   Útop)r    r#   Úfontsizerd   zActual:z,got:)r6   r6   )r   rZ   r   Úget_fontsize)Ú	tableDatarE   r`   Útest_fontsizer2   Úcell_fontsizes         r   Útest_table_fontsizeré     sš   € à�q�˜C ˜8Ð$€IÜ�lŠl‹n�G€CØ€MØ
�‰˜)¨¸ˆÐG€AØ�f‘I×*Ñ*Ó,€MØÓ)ÐX¨W°]°OÀ5ÈÈÐ+XÓXÐ)Ø�f‘I×*Ñ*Ó,€MØÓ)ÐX¨W°]°OÀ5ÈÈÐ+XÓXÑ)r   ) rÈ   Úunittest.mockr   Únumpyr$   Úmatplotlib.pyplotÚpyplotr   Úmatplotlib.pathr   Úmatplotlib.tabler   r   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.transformsr	   Úmatplotlib.unitsÚunitsr¾   r   r3   rJ   rb   rx   r†   r�   r¡   rÏ   rà   ré   rj   r   r   Ú<module>rô      sí   ðÛ Ý ã å Ý  ß .ß OÝ &Ý !ò&ñ Ð%Ð&°DÑ9ñó :ðñ@ Ð%Ð&Ó'ñ!ó (ð!ñH Ð0Ð1¸tÑDñó Eðò"ñ& Ð*Ð+Ó,ñ3ó -ð3òlñ$   Ñ(ñó )ðñ4   Ñ(ñ7ó )ð7ò<Tó"	Yr   