§
    ‚Øjæ!  ã                   ó–  — 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dS )é    N)ÚMock)ÚPath)Ú
CustomCellÚTable)Úimage_comparisonÚcheck_figures_equal)ÚBboxc                  ó8   — ddg} t          j        | ¬¦  «         d S )NÚbÚr)ÚcellColours)ÚpltÚtable)Ú
cellcolorss    ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_table.pyÚtest_non_squarer      s$   € à�s�€JÝ„I˜*Ð%Ñ%Ô%Ð%Ð%Ð%ó    ztable_zorder.pngTÚmpl20)Úremove_textÚstylec                  ó
  — ddgddgg} d}d„ dD ¦   «         }g }t          j        t          |¦  «        ¦  «        }t          | ¦  «        D ]&}||z  }|                     d„ |D ¦   «         ¦  «         Œ'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 ¦  «         d S )NiR iØ¨ ivã  iÓÐ )ÚFreezeÚWindc                 ó   — g | ]}d |z  ‘ŒS )z%d year© ©Ú.0Úxs     r   ú
<listcomp>ztest_zorder.<locals>.<listcomp>   s   € Ð2Ð2Ð2 1�˜Q‘Ð2Ð2Ð2r   )éd   é2   c                 ó   — g | ]
}d |dz  z  ‘ŒS )z%1.1fg     @�@r   r   s     r   r   ztest_zorder.<locals>.<listcomp>    s!   € Ð<Ð<Ð<°!˜ A f¡HÑ-Ð<Ð<Ð<r   r   é   r    é   )ÚlwÚzorderÚcenteréþÿÿÿ)ÚcellTextÚ	rowLabelsÚ	colLabelsÚlocr&   zupper center)ÚnpÚzerosÚlenÚreversedÚappendÚlinspaceÚpir   ÚplotÚcosr   Úyticks)Údatar+   r*   r)   ÚyoffÚrowÚts          r   Útest_zorderr;      s*  € à�FˆOØ�FˆOð€Dð #€IØ2Ð2¨	Ð2Ñ2Ô2€Ià€HÝŒ8•C˜	‘N”NÑ#Ô#€DÝ˜‰~Œ~ð >ð >ˆØ�‰ˆØ�ŠÐ<Ð<°tÐ<Ñ<Ô<Ñ=Ô=Ð=Ð=å
Œ�A�q�œ‘w Ñ$Ô$€AÝ„HˆQ•”�q‘	”	˜a¨Ð*Ñ*Ô*Ð*å„I�xØ!Ø!ØØð	ñ ô ð õ „I�xØ!Ø!Ø Øð	ñ ô ð õ „Jˆr�N„N€N€N€Nr   ztable_labels.png)r   c                  óØ  — d} t          j        dd| ¦  «        }t          j        d         |¦  «        }dg| z  g| z  }t          j        ¦   «         }|                     ddd¦  «        }|                     d¦  «         |                     ||d¬	¦  «         |                     ddd
¦  «        }|                     d¦  «         |                     ||dg| z  d¬¦  «         |                     ddd¦  «        }|                     d¦  «         |                     ||d¬¦  «         |                     ddd¦  «        }|                     d¦  «         |                     ||dg| z  d¬¦  «         d S )Né   r   é   ÚRdYlGnÚ1r$   ÚoffÚbest)r)   Ú
rowColoursr,   r#   ÚHeader)r)   rC   r*   r,   )r)   Ú
colColoursr,   )r)   rE   r+   r,   )r-   r2   r   Ú	colormapsÚfigureÚadd_subplotÚaxisr   )	ÚdimÚcÚcoloursr)   ÚfigÚax1Úax2Úax3Úax4s	            r   Útest_label_coloursrR   5   s‹  € à
€Cå
Œ�A�q˜#ÑÔ€AÝŒm˜HÔ% aÑ(Ô(€GØ�˜‘ˆ}˜sÑ"€Hå
Œ*‰,Œ,€Cà
�/Š/˜!˜Q Ñ
"Ô
"€CØ‡H‚HˆU�O„O€OØ‡I‚I�xØ Øð ñ ô ð ð �/Š/˜!˜Q Ñ
"Ô
"€CØ‡H‚HˆU�O„O€OØ‡I‚I�xØ Ø!˜
 SÑ(Øð ñ ô ð ð
 �/Š/˜!˜Q Ñ
"Ô
"€CØ‡H‚HˆU�O„O€OØ‡I‚I�xØ Øð ñ ô ð ð �/Š/˜!˜Q Ñ
"Ô
"€CØ‡H‚HˆU�O„O€OØ‡I‚I�xØ Ø!˜
 SÑ(Øð ñ ô ð ð ð r   ztable_cell_manipulation.pngc                 óX  — d}dgt          |¦  «        z  gdz  }dgt          |¦  «        z  }t          j        t          |¦  «        dt          |¦  «        dz   fd¬¦  «        \  }}t          ||¦  «        D ]3\  }}|                     ||d	|¬
¦  «         |                     d¦  «         Œ4d S )N©Ú
horizontalÚverticalÚopenÚclosedÚTÚRÚBÚLr@   r#   çš™™™™™¹?r$   r>   Útight)ÚnrowsÚfigsizeÚlayoutr'   )Ú	colWidthsr)   r,   ÚedgesrA   )r/   r   ÚsubplotsÚzipr   rI   )Útext_placeholdersÚcellsr)   rb   Ú_ÚaxsÚaxÚcells           r   Útest_diff_cell_tablerl   Z   sÁ   € àL€EØ��˜E™
œ
Ñ"Ð# aÑ'€HØ��˜E™
œ
Ñ"€IåŒ\¥ E¡
¤
°Q½¸E¹
¼
À1¹Ð4EÈgÐVÑVÔV�F€A€sÝ˜˜U‘O”Oð ð ‰ˆˆDØ
�ŠØ#Ø!ØØð	 	ñ 	ô 	ð 	ð 	�Š�‰Œˆˆðð r   c                  ój  — 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 ]]\  }}t          d|dd¬¦  «        }t          d„ |                     ¦   «                              ¦   «         D ¦   «         ¦  «        }||k    sJ ‚Œ^d S )NrT   ©r   r   r>   )Úvisible_edgesÚwidthÚheightc              3   ó    K  — | ]	\  }}|V — Œ
d S ©Nr   )r   rh   Úss      r   ú	<genexpr>z"test_customcell.<locals>.<genexpr>z   s&   è è € ÐCÐC™4˜1˜a�QÐCÐCÐCÐCÐCÐCr   )	r   ÚMOVETOÚLINETOÚ	CLOSEPOLYre   r   ÚtupleÚget_pathÚiter_segments)ÚtypesÚcodesr:   rK   rk   Úcodes         r   Útest_customcellr   k   sL  € ØL€Eå	Œ•d”k¥4¤;µ´½T¼[ÐIÝ	Œ•d”k¥4¤;µ´½T¼[ÐIÝ	Œ•d”k¥4¤;µ´½T¼[ÐIÝ	Œ•d”k¥4¤;µ´½T¼^ÐLÝ	Œ•d”k¥4¤;µ´½T¼[ÐIÝ	Œ•d”k¥4¤;µ´½T¼[ÐIÝ	Œ•d”k¥4¤;µ´½T¼[ÐIÝ	Œ•d”k¥4¤;µ´½T¼[ÐIð	
€Eõ �E˜5Ñ!Ô!ð ð ‰ˆˆ1Ý˜&°¸À1ÐEÑEÔEˆÝÐCÐC 4§=¢=¡?¤?×#@Ò#@Ñ#BÔ#BÐCÑCÔCÑCÔCˆØ�DŠyˆyˆyˆyˆyðð r   ztable_auto_column.pngc                  ó&  — t          j        dd¦  «        \  } \  }}}}|                     d¦  «         |                     ddgddggddgd	d
gd¬¦  «        }|                     d¦  «         |                     d¦  «         |                     g d¢¦  «         |                     d¦  «         |                     ddgddggddgd	d
gd¬¦  «        }|                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     ddgddggddgd	d
gd¬¦  «        }|                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     ddgddggddgd	d
gd¬¦  «        }|                     d¦  «         |                     d¦  «         d S )Nr$   r>   rA   zFit Textr#   z-very long long text, Longer text than defaultÚAr[   ÚCol1ÚCol2r'   )r)   r*   r+   r,   Fé   )éÿÿÿÿr   r>   r…   r   )r   rd   rI   r   Úauto_set_font_sizeÚset_fontsizeÚauto_set_column_width)	rM   rN   rO   rP   rQ   Útb1Útb2Útb3Útb4s	            r   Útest_auto_columnr�   ~   sw  € å #¤¨Q°Ñ 2Ô 2Ñ€CÑ	ˆ#ˆs�C˜ð ‡H‚HˆU�O„O€OØ
�)Š)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ñ ô €Cð ×Ò˜5Ñ!Ô!Ð!Ø×Ò�RÑÔÐØ×Ò˜j˜j˜jÑ)Ô)Ð)ð ‡H‚HˆU�O„O€OØ
�)Š)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ñ ô €Cð ×Ò˜5Ñ!Ô!Ð!Ø×Ò�RÑÔÐØ×Ò˜jÑ)Ô)Ð)ð ‡H‚HˆU�O„O€OØ
�)Š)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ñ ô €Cð ×Ò˜5Ñ!Ô!Ð!Ø×Ò�RÑÔÐØ×Ò˜bÑ!Ô!Ð!Ø×Ò˜aÑ Ô Ð Ø×Ò˜aÑ Ô Ð ð ‡H‚HˆU�O„O€OØ
�)Š)Ø˜q�/ØBÀAÐFðHà˜�*Ø˜6Ð"Øð ñ ô €Cð ×Ò˜5Ñ!Ô!Ð!Ø×Ò�RÑÔÐÐÐr   c                  ó^  — t          j        ¦   «         \  } }t          |¦  «        }|                     dddd¦  «        }t	          |t
          ¦  «        sJ ‚||d         u sJ ‚t          dddd ¬¦  «        }||d<   |d         |u sJ ‚|                     ¦   «          t          j        |¦  «         d S )Nr>   r#   )r>   r#   rn   )ro   )r#   r>   )r   rd   r   Úadd_cellÚ
isinstancer   Ú
propertiesÚsetp)rM   rj   r   rk   Úcell2s        r   Útest_table_cellsr”   µ   s·   € ÝŒl‰nŒn�G€CˆÝ�"‰IŒI€Eà�>Š>˜!˜Q  1Ñ%Ô%€DÝ�d�JÑ'Ô'Ð'Ð'Ð'Ø�5˜”;ÐÐÐÐå�v˜q !°4Ð8Ñ8Ô8€EØ€Eˆ$�KØ�Œ;˜%ÐÐÐÐð 
×ÒÑÔÐÝ„HˆU�O„O€O€O€Or   c                 ó  — ddgddgg}d}d}d„ |D ¦   «         }|                       ¦   «         }|                     |||dg d	¢¬
¦  «         |                      ¦   «         }|                     |||dt          j        dddd¦  «        ¬
¦  «         d S )Nr#   r=   r$   é   )ÚFooÚBar)ÚAdaÚBobc                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 ó   — g | ]}|› ‘ŒS r   r   r   s     r   r   z.test_table_bbox.<locals>.<listcomp>.<listcomp>Ï   s   € Ð&Ð&Ð&˜Q�Q�&Ð&Ð&Ð&r   r   )r   r9   s     r   r   z#test_table_bbox.<locals>.<listcomp>Ï   s'   € Ð7Ð7Ð7¨3Ð&Ð& #Ð&Ñ&Ô&Ð7Ð7Ð7r   r'   )r]   çš™™™™™É?çš™™™™™é?g333333ã?)r)   r*   r+   r,   Úbboxr]   r�   gÍÌÌÌÌÌì?rž   )rd   r   r	   Úfrom_extents)Úfig_testÚfig_refr7   Ú
col_labelsÚ
row_labelsÚ	cell_textÚax_listÚax_bboxs           r   Útest_table_bboxr¨   Ç   sÍ   € à�ˆFØ�ˆFð€Dð  €JØ€Jà7Ð7°$Ð7Ñ7Ô7€Ià×ÒÑ!Ô!€GØ‡M‚M˜9Ø&Ø&ØØ+Ð+Ð+ð	 ñ ô ð ð ×ÒÑ Ô €GØ‡M‚M˜9Ø&Ø&ØÝÔ(¨¨c°3¸Ñ<Ô<ð	 ñ ô ð ð ð r   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}|                      ¦   «          	                    |¦  «         |                     ¦   «          	                    ddgddgg¦  «         | j
                             ¦   «          |j                             ¦   «          t           j                             |¦  «         t           j                             |¦  «        rJ ‚d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú!test_table_unit.<locals>.FakeUnitc                 ó   — d S rs   r   )ÚselfÚthings     r   Ú__init__z*test_table_unit.<locals>.FakeUnit.__init__ç   s   € ØˆDr   c                 ó   — dS )NÚHellor   )r­   s    r   Ú__repr__z*test_table_unit.<locals>.FakeUnit.__repr__é   s   € Ø�7r   N)Ú__name__Ú
