
    (?e%                     P   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dS )    N)Path)
CustomCellTable)image_comparisoncheck_figures_equal)Bboxc                  8    ddg} t          j        |            d S )Nbr)cellColours)plttable)
cellcolorss    ;lib/python3.11/site-packages/matplotlib/tests/test_table.pytest_non_squarer      s$    sJI*%%%%%%    ztable_zorder.pngT)remove_textc                  
   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21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!    <<<!AfH-<<<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_zorderr8      s*   FOFOD #I22	222IH8C	NN##D~~ > ><<t<<<====
Aqw$$AHQq		a****Ix!!	    Ix!! 	    JrNNNNNr   ztable_labels.pngc                     d} t          j        dd|           }t          j                            |          }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      1r!   offbest)r&   
rowColoursr)   r    Header)r&   r?   r'   r)   )r&   
colColoursr)   )r&   rA   r(   r)   )	r*   r/   r   cmRdYlGnfigureadd_subplotaxisr   )	dimccoloursr&   figax1ax2ax3ax4s	            r   test_label_coloursrO   3   s   
C
Aq#AfmmAG}s"H
*,,C
//!Q
"
"CHHUOOOIIx      //!Q
"
"CHHUOOOIIx !
S(    
 //!Q
"
"CHHUOOOIIx      //!Q
"
"CHHUOOOIIx !
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          \  }}t          ||           D ]3\  }}|                    ||d|	           |                    d
           4t          j                     d S )N
horizontalverticalopenclosedTRBLr<   r    皙?r!   r;   )nrowsfigsizer$   )	colWidthsr&   r)   edgesr=   )r,   r   subplotszipr   rF   tight_layout)cellsr&   r]   _axsaxcells          r   test_diff_cell_tablerg   X   s    LEE

"#a'HE

"I\E

QE

14EFFFFAsUOO  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 )NrQ   r   r   r;   )visible_edgeswidthheightc              3       K   | ]	\  }}|V  
d S )Nr   )r   rc   ss      r   	<genexpr>z"test_customcell.<locals>.<genexpr>y   s&      CC41aQCCCCCCr   )	r   MOVETOLINETO	CLOSEPOLYr`   r   tupleget_pathiter_segments)typescodesr7   rH   rf   codes         r   test_customcellry   j   sL   LE	dk4;T[I	dk4;T[I	dk4;T[I	dk4;T^L	dk4;T[I	dk4;T[I	dk4;T[I	dk4;T[I	
E E5!!  1&1EEECC4==??#@#@#B#BCCCCCDyyyyy r   ztable_auto_column.pngc                     t          j                    } |                     ddd          }|                    d           |                    ddgddggddgd	d
gd          }|                    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dgddggddgd	d
gd          }|                    d           |                    d           |                    d           |                    d           |                    d           |                     ddd          }|                    d           |                    ddgddggddgd	d
gd          }|                    d           |                    d           t          j	        t          j        d          5  |                    d           d d d            n# 1 swxY w Y   t          j	        t          j        d          5  |                    dg           d d d            d S # 1 swxY w Y   d S )Nr!   r;   r=   zFit Textr    z-very long long text, Longer text than defaultArX   Col1Col2r$   )r&   r'   r(   r)   F   )r   r;   r:   r   r   z('col' must be an int or sequence of ints)matchz-101)r   rD   rE   rF   r   auto_set_font_sizeset_fontsizeauto_set_column_widthpytestwarnsmplMatplotlibDeprecationWarning)	rJ   rK   tb1rL   tb2rM   tb3rN   tb4s	            r   test_auto_columnr   }   s   
*,,C //!Q
"
"CHHUOOO
))q/BAFH*6"   C 5!!!Rjjj))) //!Q
"
"CHHUOOO
))q/BAFH*6"   C 5!!!Rj))) //!Q
"
"CHHUOOO
))q/BAFH*6"   C 5!!!Rb!!!a   a    //!Q
"
"CHHUOOO
))q/BAFH*6"   C 5!!!R	c6F
H 
H 
H * *!!&)))* * * * * * * * * * * * * * * 
c6F
H 
H 
H , ,!!6(+++, , , , , , , , , , , , , , , , , ,s$   J%%J),J)K44K8;K8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    ri   )rj   )r    r;   )r   r_   r   add_cell
isinstancer   
propertiessetp)rJ   re   r   rf   cell2s        r   test_table_cellsr      s    lnnGC"IIE>>!Q1%%DdJ'''''5;vq!4888EE$K;% 
HUOOOOOr   png)
extensionsc                    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    &&&QQ&&&&r   r   )r   r6   s     r   r   z#test_table_bbox.<locals>.<listcomp>   s'    7773&&#&&&777r   r$   )rZ   皙?皙?g333333?)r&   r'   r(   r)   bboxrZ   r   g?r   )r_   r   r   from_extents)fig_testfig_refr4   
col_labels
row_labels	cell_textax_listax_bboxs           r   test_table_bboxr      s    FFD  JJ77$777I!!GMM9&&+++	       GMM9&&(c3<<	      r   )numpyr*   r   matplotlib.pyplotpyplotr   
matplotlibr   matplotlib.pathr   matplotlib.tabler   r   matplotlib.testing.decoratorsr   r   matplotlib.transformsr   r   r8   rO   rg   ry   r   r   r   r   r   r   <module>r      s                              . . . . . . . . O O O O O O O O & & & & & && & & %&D999  :9@ %&''! ! ('!H 01tDDD  ED"  & *+,,<, <, -,<,~  $ (((  )(  r   