a
    ü
þd•  ã                   @   sÌ   d dl mZ d dl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d„ Zedgd	d
dd„ ƒZedgƒdd„ ƒZedgd	d
dd„ ƒZdd„ Zedgƒdd„ ƒZdd„ Zedgddd„ ƒZdS )é    N)Úimage_comparisonÚcheck_figures_equal)Ú
CustomCellÚTable)ÚPath)ÚBboxc                  C   s   ddg} t j| d d S )NÚbÚr)ZcellColours)ÚpltÚtable)Z
cellcolors© r   úd/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/matplotlib/tests/test_table.pyÚtest_non_square
   s    r   ztable_zorder.pngT)Zremove_textc                  C   sÀ   ddgddgg} d}dd„ dD ƒ}g }t  t|ƒ¡}t| ƒD ] }||7 }| d	d„ |D ƒ¡ q<t  d
dt j d¡}tj|t  	|¡ddd tj
|||ddd tj
|||ddd t g ¡ d S )NiR iØ¨ ivã  iÓÐ )ZFreezeZWindc                 S   s   g | ]}d | ‘qS )z%d yearr   ©Ú.0Úxr   r   r   Ú
<listcomp>   ó    ztest_zorder.<locals>.<listcomp>)éd   é2   c                 S   s   g | ]}d |d  ‘qS )z%1.1fg     @@r   r   r   r   r   r      r   r   é   r   é   )ZlwÚzorderÚcenteréþÿÿÿ)ÚcellTextÚ	rowLabelsÚ	colLabelsÚlocr   zupper center)ÚnpÚzerosÚlenÚreversedÚappendÚlinspaceÚpir
   ZplotÚcosr   Zyticks)Údatar   r   r   ZyoffÚrowÚtr   r   r   Útest_zorder   s2    ÿüür*   ztable_labels.pngc            	      C   sê   d} t  dd| ¡}tj |¡}dg|  g|  }t ¡ }| ddd¡}| d¡ |j||dd | ddd	¡}| d¡ |j||d
g|  dd | ddd¡}| d¡ |j||dd | ddd¡}| d¡ |j||d
g|  dd d S )Né   r   é   Ú1r   ÚoffÚbest)r   Ú
rowColoursr   r   ÚHeader)r   r0   r   r   )r   Ú
colColoursr   )r   r2   r   r   )	r   r$   r
   ÚcmZRdYlGnÚfigureÚadd_subplotÚaxisr   )	ZdimÚcZcoloursr   ÚfigÚax1Úax2Úax3Úax4r   r   r   Útest_label_colours1   s>    
þ
ý
þ
ýr=   ztable_cell_manipulation.pngc                  C   s„   d} dgt | ƒ gd }dgt | ƒ }tjt | ƒdt | ƒd fd\}}t|| ƒD ]$\}}|j||d|d	 | d
¡ qRt ¡  d S )N©Z
horizontalZverticalÚopenÚclosedÚTÚRÚBÚLr-   r   çš™™™™™¹?r   r,   )ZnrowsZfigsizer   )Ú	colWidthsr   r   Úedgesr.   )r!   r
   ÚsubplotsÚzipr   r6   Ztight_layout)Úcellsr   rF   Ú_ZaxsÚaxÚcellr   r   r   Útest_diff_cell_tableV   s    "ürN   c                  C   s  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d}tdd„ | ¡  ¡ D ƒƒ}||ksÂJ ‚qÂd S )Nr>   ©r   r   r,   )Úvisible_edgesÚwidthÚheightc                 s   s   | ]\}}|V  qd S )Nr   )r   rK   Úsr   r   r   Ú	<genexpr>w   r   z"test_customcell.<locals>.<genexpr>)	r   ZMOVETOZLINETOZ	CLOSEPOLYrI   r   ÚtupleÚget_pathZiter_segments)ÚtypesÚcodesr)   r7   rM   Úcoder   r   r   Útest_customcellh   s    ørZ   ztable_auto_column.pngc            	      C   s”  t  ¡ } |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | g d¢¡ |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | d¡ |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | d¡ | d¡ | d¡ |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | d¡ d S )Nr   r,   r.   zFit Textr   z-very long long text, Longer text than defaultÚArC   ZCol1ZCol2r   )r   r   r   r   Fé   )éÿÿÿÿr   r,   r+   r]   r   z-101)r
   r4   r5   r6   r   Zauto_set_font_sizeZset_fontsizeZauto_set_column_width)	r8   r9   Ztb1r:   Ztb2r;   Ztb3r<   Ztb4r   r   r   Útest_auto_column{   sn    
ÿû


ÿû



ÿû





ÿû

r^   c                  C   s€   t  ¡ \} }t|ƒ}| dddd¡}t|tƒs2J ‚||d u sBJ ‚tdddd d}||d< |d |u sjJ ‚| ¡  t  |¡ d S )Nr,   r   )r,   r   rO   )rP   )r   r,   )r
   rH   r   Zadd_cellÚ
isinstancer   Z
propertiesZsetp)r8   rL   r   rM   Zcell2r   r   r   Útest_table_cells¶   s    r`   Zpng)Ú
extensionsc                 C   sr   ddgddgg}d}d}dd„ |D ƒ}|   ¡ }|j|||d	g d
¢d |  ¡ }|j|||d	t dddd¡d d S )Nr   r+   r   é   )ZFooÚBar)ZAdaZBobc                 S   s   g | ]}d d„ |D ƒ‘qS )c                 S   s   g | ]
}|› ‘qS r   r   r   r   r   r   r   Ð   r   z.test_table_bbox.<locals>.<listcomp>.<listcomp>r   )r   r(   r   r   r   r   Ð   r   z#test_table_bbox.<locals>.<listcomp>r   )rE   çš™™™™™É?çš™™™™™é?g333333ã?)r   r   r   r   ZbboxrE   rd   gÍÌÌÌÌÌì?re   )rH   r   r   Zfrom_extents)Zfig_testZfig_refr'   Z
col_labelsZ
row_labelsZ	cell_textZax_listZax_bboxr   r   r   Útest_table_bboxÈ   s(    ÿüürf   )Zmatplotlib.pyplotZpyplotr
   Únumpyr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.tabler   r   Zmatplotlib.pathr   Zmatplotlib.transformsr   r   r*   r=   rN   rZ   r^   r`   rf   r   r   r   r   Ú<module>   s$   
 
$

:
