
    X                     d    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 Zd Zd Zd	 Zy)
zTests for IPython.utils.text    )print_functionN   )textc                  D   d} dD cg c]  }|| z  	 }}t        j                  |d      }t        j                  |d       t        j                  |d      }t        j                  |d       t        j                  |d      }t        j                  |d	       y
c c}w )zBasic columnize tests.   abcP   displaywidthzaaaaa  bbbbb  ccccc
   zaaaaa  ccccc
bbbbb

   zaaaaa
bbbbb
ccccc
N)r   	columnizentassert_equalsizelitemsouts       B/usr/lib/python3/dist-packages/ipython_genutils/tests/test_text.pytest_columnizer      s    D"#QtV#E#
..R
0COOC01
..R
0COOC01
..R
0COOC01 $s   Bc            	      z   t        dd      D  cg c]  } t        j                  dd       c} D ]  }t        j                  dd      }t        |      D  cg c]  } t        j                  d|       }} |D cg c]  }d|z  	 }}t        j                  ||      }t        |j                  d      D cg c]  }t        |       c}      }t        |      }	||kD  st        d|z         t        d	|	z         t        d
|z         t        d|z         t        d|z         J  yc c} w c c} w c c}w c c}w )z3Test with random input to hopfully catch edge case r      F      xr
   
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 :
 %sN)	rangerandomrandintr   r   maxsplitlenprint)
initemsr   rand_lenr   r   r   r   longer_linelonger_elements
             r   test_columnize_randomr*      s   16q=A6>>!B'= ~~b-<A&MJqFNN1\2JJ ()1Q))nnU>399T?;a3q6;<X%OR]]^(>9:&56+f45/(:;5=J);s   D)D.8D35D8
c                      d} dD cg c]  }|| z  	 }}t        j                  |d      }t        j                  |dj	                  |dgz                yc c}w )z1Test with inputs than shouldn't be wider tahn 80 (   r   r	   r
   r    Nr   r   r   r   joinr   s       r   test_columnize_mediumr0   .   sP    D"#QtV#E#
..R
0COOC5":./ $s   Ac                      d} dD cg c]  }|| z  	 }}t        j                  || dz
        }t        j                  |dj	                  |dgz                yc c}w )z9Test columnize with inputs longer than the display window   r      r
   r   r-   Nr.   r   s       r   test_columnize_longr4   5   sT    D"#QtV#E#
..T!V
4COOC5":./ $s   A)__doc__
__future__r   osmathr   sys
nose.toolstoolsr   r-   r   r   r*   r0   r4        r   <module>r>      s3    " %
 
   
  	2"00r=   