
    P/Ph                        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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    [/var/www/html/test/jupyter/venv/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_zorderr9      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'   rB   r)   r*   )	r+   r0   r   cmRdYlGnfigureadd_subplotaxisr   )	dimccoloursr'   figax1ax2ax3ax4s	            r   test_label_coloursrP   5   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   rG   tight_layout)cellsr'   r^   _axsaxcells          r   test_diff_cell_tablerh   Z   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 )NrR   r   r   r<   )visible_edgeswidthheightc              3       K   | ]	\  }}|V  
d S Nr   )r   rd   ss      r   	<genexpr>z"test_customcell.<locals>.<genexpr>{   s&      CC41aQCCCCCCr   )	r   MOVETOLINETO	CLOSEPOLYra   r   tupleget_pathiter_segments)typescodesr8   rI   rg   codes         r   test_customcellr{   l   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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<   r>   zFit Textr!   z-very long long text, Longer text than defaultArY   Col1Col2r%   )r'   r(   r)   r*   F   )r   r<   r   r   )r   r`   rG   r   auto_set_font_sizeset_fontsizeauto_set_column_width)	rK   rL   rM   rN   rO   tb1tb2tb3tb4s	            r   test_auto_columnr      sw    #Q 2 2C	#sC HHUOOO
))q/BAFH*6"   C 5!!!Rjjj))) HHUOOO
))q/BAFH*6"   C 5!!!Rj))) HHUOOO
))q/BAFH*6"   C 5!!!Rb!!!a   a    HHUOOO
))q/BA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!   rj   )rk   )r!   r<   )r   r`   r   add_cell
isinstancer   
propertiessetp)rK   rf   r   rg   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   r7   s     r   r   z#test_table_bbox.<locals>.<listcomp>   s'    7773&&#&&&777r   r%   )r[   皙?皙?g333333?)r'   r(   r)   r*   bboxr[   r   g?r   )r`   r   r	   from_extents)fig_testfig_refr5   
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   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 ro   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 ro   r   )r   r   s     r   r   z!test_table_unit.<locals>.<lambda>   s     r   c                 (    t          j                    S ro   )munitsAxisInfo)r   r   s     r   r   z!test_table_unit.<locals>.<lambda>   s    FO<M<M r   yellow*   i     r<   Tr   )r   ConversionInterfacer   convertdefault_unitsaxisinforegistrydatetimer`   r   canvasdrawassert_not_calledpopget_converter)r   r   r   fake_convertorr5   s        r   test_table_unitr      s           /11N!.?.?@@@N#'4E4E#F#F#FN "/M/MNNNN .FOHXh".Xh'a3344hhtnnEGD d###w07G2D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}   rY   C)r      i,  )LetterNumberr%   )r*   r   r<   )
	DataFramer   r`   r   	enumerateiterrowscolumnsvaluesget_textstr)pdr5   dfrK   rf   r   r   indexr7   rI   cols              r   test_table_dataframer     s	    "//!// D
 
d		BlnnGCHHRXH&&E$R[[]]33 T T<E3a1ff

#*EE 	T 	TFAsa1ff!A#q01::<<EEGG3s88SSSSS	TT Tr   )r   unittest.mockr   numpyr+   matplotlib.pyplotpyplotr   matplotlib.pathr   matplotlib.tabler   r   matplotlib.testing.decoratorsr   r   matplotlib.transformsr	   matplotlib.unitsunitsr   r   r9   rP   rh   r{   r   r   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"  & *+,,3 3 -,3l  $ (((  )(4 (((7 7 )(7<T T T T Tr   