U
    Âmœ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   úT/home/sam/Atlas/atlas_env/lib/python3.8/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>   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)ÚnpZ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   r0   r   r   )	r   r"   r
   ÚcmZRdYlGnÚfigureÚadd_subplotÚaxisr   )	Ú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©Ú
horizontalÚverticalÚopenÚclosedÚTÚRÚBÚLr+   r   çš™™™™™¹?r   r*   )ZnrowsZfigsizer   )Ú	colWidthsr   r   Úedgesr,   )r   r
   ÚsubplotsÚzipr   r4   Ztight_layout)Úcellsr   rG   Ú_ZaxsÚaxÚcellr   r   r   Útest_diff_cell_tableV   s    "ürO   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   rL   Úsr   r   r   Ú	<genexpr>w   s     z"test_customcell.<locals>.<genexpr>)
r   ZMOVETOZLINETOZ	CLOSEPOLYrJ   r   ÚtupleÚget_pathÚiter_segmentsÚAssertionError)ÚtypesÚcodesr'   r6   rN   Úcoder   r   r   Útest_customcellh   s    ør]   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ÚArD   ZCol1ZCol2r   )r   r   r   r   Fé   éÿÿÿÿr   )r`   r   r*   r)   z-101)r
   r2   r3   r4   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    
ÿû


ÿû



ÿû





ÿû

ra   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   rP   )rQ   )r   r*   )	r
   rI   r   Úadd_cellÚ
isinstancer   rY   Ú
propertiesZsetp)r7   rM   r   rN   Zcell2r   r   r   Útest_table_cells¶   s    re   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FooZBar)Ú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   rF   gš™™™™™É?gš™™™™™é?g333333ã?)r   r   r   r   ZbboxgÍÌÌÌÌÌì?)rI   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(    ÿ
üüri   )Zmatplotlib.pyplotZpyplotr
   Únumpyr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.tabler   r   Zmatplotlib.pathr   Zmatplotlib.transformsr   r   r(   r<   rO   r]   ra   re   ri   r   r   r   r   Ú<module>   s$   
 
$

:
