U
    Fvf•  ã                   @   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   ú?/tmp/pip-unpacked-wheel-7vhvci0g/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>   s     ztest_zorder.<locals>.<listcomp>)éd   é2   c                 S   s   g | ]}d |d  ‘qS )z%1.1fg     @@r   r   r   r   r   r      s     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   r/   r   r   )r   Ú
colColoursr   )r   r1   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   r5   Ztight_layout)Úcellsr   rE   Ú_ZaxsÚaxÚcellr   r   r   Útest_diff_cell_tableV   s    "ürM   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Ât	‚qÂd S )Nr=   ©r   r   r+   )Úvisible_edgesÚwidthÚheightc                 s   s   | ]\}}|V  qd S )Nr   )r   rJ   Úsr   r   r   Ú	<genexpr>w   s     z"test_customcell.<locals>.<genexpr>)
r   ZMOVETOZLINETOZ	CLOSEPOLYrH   r   ÚtupleÚget_pathZiter_segmentsÚAssertionError)ÚtypesÚcodesr(   r6   rL   Ú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¡ | dddg¡ |  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ÚArB   ZCol1ZCol2r   )r   r   r   r   Fé   éÿÿÿÿr   )r]   r   r+   r*   z-101)r
   r3   r4   r5   r   Zauto_set_font_sizeZset_fontsizeZauto_set_column_width)	r7   r8   Ztb1r9   Ztb2r:   Ztb3r;   Ztb4r   r   r   Útest_auto_column{   sn    
ÿû


ÿû



ÿû





ÿû

r^   c                  C   s€   t  ¡ \} }t|ƒ}| dddd¡}t|tƒs2t‚||d ksBt‚tdddd d}||d< |d |ksjt‚| ¡  t  |¡ d S )Nr+   r   )r+   r   rN   )rO   )r   r+   )	r
   rG   r   Zadd_cellÚ
isinstancer   rV   Z
propertiesZsetp)r7   rK   r   rL   Zcell2r   r   r   Útest_table_cells¶   s    r`   Zpng)Ú
extensionsc                 C   sv   ddgddgg}d}d}dd„ |D ƒ}|   ¡ }|j|||d	d
dddg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   Ð   s     z.test_table_bbox.<locals>.<listcomp>.<listcomp>r   )r   r'   r   r   r   r   Ð   s     z#test_table_bbox.<locals>.<listcomp>r   rD   gš™™™™™É?gš™™™™™é?g333333ã?)r   r   r   r   ZbboxgÍÌÌÌÌÌì?)rG   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(    ÿ
üürd   )Zmatplotlib.pyplotZpyplotr
   Znumpyr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.tabler   r   Zmatplotlib.pathr   Zmatplotlib.transformsr   r   r)   r<   rM   rZ   r^   r`   rd   r   r   r   r   Ú<module>   s$   
 
$

:
