Ë
    íÍ:jæ!  ã                   óL  — d dl Z d dlmZ d dlZd dlmZ d dlm	Z	 d dl
mZmZ d dlmZmZ d dlmZ d dlmZ d„ Z edgd	d
¬«      d„ «       Z edgd
¬«      d„ «       Z edgd
¬«      d„ «       Zd„ Z edgd
¬«      d„ «       Zd„ Z e«       d„ «       Z e«       d„ «       Zd„ Zd„ Zy)é    N)ÚMock)ÚPath)Ú
CustomCellÚTable)Úimage_comparisonÚcheck_figures_equal)ÚBboxc                  ó8   — ddg} t        j                  | ¬«       y )NÚbÚr)ÚcellColours)ÚpltÚtable)Ú
cellcolorss    úp/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_table.pyÚtest_non_squarer      s   € à�s�€JÜ‡I�I˜*Ö%ó    ztable_zorder.pngTÚmpl20)Úremove_textÚstylec            	      ó>  — ddgddgg} d}dD �cg c]  }d|z  ‘Œ	 }}g }t        j                  t        |«      «      }t        | «      D ],  }||z  }|j	                  |D �cg c]
  }d|d	z  z  ‘Œ c}«       Œ. t        j
                  d
dt         j                  z  d«      }t        j                  |t        j                  |«      dd¬«       t        j                  |||dd¬«       t        j                  |||dd¬«       t        j                  g «       y c c}w c c}w )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_zorderr5      s  € à�FˆOØ�FˆOð€Dð #€IØ(1Ö2 1�˜Q“Ð2€IÐ2à€HÜ�8‰8”C˜	“NÓ#€DÜ˜‹~ò >ˆØ�‰ˆØ�‰°tÖ<°!˜ A f¡HÓ-Ò<Õ=ð>ô 	�‰�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.png)r   c                  óv  — d} t        j                  dd| «      }t        j                  d   |«      }dg| z  g| z  }t        j                  «       }|j                  ddd«      }|j                  d«       |j                  ||d¬	«       |j                  ddd
«      }|j                  d«       |j                  ||dg| z  d¬«       |j                  ddd«      }|j                  d«       |j                  ||d¬«       |j                  ddd«      }|j                  d«       |j                  ||dg| z  d¬«       y )Né   r   é   ÚRdYlGnÚ1r   ÚoffÚbest)r"   Ú
rowColoursr%   r   ÚHeader)r"   r=   r#   r%   )r"   Ú
colColoursr%   )r"   r?   r$   r%   )r&   r+   r   Ú	colormapsÚfigureÚadd_subplotÚaxisr   )	ÚdimÚcÚcoloursr"   ÚfigÚax1Úax2Úax3Úax4s	            r   Útest_label_coloursrL   5   s;  € à
€Cä
�‰�A�q˜#Ó€AÜ�m‰m˜HÑ% 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                 ó$  — d}dgt        |«      z  gdz  }dgt        |«      z  }t        j                  t        |«      dt        |«      dz   fd¬«      \  }}t        ||«      D ]+  \  }}|j	                  ||d	|¬
«       |j                  d«       Œ- y )N©Ú
horizontalÚverticalÚopenÚclosedÚTÚRÚBÚLr:   r   çš™™™™™¹?r   r8   Útight)ÚnrowsÚfigsizeÚlayoutr    )Ú	colWidthsr"   r%   Úedgesr;   )r(   r   ÚsubplotsÚzipr   rC   )Útext_placeholdersÚcellsr"   r\   Ú_ÚaxsÚaxÚcells           r   Útest_diff_cell_tablerf   Z   s™   € àL€EØ�œ˜E›
Ñ"Ð# aÑ'€HØ�œ˜E›
Ñ"€Iä�\‰\¤ E£
°Q¼¸E»
À1¹Ð4EÈgÔV�F€A€sÜ˜˜U“Oò ‰ˆˆDØ
�‰Ø#Ø!ØØð	 	ô 	ð 	�‰��ñr   c                  ó|  — d} t         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ft         j                  t         j                  t         j                  t         j                  t         j                  ff}t	        | |«      D ]I  \  }}t        d|dd¬«      }t        d„ |j                  «       j                  «       D «       «      }||k(  rŒIJ ‚ y )NrN   ©r   r   r8   )Úvisible_edgesÚwidthÚheightc              3   ó&   K  — | ]	  \  }}|–— Œ y ­w©N© )Ú.0rb   Úss      r   ú	<genexpr>z"test_customcell.<locals>.<genexpr>z   s   è ø€ ÒC™4˜1˜a”QÑCùs   ‚)	r   ÚMOVETOÚLINETOÚ	CLOSEPOLYr_   r   ÚtupleÚget_pathÚiter_segments)ÚtypesÚcodesr4   rE   re   Úcodes         r   Útest_customcellr{   k   su  € Ø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˜5Ó!ò ‰ˆˆ1Ü˜&°¸À1ÔEˆÜÑC 4§=¡=£?×#@Ñ#@Ó#BÔCÓCˆØ�D‹yÐˆyñr   ztable_auto_column.pngc                  ó~  — t        j                  dd«      \  } \  }}}}|j                  d«       |j                  ddgddggddgd	d
gd¬«      }|j	                  d«       |j                  d«       |j                  g d¢«       |j                  d«       |j                  ddgddggddgd	d
gd¬«      }|j	                  d«       |j                  d«       |j                  d«       |j                  d«       |j                  ddgddggddgd	d
gd¬«      }|j	                  d«       |j                  d«       |j                  d«       |j                  d«       |j                  d«       |j                  d«       |j                  ddgddggddgd	d
gd¬«      }|j	                  d«       |j                  d«       y )Nr   r8   r;   zFit Textr   z-very long long text, Longer text than defaultÚArU   ÚCol1ÚCol2r    )r"   r#   r$   r%   Fé   )éÿÿÿÿr   r8   r�   r   )r   r^   rC   r   Úauto_set_font_sizeÚset_fontsizeÚauto_set_column_width)	rG   rH   rI   rJ   rK   Útb1Útb2Útb3Útb4s	            r   Útest_auto_columnr‰   ~   sú  € ä #§¡¨Q°Ó 2Ñ€CÑ	ˆ#ˆs�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                  ó*  — t        j                  «       \  } }t        |«      }|j                  dddd«      }t	        |t
        «      sJ ‚||d   u sJ ‚t        dddd ¬«      }||d<   |d   |u sJ ‚|j                  «        t        j                  |«       y )Nr8   r   )r8   r   rh   )ri   )r   r8   )r   r^   r   Úadd_cellÚ
