o
    ȷe                     @   sl   d Z ddlmZ ddlZddlZddlZddlZddlmZ	 ddl
mZ dd Zdd	 Zd
d Zdd ZdS )zTests for IPython.utils.text    )print_functionN   )textc                     sh   d  fdddD } t j| dd}t|d t j| dd}t|d	 t j| d
d}t|d dS )zBasic columnize tests.   c                       g | ]}|  qS  r   .0lsizer   W/var/www/ideatree/venv/lib/python3.10/site-packages/ipython_genutils/tests/test_text.py
<listcomp>       z"test_columnize.<locals>.<listcomp>abcP   displaywidthzaaaaa  bbbbb  ccccc
   zaaaaa  ccccc
bbbbb

   zaaaaa
bbbbb
ccccc
N)r   	columnizentassert_equalitemsoutr   r   r   test_columnize   s   r   c                     s   dd t ddD D ]U} tdd  fddt | D }dd |D }tj| d}td	d |d
D }t|}| kr_td|  td|  td   td|   td|  J q
dS )z3Test with random input to hopfully catch edge case c                 S   s   g | ]}t d dqS )r   F   randomrandintr	   ir   r   r   r          z)test_columnize_random.<locals>.<listcomp>r         c                    s   g | ]}t d  qS )r   r   r!   r   r   r   r   !   r#   c                 S   s   g | ]}d | qS )xr   r   r   r   r   r   "   r   r   c                 S   s   g | ]}t |qS r   )len)r	   r&   r   r   r   r   $   r   
z;Columnize displayed something lager than displaywidth : %s zlonger element : %s zdisplaywidth : %s znumber of element : %s zsize of each element :
 %sFN)ranger   r    r   r   maxsplitprint)nitemsrand_lenr   r   longer_linelonger_elementr   r   r   test_columnize_random   s    r1   c                     s@   d  fdddD } t j| dd}t|d| dg  d	S )
z1Test with inputs than shouldn't be wider tahn 80 (   c                    r   r   r   r   r   r   r   r   1   r   z)test_columnize_medium.<locals>.<listcomp>r   r   r   r(    Nr   r   r   r   joinr   r   r   r   test_columnize_medium.   s   r6   c                     sD   d  fdddD } t j|  d d}t|d| dg  d	S )
z9Test columnize with inputs longer than the display window   c                    r   r   r   r   r   r   r   r   8   r   z'test_columnize_long.<locals>.<listcomp>r      r   r(   r3   Nr4   r   r   r   r   test_columnize_long5   s   r9   )__doc__
__future__r   osmathr   sys
nose.toolstoolsr   r3   r   r   r1   r6   r9   r   r   r   r   <module>   s   