
    EVf%                        d dl Zd dlZd dlmZ d dl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 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y)    N)Path)
CustomCellTable)image_comparisoncheck_figures_equal)Bboxc                  8    ddg} t        j                  |        y )Nbr)cellColours)plttable)
cellcolorss    d/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/matplotlib/tests/test_table.pytest_non_squarer      s    sJII*%    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_zorderr2      s   FOFOD #I(121Q2I2H88C	N#D~ >t<!AfH-<=> 	Aqw$AHHQq	a*IIx!!	 IIx!! 	 JJrN1 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   r9   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_coloursrI   3   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                  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Lr6   r   皙?r   r5   )nrowsfigsizer   )	colWidthsr   r"   edgesr7   )r%   r   subplotszipr   r@   tight_layout)cellsr   rW   _axsaxcells          r   test_diff_cell_tablera   X   s    LEE
"#a'HE
"I\\E
QE
14EFFAsUO 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 )NrK   r   r   r5   )visible_edgeswidthheightc              3   &   K   | ]	  \  }}|  y w)N ).0r]   ss      r   	<genexpr>z"test_customcell.<locals>.<genexpr>y   s     C41aQCs   )	r   MOVETOLINETO	CLOSEPOLYrZ   r   tupleget_pathiter_segments)typescodesr1   rB   r`   codes         r   test_customcellru   j   su   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 E5! 1&1EC4==?#@#@#BCCDyyr   ztable_auto_column.pngc                  0   t        j                         } | j                  d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d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d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dd      }|j                  d       |j	                  ddgddggddgd	d
gd      }|j                  d       |j                  d       t        j                  t        j                  d      5  |j                  d       d d d        t        j                  t        j                  d      5  |j                  dg       d d d        y # 1 sw Y   JxY w# 1 sw Y   y xY w)Nr   r5   r7   zFit Textr   z-very long long text, Longer text than defaultArR   Col1Col2r   )r   r    r!   r"   F   )r   r5   r4   r{   r   z('col' must be an int or sequence of ints)matchz-101)r   r>   r?   r@   r   auto_set_font_sizeset_fontsizeauto_set_column_widthpytestwarnsmplMatplotlibDeprecationWarning)	rD   rE   tb1rF   tb2rG   tb3rH   tb4s	            r   test_auto_columnr   }   s   
**,C //!Q
"CHHUO
))q/BAFH*6"  C 5!Rj) //!Q
"CHHUO
))q/BAFH*6"  C 5!Rj) //!Q
"CHHUO
))q/BAFH*6"  C 5!Rb!a a  //!Q
"CHHUO
))q/BAFH*6"  C 5!R	c66F
H *!!&)* 
c66F
H ,!!6(+, ,* *, ,s   %J $J J	J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 )Nr5   r   )r5   r   rc   )rd   )r   r5   )r   rY   r   add_cell
isinstancer   
propertiessetp)rD   r_   r   r`   cell2s        r   test_table_cellsr      s    llnGC"IE>>!Q1%DdJ'''5;vq!48EE$K;% 
HHUOr   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   r4   r      )FooBar)AdaBobr   )rT   皙?皙?g333333?)r   r    r!   r"   bboxrT   r   g?r   )rY   r   r   from_extents)
fig_testfig_refr-   
col_labels
row_labelsr0   r.   	cell_textax_listax_bboxs
             r   test_table_bboxr      s    FFD  JJ2673#&QQC&&7I7!GMM9&&+	    GMM9&&((c3<	   '7s   	B
BBB)numpyr#   r   matplotlib.pyplotpyplotr   
matplotlibr   matplotlib.pathr   matplotlib.tabler   r   matplotlib.testing.decoratorsr   r   matplotlib.transformsr   r   r2   rI   ra   ru   r   r   r   rh   r   r   <module>r      s          . O && %&D9 :@ %&'! (!H 01tD E"& *+,<, -<,~$ ( )r   