isinstancer   Ú
propertiesÚsetp)rG   rd   r   re   Úcell2s        r   Útest_table_cellsr�   µ   s”   € Ü�l‰l‹n�G€CˆÜ�"‹I€Eà�>‰>˜!˜Q  1Ó%€DÜ�dœJÔ'Ð'Ð'Ø�5˜‘;ÑÐÐä�v˜q !°4Ô8€EØ€Eˆ$�KØ�‰;˜%ÑÐÐð 
×ÑÔÜ‡H�HˆU…Or   c                 ó:  — ddgddgg}d}d}|D ��cg c]  }|D �cg c]  }|› ‘Œ c}‘Œ }}}| j                  «       }|j                  |||dg d¢¬	«       |j                  «       }	|	j                  |||dt        j                  d
ddd«      ¬	«       y c c}w c c}}w )Nr   r7   r   é   )ÚFooÚBar)ÚAdaÚBobr    )rW   çš™™™™™É?çš™™™™™é?g333333ã?)r"   r#   r$   r%   ÚbboxrW   r—   gÍÌÌÌÌÌì?r˜   )r^   r   r	   Úfrom_extents)
Úfig_testÚfig_refr0   Ú
col_labelsÚ
row_labelsr3   r1   Ú	cell_textÚax_listÚax_bboxs
             r   Útest_table_bboxr¢   Ç   sº   € à�ˆFØ�ˆFð€Dð  €JØ€Jà26×7¨3 #Ö&˜Q�Q�C‘&Ô&Ð7€IÑ7à×ÑÓ!€GØ‡M�M˜9Ø&Ø&ØÚ+ð	 ô ð ×ÑÓ €GØ‡M�M˜9Ø&Ø&ØÜ×(Ñ(¨¨c°3¸Ó<ð	 õ ùò 'ùÓ7s   ’	B›
