
    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    M/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_table.pytest_non_squarer      s    sJII*%    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	   FOFOD #I(12	1Q	I2H88C	N#D~t<t!AfH-t<=  	Aqw$AHHQq	a*IIx!!	 IIx!! 	 JJrN1 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
Aq#AffmmAG}s"H
**,C
//!Q
"CHHUOIIx    //!Q
"CHHUOIIx !
S(  
 //!Q
"CHHUOIIx    //!Q
"CHHUOIIx !
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    LEE
"#a'HE
"I\\E
QE
14EFFA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#B41Q#Bs   )	r   MOVETOLINETO	CLOSEPOLYr[   r   tupleget_pathiter_segments)typescodesr2   rC   ra   codes         r   test_customcellrx   l   sj   LE	dkk4;;T[[I	dkk4;;T[[I	dkk4;;T[[I	dkk4;;T^^L	dkk4;;T[[I	dkk4;;T[[I	dkk4;;T[[I	dkk4;;T[[I	
E E!&1EC4==?#@#@#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 HHUO
))q/BAFH*6"  C 5!Rj) HHUO
))q/BAFH*6"  C 5!Rj) HHUO
))q/BAFH*6"  C 5!Rb!a a  HHUO
))q/BA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    llnGC"IE>>!Q1%DdJ'''';vq!48E$K;% 
HHUOr   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J267$3#&#QC&#&$I7!GMM9&&+	    GMM9&&((c3<	   '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    FOO<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     //1N!.?@N#'4E#FN "/MNN .FOOHh".h''a34htnEGD d#w07G2DEFOO,,.
OO!,,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  pXVS: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llnGCHHRXH&E$R[[]3<Ea1f

#**EFA1f!A#q01::<EEG3s8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llnGCM
)GAfI**,M)XW]O5+XX)fI**,M)XW]O5+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1tD E"& *+,3 -3l$ ( )4 (7 )7<T"	Yr   