__module__Ú__qualname__r¯   r²   r   r   r   ÚFakeUnitr«   æ   s2   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð 	ð 	r   r¶   c                 ó   — dS )Nr   r   )ÚvÚuÚas      r   ú<lambda>z!test_table_unit.<locals>.<lambda>î   s   € ¸a€ r   )Úside_effectc                 ó   — d S rs   r   )r¸   rº   s     r   r»   z!test_table_unit.<locals>.<lambda>ð   s   € À€ r   c                 ó(   — t          j        ¦   «         S rs   )ÚmunitsÚAxisInfo)r¹   rº   s     r   r»   z!test_table_unit.<locals>.<lambda>ñ   s   € ½F¼OÑ<MÔ<M€ r   Úyellowé*   i°  é   r>   Tr±   )r¿   ÚConversionInterfacer   ÚconvertÚdefault_unitsÚaxisinfoÚregistryÚdatetimerd   r   ÚcanvasÚdrawÚassert_not_calledÚpopÚget_converter)r¡   r¢   r¶   Úfake_convertorr7   s        r   Útest_table_unitrÐ   â   sˆ  € ðð ð ð ð ñ ô ð õ Ô/Ñ1Ô1€Nå!Ð.?Ð.?Ð@Ñ@Ô@€NÔå#'Ð4EÐ4EÐ#FÑ#FÔ#F€NÔ Ý"Ð/MÐ/MÐNÑNÔN€NÔà .…F„O�HÑàˆX�hÑÔ  ¨"¡¤Ð.ØˆX•hÔ'¨¨a°Ñ3Ô3Ñ4Ô4°h°h¸t±n´nÐEðG€Dð ×ÒÑÔ×Ò˜dÑ#Ô#Ð#Ø×ÒÑÔ×Ò˜w¨Ð0°7¸GÐ2DÐEÑFÔFÐFØ„O×ÒÑÔÐØÔ×,Ò,Ñ.Ô.Ð.å
„O×Ò˜Ñ!Ô!Ð!ÝŒ×,Ò,¨XÑ6Ô6Ð6Ð6Ð6Ð6Ð6r   c                 óÖ  — g d¢g d¢dœ}|                       |¦  «        }t          j        ¦   «         \  }}|                     |d¬¦  «        }t	          |                     ¦   «         ¦  «        D ]{\  }\  }}t	          |dk    r|j        n|j        ¦  «        D ]Q\  }	}
||dk    r|n|dz   |	f                              ¦   «                              ¦   «         t          |
¦  «        k    sJ ‚ŒRŒ|d S )N)r�   r[   ÚC)r    éÈ   i,  )ÚLetterÚNumberr'   )r,   r   r>   )
Ú	DataFramer   rd   r   Ú	enumerateÚiterrowsÚcolumnsÚvaluesÚget_textÚstr)Úpdr7   ÚdfrM   rj   r   r   Úindexr9   rK   Úcols              r   Útest_table_dataframerá     s	  € ð "�/�/Ø!�/�/ðð €Dð
 
�Š�dÑ	Ô	€BÝŒl‰nŒn�G€CˆØ�HŠH�R˜XˆHÑ&Ô&€Eå$ R§[¢[¡]¤]Ñ3Ô3ð Tð T‰ˆ‰<ˆE�3Ý¨a°1ªf¨f ¤
 
¸#¼*ÑEÔEð 	Tð 	T‰FˆAˆsØ˜a 1šf˜f˜˜¨!¨A©#¨qÐ0Ô1×:Ò:Ñ<Ô<×EÒEÑGÔGÍ3ÈsÉ8Ì8ÒSÐSÐSÐSÐSð	TðTð Tr   c                  ó6  — ddgddgg} t          j        ¦   «         \  }}d}|                     | d|¬¦  «        }|d                              ¦   «         }||k    sJ d	|› d
|› �¦   «         ‚|d                              ¦   «         }||k    sJ d	|› d
|› �¦   «         ‚d S )Nrº   r>   r   r#   é   Útop)r)   r,   Úfontsizern   zActual:z,got:)r>   r>   )r   rd   r   Úget_fontsize)Ú	tableDatarM   rj   Útest_fontsizer:   Úcell_fontsizes         r   Útest_table_fontsizerê     sÃ   € à�q�˜C ˜8Ð$€IÝŒl‰nŒn�G€CˆØ€MØ
�Š˜)¨¸ˆÑGÔG€AØ�f”I×*Ò*Ñ,Ô,€MØ˜MÒ)Ð)Ð)Ð+X°]Ð+XÐ+XÈÐ+XÐ+XÑ)Ô)Ð)Ø�f”I×*Ò*Ñ,Ô,€MØ˜MÒ)Ð)Ð)Ð+X°]Ð+XÐ+XÈÐ+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   r;   rR   rl   r   r�   r”   r¨   rÐ   rá   rê   r   r   r   ú<module>rõ      s  ðØ €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !ð&ð &ð &ð ÐÐ%Ð&°DÀÐHÑHÔHðð ñ IÔHðð@ ÐÐ%Ð&¨gÐ6Ñ6Ô6ð!ð !ñ 7Ô6ð!ðH ÐÐ0Ð1¸ÐAÑAÔAðð ñ BÔAðð ð ð ð& ÐÐ*Ð+°7Ð;Ñ;Ô;ð3ð 3ñ <Ô;ð3ðlð ð ð$ ÐÑÔðð ñ Ôðð4 ÐÑÔð7ð 7ñ Ôð7ð<Tð Tð Tð"	Yð 	Yð 	Yð 	Yð 	Yr   