B¥BÂBc                 ó¬  —  G d„ d«      }t        j                  «       }t        d„ ¬«      |_        t        d„ ¬«      |_        t        d„ ¬«      |_        |t         j                  |<    |d«       |d«      g |t        j                  d	d
d«      «       |d«      gg}| j                  «       j                  |«       |j                  «       j                  ddgddgg«       | j                  j                  «        |j                  j                  «        t         j                  j                  |«       t         j                  j                  |«      rJ ‚y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú!test_table_unit.<locals>.FakeUnitc                  ó   — y rm   rn   )ÚselfÚthings     r   Ú__init__z*test_table_unit.<locals>.FakeUnit.__init__ç   s   € Ør   c                  ó   — y)NÚHellorn   )r§   s    r   Ú__repr__z*test_table_unit.<locals>.FakeUnit.__repr__é   s   € Ør   N)Ú__name__Ú
__module__Ú__qualname__r©   r¬   rn   r   r   ÚFakeUnitr¥   æ   s   „ ò	ó	r   r°   c                  ó   — y)Nr   rn   )ÚvÚuÚas      r   ú<lambda>z!test_table_unit.<locals>.<lambda>î   ó   � r   )Úside_effectc                  ó   — y rm   rn   )r²   r´   s     r   rµ   z!test_table_unit.<locals>.<lambda>ð   r¶   r   c                 ó*   — t        j                  «       S rm   )ÚmunitsÚAxisInfo)r³   r´   s     r   rµ   z!test_table_unit.<locals>.<lambda>ñ   s   € ¼F¿O¹OÓ<M€ r   Úyellowé*   i°  é   r8   Tr«   )rº   ÚConversionInterfacer   ÚconvertÚdefault_unitsÚaxisinfoÚregistryÚdatetimer^   r   ÚcanvasÚdrawÚassert_not_calledÚpopÚget_converter)r›   rœ   r°   Úfake_convertorr0   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Ð6r   c                 ó¦  — g d¢g d¢dœ}| j                  |«      }t        j                  «       \  }}|j                  |d¬«      }t	        |j                  «       «      D ]q  \  }\  }}t	        |dk(  r|j                  n|j                  «      D ]@  \  }	}
||dk(  r|n|dz   |	f   j                  «       j                  «       t        |
«      k(  rŒ@J ‚ Œs y )N)r}   rU   ÚC)r   éÈ   i,  )ÚLetterÚNumberr    )r%   r   r8   )
Ú	DataFramer   r^   r   Ú	enumerateÚiterrowsÚcolumnsÚvaluesÚget_textÚstr)Úpdr0   ÚdfrG   rd   r   r   Úindexr3   rE   Úcols              r   Útest_table_dataframerÜ     sÊ   € ò "Ú!ñ€Dð
 
�‰�dÓ	€BÜ�l‰l‹n�G€CˆØ�H‰H�R˜XˆHÓ&€Eä$ R§[¡[£]Ó3ò T‰ˆ‰<ˆE�3Ü¨a°1ªf §
¢
¸#¿*¹*ÓEò 	T‰FˆAˆsØ˜a 1šf™¨!¨A©#¨qÐ0Ñ1×:Ñ:Ó<×EÑEÓGÌ3ÈsË8ÓSÐSÐSñ	TñTr   c                  ó  — ddgddgg} t        j                  «       \  }}d}|j                  | d|¬«      }|d   j                  «       }||k(  sJ d	|› d
|› �«       ‚|d   j                  «       }||k(  sJ d	|› d
|› �«       ‚y )Nr´   r8   r   r   é   Útop)r"   r%   Úfontsizerh   zActual:z,got:)r8   r8   )r   r^   r   Úget_fontsize)Ú	tableDatarG   rd   Útest_fontsizer4   Úcell_fontsizes         r   Útest_table_fontsizerå     s    € à�q�˜C ˜8Ð$€IÜ�l‰l‹n�G€CˆØ€MØ
�‰˜)¨¸ˆÓG€AØ�f‘I×*Ñ*Ó,€MØ˜MÒ)ÐX¨W°]°OÀ5ÈÈÐ+XÓXÐ)Ø�f‘I×*Ñ*Ó,€MØ˜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   r5   rL   rf   r{   r‰   r�   r¢   rË   rÜ   rå   rn   r   r   ú<module>rð      sì   ðÛ Ý ã å Ý  ß .ß OÝ &Ý !ò&ñ Ð%Ð&°DÀÔHñó Iðñ@ Ð%Ð&¨gÔ6ñ!ó 7ð!ñH Ð0Ð1¸ÔAñó Bðò ñ& Ð*Ð+°7Ô;ñ3ó <ð3òlñ$ Óñó ðñ4 Óñ7ó ð7ò<Tó"	Yr   