Ë
    ¨ehÌ!  ã                   óN  — 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„ «       Z edg«      d„ «       Z edgd	¬
«      d„ «       Zd„ Z edg«      d„ «       Zd„ Z edg¬«      d„ «       Z edg¬«      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    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_table.pyÚtest_non_squarer      s   € à�s�€JÜ‡I�I˜*Ö%ó    ztable_zorder.pngT)Úremove_textc            	      ó>  — 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_zorderr3      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.pngc                  ó„  — d} t        j                  dd| «      }t        j                  j	                  |«      }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   é   Ú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                  óJ  — d} dgt        | «      z  gdz  }dgt        | «      z  }t        j                  t        | «      dt        | «      dz   f¬«      \  }}t        || «      D ]+  \  }}|j	                  ||d|¬	«       |j                  d
«       Œ- t        j                  «        y )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€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 )NrL   ©r   r   r6   )Úvisible_edgesÚwidthÚheightc              3   ó&   K  — | ]	  \  }}|–— Œ y ­w©N© )Ú.0r^   Úss      r   ú	<genexpr>z"test_customcell.<locals>.<genexpr>{   s   è ø€ ÒC™4˜1˜a”QÑCùs   ‚)	r   ÚMOVETOÚLINETOÚ	CLOSEPOLYr[   r   ÚtupleÚget_pathÚiter_segments)ÚtypesÚcodesr2   rC   ra   Úcodes         r   Útest_customcellrw   l   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   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Ñ	ˆ#ˆ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 )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Ô'Ð'Ð'Ø�5˜‘;ÑÐÐä�v˜q !°4Ô8€EØ€Eˆ$�KØ�‰;˜%ÑÐÐð 
×ÑÔÜ‡H�HˆU…Or   Úpng)Ú
extensionsc                 ó:  — 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   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�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 ri   rj   )ÚselfÚthings     r   Ú__init__z*test_table_unit.<locals>.FakeUnit.__init__è   s   € Ør   c                  ó   — y)NÚHellorj   )r¥   s    r   Ú__repr__z*test_table_unit.<locals>.FakeUnit.__repr__ê   s   € Ør   N)Ú__name__Ú
__module__Ú__qualname__r§   rª   rj   r   r   ÚFakeUnitr£   ç   s   „ ò	ó	r   r®   c                  ó   — y)Nr   rj   )ÚvÚuÚas      r   ú<lambda>z!test_table_unit.<locals>.<lambda>ï   ó   � r   )Úside_effectc                  ó   — y ri   rj   )r°   r²   s     r   r³   z!test_table_unit.<locals>.<lambda>ñ   r´   r   c                 ó*   — t        j                  «       S ri   )ÚmunitsÚAxisInfo)r±   r²   s     r   r³   z!test_table_unit.<locals>.<lambda>ò   s   € ¼F¿O¹OÓ<M€ r   Ú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Ð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)ry   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ò 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²   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Ø˜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   r3   rJ   rb   rw   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   