
     j˙                     ^   d dl m Z mZ d dlmZ d dlZd dlZd dlmZ d dlZ	d dl
Z
d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d Z G d d	          Z G d
 d          Z  G d d          Z! G d d          Z" G d d          Z# G d d          Z$ G d d          Z%dS )    )datetime	timedelta)StringION)dedent)using_pyarrow_string_dtype)CategoricalIndex	DataFrameIndexNaTSeries	Timestampconcat
date_range
get_optionoption_contextread_csvtimedelta_rangeto_datetimec                      dddk    S )N    CAz.4gz1.7e+008 r       zC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/io/formats/test_to_string.py_three_digit_expr   !   s    >>Z''r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestDataFrameToStringFormattersc                     t          t          ddgd          t          ddgd          d          }|                    d	j        d	j        g
          }t	          d          }||k    sJ d S )Ng_c97ݚ?g6sӭ?Float64dtype      Int64ab{:.2f}
formatterszM                  a     b
            0  0.12  1.00
            1  1.12  2.00)r	   r   	to_stringformatr   selfdfresultexpecteds       r   'test_to_string_masked_ea_with_formatterzGTestDataFrameToStringFormatters.test_to_string_masked_ea_with_formatter&   s    [+6iHHHQF'222 
 
 (/8?)KLL
 
 !!!!!!r   c                 "   t          g dg dg ddg d          }dd fdd	 fd
d fg}|                    t          |                    }|                    t          t	          |           d                   }|dk    sJ ||k    sJ d S )Nr!   r"      )      ?       @      @))r!   r"   TF)intfloatobjectcolumnsr8   c                     d| dS )N0xxr   r?   s    r   <lambda>zPTestDataFrameToStringFormatters.test_to_string_with_formatters.<locals>.<lambda>B   s    j1jjj r   r9   c                     d| ddS )N[z 4.1f]r   r@   s    r   rA   zPTestDataFrameToStringFormatters.test_to_string_with_formatters.<locals>.<lambda>C   s    A r   r:   c                     d| dS )N-r   r@   s    r   rA   zPTestDataFrameToStringFormatters.test_to_string_with_formatters.<locals>.<lambda>D   s    Q r   r(   r!   z[  int  float    object
0 0x1 [ 1.0]  -(1, 2)-
1 0x2 [ 2.0]    -True-
2 0x3 [ 3.0]   -False-)r	   r*   dictlistzip)r-   r.   r)   r/   result2s        r   test_to_string_with_formattersz>TestDataFrameToStringFormatters.test_to_string_with_formatters7   s     yy(/// 
 /..
 
 
 (()../++,


 j)9)9::,,$sJ/?*@*@*C,DD%
 	
 	
 	
       r   c                     t          ddd          t          ddd          g}t          d|i          }d }|                    d|i          }t          d          }|                                |k    sJ d S )Ni  r!   r"   monthsc                 ,    |                      d          S )Nz%Y-%mstrftimer@   s    r   format_funczbTestDataFrameToStringFormatters.test_to_string_with_datetime64_monthformatter.<locals>.format_funcT       ::g&&&r   r(   z>            months
            0 2016-01
            1 2016-02)r   r	   r*   r   strip)r-   rM   r?   rQ   r/   r0   s         r   -test_to_string_with_datetime64_monthformatterzMTestDataFrameToStringFormatters.test_to_string_with_datetime64_monthformatterP   s    4A&&q!(<(<=x())	' 	' 	' ;(?@@
 
 ||~~))))))r   c                     t          dt          ddgd          i          }d }|                    d|i          }t          d          }|                                |k    sJ d S )	Nhodz10:10:10.100z12:12:12.120z%H:%M:%S.%f)r+   c                 ,    |                      d          S )Nz%H:%MrO   r@   s    r   rQ   zaTestDataFrameToStringFormatters.test_to_string_with_datetime64_hourformatter.<locals>.format_funce   rR   r   r(   z7            hod
            0 10:10
            1 12:12)r	   r   r*   r   rS   )r-   r?   rQ   r/   r0   s        r   ,test_to_string_with_datetime64_hourformatterzLTestDataFrameToStringFormatters.test_to_string_with_datetime64_hourformatter`   s    K @WWWX
 
	' 	' 	' (<==
 
 ||~~))))))r   c                     t          dg di          }|                    dt          i          }t          d          }||k    sJ d }d S )N   c/σr3   r(   uH                 c/σ
            0   1
            1   2
            2   3c                     t          t          d          t          dd          t          dd          g          }|                    dd i          }t          d          }||k    sJ d S )N   
      	__index__c                     d|          S )Nabcr   r@   s    r   rA   zTestDataFrameToStringFormatters.test_to_string_with_formatters_unicode.<locals>.test_to_string_index_formatter.<locals>.<lambda>   s
    q r   r(   z                0   1   2   3   4
            a   0   1   2   3   4
            b   5   6   7   8   9
            c  10  11  12  13  14            )r	   ranger*   r   )r-   r.   rsxps       r   test_to_string_index_formatterznTestDataFrameToStringFormatters.test_to_string_with_formatters_unicode.<locals>.test_to_string_index_formatter}   so    E!HHeArllE"bMMBCCB+7I7I)JKKB B 8OOOOOr   )r	   r*   strr   )r-   r.   r/   r0   re   s        r   &test_to_string_with_formatters_unicodezFTestDataFrameToStringFormatters.test_to_string_with_formatters_unicodeq   sp    
III.//*c):;;
 
 !!!!	 	 	 	 	r   c                     d}d}d}|dd|dd|d}t          ddddg          }d	j        d
j        dj        d}|                    dd|          }||k    sJ d S )NTESTPANDASr*   z<6s z<7sz<10scol1col2col3z{:<6s}z{:<7s}z{:<10s}F)indexheaderr)   )r	   r+   r*   )r-   rm   rn   ro   r0   r.   dr/   s           r   test_no_extra_spacez3TestDataFrameToStringFormatters.test_no_extra_space   s    777777D777;OOPQQ_hoyGWXXE%AFF!!!!!!r   N)	__name__
__module____qualname__r1   rK   rT   rX   rg   rs   r   r   r   r   r   %   sn        " " ""! ! !2* * * * * *"  6	" 	" 	" 	" 	"r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )TestDataFrameToStringColSpacec                 ^   t          t          j                            d                              d          g d          }d}t	          j        t          |          5  |                    dd	g
           d d d            n# 1 swxY w Y   t	          j        t          |          5  |                    g d
           d d d            n# 1 swxY w Y   d}t	          j        t          |          5  |                    dddd
           d d d            d S # 1 swxY w Y   d S )Nr"   r4   r4   sizer%   r&   cr;   zGCol_space length\(\d+\) should match DataFrame number of columns\(\d+\)match   (   	col_space)r   r   2   <   zunknown columnfoo   "   )r%   r&   rr   )r	   nprandomdefault_rngpytestraises
ValueErrorr*   )r-   r.   msgs      r   4test_to_string_with_column_specific_col_space_raiseszRTestDataFrameToStringColSpace.test_to_string_with_column_specific_col_space_raises   s   I!!!$$+++88///
 
 

4 	 ]:S111 	- 	-LLB8L,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- ]:S111 	5 	5LL#3#3#3L444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 ]:S111 	C 	CLLRb#A#ALBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs6   "BBB-CCC:D""D&)D&c                    t          t          j                            d                              d          g d          }|                    dddd	          }t          |                    d
          d                   dk    sJ |                    g d	          }t          |                    d
          d                   dk    sJ d S )Nr"   rz   r{   r}   r;   r]         r   
r!   %   )r]   r   r   )r	   r   r   r   r*   lensplit)r-   r.   r/   s      r   -test_to_string_with_column_specific_col_spacezKTestDataFrameToStringColSpace.test_to_string_with_column_specific_col_space   s    I!!!$$+++88///
 
 
 br(C(CDD6<<%%a()).BCCCC556<<%%a()).BCCCCCCr   c                    t          t          j                            d                              d                    }t	          |                    d                              d          d                   }t	          |                    d                              d          d                   }t	          |                    d	                              d          d                   }||cxk     r|k     sn J |                    d          }|                                d         }|                    dd
          }t	          |          t	          |          k    sJ d S )Nr"   )r!   r4   r{   r]   r   r   r!      r   F)r   rq   )r	   r   r   r   r   r*   r   
splitlines)r-   r.   c10c20c30with_headerwith_header_row1	no_headers           r   test_to_string_with_col_spacez;TestDataFrameToStringColSpace.test_to_string_with_col_space   sF   ry,,Q//66F6CCDD",,,,,22488;<<",,,,,22488;<<",,,,,22488;<<S3 llRl00&1133A6LL2eL<<	#$$I666666r   c                     t                      }t          dt          t          t	          d          t	          d                              i          }t          |           |                    d|           d S )Ntupsr]   r   buf)r   r	   rH   rI   rb   reprr*   )r-   r   r.   s      r   test_to_string_repr_tuplesz8TestDataFrameToStringColSpace.test_to_string_repr_tuples   sb    jjSrE"II%>%> ? ?@AAR
rs+++++r   N)rt   ru   rv   r   r   r   r   r   r   r   rx   rx      sV        C C C&
D 
D 
D7 7 7, , , , ,r   rx   c                   &    e Zd Zd Zd Zd Zd ZdS )TestDataFrameToStringHeaderc                    t          ddg          }d|j        _        |                    d          }d}||k    sJ t          ddgddgg          }d|j        _        |                    d          }d	}||k    sJ d S )
Nr!   r"   r%   Frq   za   
0  1
1  2r4      za      
0  1  2
1  3  4)r	   rp   namer*   )r-   r.   sr0   s       r   test_to_string_header_falsez7TestDataFrameToStringHeader.test_to_string_header_false   s    1vLLL&&%H}AA'((LLL&&.H}r   c                     t          dgdgdgdgd                              ddg          }|                    dd	g
          }d}||k    sJ d S )Nr   r!   r"   r4   r%   r&   r~   rr   r%   r&   r1r2r   z    r1 r2
a b      
0 1  2  3)r	   	set_indexr*   )r-   r.   resexps       r   test_to_string_multindex_headerz;TestDataFrameToStringHeader.test_to_string_multindex_header   sh    aSs!A3??@@JJCQT:VVll4,l///czr   c                 r    t          g dg dd          }|                    d          }d}||k    sJ d S )Nr3   r   r\      r?   yFr   z0  1  4
1  2  5
2  3  6r	   r*   r-   r.   df_sr0   s       r   test_to_string_no_headerz4TestDataFrameToStringHeader.test_to_string_no_header   sN    YYYYYY7788||5|)).xr   c                    t          g dg dd          }|                    ddg          }d}||k    sJ d}t          j        t          |	          5  |                    dg           d d d            d S # 1 swxY w Y   d S )
Nr3   r   r   XYr   z   X  Y
0  1  4
1  2  5
2  3  6z Writing 2 cols but got 1 aliasesr   )r	   r*   r   r   r   )r-   r.   r   r0   r   s        r   test_to_string_specified_headerz;TestDataFrameToStringHeader.test_to_string_specified_header   s    YYYYYY7788||C:|..7x0]:S111 	' 	'LLL&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   A;;A?A?N)rt   ru   rv   r   r   r   r   r   r   r   r   r      sP                 
' 
' 
' 
' 
'r   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestDataFrameToStringLineWidthc                     t          dt          dd          t          d                    }|                    d          }t          d |                    d	          D                       dk    sJ d S )
N{   r]   r^   r   )rp   r<   P   
line_widthc              3   4   K   | ]}t          |          V  d S )N)r   ).0lines     r   	<genexpr>zKTestDataFrameToStringLineWidth.test_to_string_line_width.<locals>.<genexpr>   s(      ;;3t99;;;;;;r   r   )r	   rb   r*   maxr   )r-   r.   liness      r   test_to_string_line_widthz8TestDataFrameToStringLineWidth.test_to_string_line_width   sq    s%B--rCCC++;;T):):;;;;;rAAAAAAr   c                 P   t          g dg dd          }|                    dd          }d}||k    sJ t          g dg dd          }|                    dd          }d	}||k    sJ t          g d
g dd          }|                    dd          }d}||k    sJ d S )Nr3   r   r   r!   F)r   rp   z, x  \
 1   
 2   
 3   

 y  
 4  
 5  
 6  r      !   z, x  \
11   
22   
33   

 y  
 4  
 5  
 6  r   r   ir   r\   iz0  x  \
 11   
 22   
-33   

 y  
 4  
 5  
-6  r   r   s       r   "test_to_string_line_width_no_indexzATestDataFrameToStringLineWidth.test_to_string_line_width_no_index   s    YYYYYY7788||q|66Jx\\\			::;;||q|66Jx]]]<<==||q|66Nxr   c                 P   t          g dg dd          }|                    dd          }d}||k    sJ t          g dg dd          }|                    dd          }d	}||k    sJ t          g d
g dd          }|                    dd          }d}||k    sJ d S )Nr3   r   r   r!   F)r   rq   z-0  1  \
1  2   
2  3   

0  4  
1  5  
2  6  r   z00  11  \
1  22   
2  33   

0  4  
1  5  
2  6  r   r   z00  11  \
1  22   
2 -33   

0  4  
1  5  
2 -6  r   r   s       r   #test_to_string_line_width_no_headerzBTestDataFrameToStringLineWidth.test_to_string_line_width_no_header  s    YYYYYY7788||q|77Ix\\\			::;;||q|77Lx]]]<<==||q|77Lxr   c                 J   t          g dg dd          }|                    d          }d}||k    sJ t          g dg dd          }|                    d          }d}||k    sJ t          g d	g d
d          }|                    d          }d}||k    sJ d S )Nr3   r   r   r!   r   z<   x  \
0  1   
1  2   
2  3   

   y  
0  4  
1  5  
2  6  r   z@    x  \
0  11   
1  22   
2  33   

   y  
0  4  
1  5  
2  6  r   r   z@    x  \
0  11   
1  22   
2 -33   

   y  
0  4  
1  5  
2 -6  r   r   s       r   4test_to_string_line_width_with_both_index_and_headerzSTestDataFrameToStringLineWidth.test_to_string_line_width_with_both_index_and_header-  s    YYYYYY7788||q|))S 	 x\\\			::;;||q|))W 	 x]]]<<==||q|))W 	 xr   c                 V   t          g dg dd          }|                    ddd          }d}||k    sJ t          g dg dd          }|                    ddd          }d	}||k    sJ t          g d
g dd          }|                    ddd          }d}||k    sJ d S )Nr3   r   r   r!   F)r   rp   rq   z1  \
2   
3   

4  
5  
6  r   z11  \
22   
33   

4  
5  
6  r   r   z$ 11  \
 22   
-33   

 4  
 5  
-6  r   r   s       r   ,test_to_string_line_width_no_index_no_headerzKTestDataFrameToStringLineWidth.test_to_string_line_width_no_index_no_headerJ  s    YYYYYY7788||qe|DD7x\\\			::;;||qe|DD:x]]]<<==||qe|DD@xr   N)rt   ru   rv   r   r   r   r   r   r   r   r   r   r      sb        B B B
     .     .     :         r   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestToStringNumericFormattingc                     t          ddgi          }d}|                    d          |k    sJ t          ddgi          }d}|                    d          |k    sJ d S )	Nr?   gvöE?z      x
0 0.200z%.3ffloat_formatg      Y@z    x
0 100z%.0fr   r-   r.   r0   s      r   *test_to_string_float_format_no_fixed_widthzHTestToStringNumericFormatting.test_to_string_float_format_no_fixed_widthc  sy    gY'((%|||00H<<<< eW~&&!|||00H<<<<<<r   c                     t          dg di          }|                                }t                      rd}nd}||k    sJ |dz  }|                                }d}d S )Nr%   )      ?gFFg<gavtzC               a
0  1.500000e+000
1  1.000000e-017
2 -5.500000e-007z?              a
0  1.500000e+00
1  1.000000e-17
2 -5.500000e-07r   z   0
0  0
1  0
2 -0)r	   r*   r   r,   s       r   !test_to_string_small_float_valuesz?TestToStringNumericFormatting.test_to_string_small_float_valuesn  s    222344 	# H"  !!!! !V+r   c                     t          dd          5  t          dg di          }|                                }d}||k    sJ 	 d d d            d S # 1 swxY w Y   d S )Ndisplay.precisionr\   r?   )yV?d~	O?y:s-kM?\x?yD惒C?Zn(?y             zc                  x
0  0.44678+0.07152j
1  0.27394+0.23515j
2  0.26975+0.32506j
3 -0.00000-1.00000j)r   r	   r*   r,   s       r   'test_to_string_complex_float_formattingzETestToStringNumericFormatting.test_to_string_complex_float_formatting  s    /33 	& 	&   	 	B \\^^F&  X%%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   2AAAc           	         t          t          j         t          j        ddddgt          j         t          j        ddddgd	          }|                                }d
}||k    sJ t          t          j         t          j        ddddgt          j         t          j        ddddgd	          }|                                }d}||k    sJ d S )Nx# r4   r   r   foooofooooobarABz}        A       B
0    -inf    -inf
1     inf     inf
2 -1.0000     foo
3 -2.1234   foooo
4  3.0000  fooooo
5  4.0000     bar             r7         @zh     A       B
0 -inf    -inf
1  inf     inf
2 -1.0     foo
3 -2.0   foooo
4  3.0  fooooo
5  4.0     bar)r	   r   infr*   r,   s       r   test_to_string_format_infz7TestToStringNumericFormatting.test_to_string_format_inf  s    vgrvr7Aq9vgrvugxG 
 
   	 !!!!vgrvtT3<vgrvugxG 
 
  	 !!!!!!r   c                     t          dg di          }t          |d         j        j        t          j                  sJ |                                }d}||k    sJ d S )Nr?   )ir      iz    x
0 -15
1  20
2  25
3 -35)r	   
issubclassr    typer   integerr*   )r-   r.   outputr0   s       r   test_to_string_int_formattingz;TestToStringNumericFormatting.test_to_string_int_formatting  se    ///011"S'-,bj999996!!!!!!r   c                    t          dddd          5  t          ddddd	d
ddt          j        dg	i          }|                                }t                      rd}nd}||k    sJ t          dddgi          }|                                }d}||k    sJ 	 d d d            n# 1 swxY w Y   t          d          dk    sJ t          dddgi          }|                                }t                      rd}nd}||k    sJ d S )Nr   r\   zdisplay.notebook_repr_htmlFr?   r   g      ?g      @gw2ЀIg    @9Ar   g'?g    .z              x
0  0.00000e+000
1  2.50000e-001
2  3.45600e+003
3  1.20000e+046
4  1.64000e+006
5  1.70000e+008
6  1.25346e+000
7  3.14159e+000
8 -1.00000e+006z             x
0  0.00000e+00
1  2.50000e-01
2  3.45600e+03
3  1.20000e+46
4  1.64000e+06
5  1.70000e+08
6  1.25346e+00
7  3.14159e+00
8 -1.00000e+06  x&1?z#          x
0  3234.000
1     0.253r   g    eAg2U0*?z2               x
0  1.000000e+009
1  2.512000e-001z/              x
0  1.000000e+09
1  2.512000e-01)r   r	   r   pir*   r   r   r   s       r   test_to_string_float_formattingz=TestToStringNumericFormatting.test_to_string_float_formatting  s   (	
 
  	$  	$ q$%"%QUVW B <<>>D!! & %  8####C$/00B<<>>D>H8#####A 	$  	$  	$  	$  	$  	$  	$  	$  	$  	$  	$  	$  	$  	$  	$D -..!3333c6]+,,||~~ 	KMHHJHxs   BB%%B),B)N)	rt   ru   rv   r   r   r   r   r  r  r   r   r   r   r   b  so        	= 	= 	=, , ,6& & &,&" &" &"P" " ",  ,  ,  ,  , r   r   c            	          e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            dd	d
gidfd
dgddgddfd
dgddgddfg          d             Ze
j                            dddgddgddfddgej        dgddfej        d
gdd gdd!gd"d#fg          d$             Ze
j                            d%g d&          d'             Zd( Zd) Ze
j                            d*d+d,g          d-             Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Ze
j                             e            d56          d7             Zd8 Zd9 Z d: Z!d;S )<TestDataFrameToStringc                 h    t          dg di          }d}|                    d          |k    sJ d S )Nr   )g      @g@g@z     A
0  6,0
1  3,1
2  2,2,)decimalr   r   s      r   test_to_string_decimalz,TestDataFrameToString.test_to_string_decimal  sB    ___-..3||C|((H444444r   c                 l    t          dddgi          }|                    d          }d}||k    sJ d S )Nr?   r  r  left)justifyz#   x       
0  3234.000
1     0.253r   r   s       r    test_to_string_left_justify_colsz6TestDataFrameToString.test_to_string_left_justify_cols  sG    dE]+,,||F|++:xr   c                 >   t          t          j        ddddgt          j        ddddgd	          }|                                }d
}||k    sJ t          t          j        ddddgt          j        ddddgd	          }|                                }d}||k    sJ d S )Nr   r   r4   r   r   r   r   r   r   zk        A       B
0     NaN     NaN
1 -1.0000     foo
2 -2.1234   foooo
3  3.0000  fooooo
4  4.0000     barr   r   r7   r   zY     A       B
0  NaN     NaN
1 -1.0     foo
2 -2.0   foooo
3  3.0  fooooo
4  4.0     bar)r	   r   nanr*   r,   s       r   test_to_string_format_naz.TestDataFrameToString.test_to_string_format_na  s    fb'1a0feWh> 
 
   	 !!!!fdD#s3feWh> 
 
  	 !!!!!!r   c                 p    t          ddddgi          }|                                }d|v sJ d|v sJ d S )Nr   r!   r"   r$   z'a': 1z'b': 2r   )r-   r.   vals      r    test_to_string_with_dict_entriesz6TestDataFrameToString.test_to_string_with_dict_entries0  sR    AA../011llnn33r   c                     ddgddgddgg}ddg}t          ||          }t          |t          |                    }|                                |                                k    sJ d S )Nr   r"   r4   	aaaaaaaaar&   r;   )r	   r   r*   )r-   datacolsr.   df_cat_colss        r   'test_to_string_with_categorical_columnsz=TestDataFrameToString.test_to_string_with_categorical_columns7  s|    AAA'S!tT***.>t.D.DEEE||~~!6!6!8!8888888r   c                    t          j        ddt          fg          }t          t	          |                    D ]=}t           j                            d                              |          |d         |<   >t          |          }t          |d                    t          |           |
                                 d S )Nr]   errr   r"   )r   emptyr:   rb   r   r   r   standard_normalr	   r   r*   )r-   arrir.   s       r   test_repr_embedded_ndarrayz0TestDataFrameToString.test_repr_embedded_ndarray@  s    hr5&/!2333s3xx 	H 	HAI11!44DDQGGCJqMMs^^RYR
r   c                 \   t          ddddddddddg          }|                    g d           |                                dk    sJ t          d	d
          5  |                                dk    sJ 	 d d d            n# 1 swxY w Y   |                    d
          dk    sJ d S )Nr   r   zXlet's make this a very VERY long line that is longer than the default 50 character limitr!   r   stuffr}   a:       a    b                                                                                         c  d
0  foo  bar  let's make this a very VERY long line that is longer than the default 50 character limit  1
1  foo  bar                                                                                     stuff  1max_colwidthr   )r(  zk     a    b                    c  d
0  foo  bar  let's make this ...  1
1  foo  bar                stuff  1)r	   r   r*   r   r-   r.   s     r   test_to_string_truncatez-TestDataFrameToString.test_to_string_truncateJ  sE    :  %gA>>	
 
 	___%%%||~~C
 	
 	
 	
 NB// 		 		<<>>G    		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 |||,,2
 	
 	
 	
 	
 	
s   BB	B	input_array, expectedr   r%   zA
ar&   r~   ddr   zA  B
a  c
b ddr!   aazA  B
a aa
1  1c                 \    t          |                              d          }||k    sJ d S NFrp   r   )r-   input_arrayr0   r.   s       r   *test_format_remove_leading_space_dataframez@TestDataFrameToString.test_format_remove_leading_space_dataframeq  s8     {##--E-::X~r   zdata,expectedr"   r4   r   )rm   rn   z)   col1  col2
0     1     3
1     2     4Abcgx&1?gC,@z2    col1    col2
0    Abc     NaN
1  0.756  4.5435g;On?gMbX@r   rl   z8  col1   col2 col3
0  NaN  0.009  Abc
1    a  3.543   23c                 ^    t          |                              d          }||k    sJ d S )N)r  r   )max_rowsr   )r-   r  r0   r/   s       r   test_to_string_max_rows_zeroz2TestDataFrameToString.test_to_string_max_rows_zero~  s<    & %%%///;;!!!!!!r   zmax_cols, max_rows, expected))r]   Nz 0   1   2   3   4   ...  6   7   8   9   10
  0   0   0   0   0  ...   0   0   0   0   0
  0   0   0   0   0  ...   0   0   0   0   0
  0   0   0   0   0  ...   0   0   0   0   0
  0   0   0   0   0  ...   0   0   0   0   0)Nr"   z 0   1   2   3   4   5   6   7   8   9   10
  0   0   0   0   0   0   0   0   0   0   0
 ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..
  0   0   0   0   0   0   0   0   0   0   0)r]   r"   z 0   1   2   3   4   ...  6   7   8   9   10
  0   0   0   0   0  ...   0   0   0   0   0
 ..  ..  ..  ..  ..  ...  ..  ..  ..  ..  ..
  0   0   0   0   0  ...   0   0   0   0   0)	   r"   z 0   1   2   3   ...  7   8   9   10
  0   0   0   0  ...   0   0   0   0
 ..  ..  ..  ..  ...  ..  ..  ..  ..
  0   0   0   0  ...   0   0   0   0)r!   r!   z 0  ...
 0  ...
..  ...c                 p    t          dgdz  gdz            }|                    d||          |k    sJ d S )Nr   r   r   F)rp   max_colsr5  r   )r-   r9  r5  r0   r.   s        r   test_truncation_no_indexz.TestDataFrameToString.test_truncation_no_index  sQ    X bzA~&&LLux(LKKxW	
 	
 	
 	
 	
r   c                     t          ddgddgddgd          }|                    d	          }d
}||k    sJ |g d                             d	          }d}||k    sJ d S )Nr   r   r   iAAAz   r?   r   zFr0  z  x   y   z
11  33 AAA
22 -44    )r   r?   r>  z   y  x   z
 33 11 AAA
-44 22    r   r   s       r   test_to_string_no_indexz-TestDataFrameToString.test_to_string_no_index  s    b"XRIUENKKLL||%|((7x///",,5,997xr   c                    t          dt          j        d          i          }t                      }|                    |           |                                 t                      }|                    |           |                                 |                                }t          |t                    sJ d S )N   σg      $@r   )	r	   r   aranger   r*   getvalueinfo
isinstancerf   )r-   float_framer.   r   r/   s        r   test_to_string_unicode_columnsz4TestDataFrameToString.test_to_string_unicode_columns  s    ")D//233jj
jj
C&&((&#&&&&&&&r   na_repNaNTedc                     t          ddgdd ggddg          }|                    |dj                  }t          d|           }||k    sJ d S )	Nr   g(\?GroupDatar;   r'   )rI  r   zM               Group  Data
             0     A  1.22
             1     A   )r	   r*   r+   r   )r-   rI  r.   r/   r0   s        r   &test_to_string_na_rep_and_float_formatz<TestDataFrameToString.test_to_string_na_rep_and_float_format  s{     fT{3gv=NOOOV(/JJ# # #
 
 !!!!!!r   c                     t          j        d           t          g dg dg dd          }|                    dddd          }|j                                        }t          d	          }||k    sJ d S )
Npyarrow)r   r   bazr}   r3   r=  zstring[pyarrow]zstring[python]zint64[pyarrow]zb            x    string[pyarrow]
            y     string[python]
            z     int64[pyarrow])r   importorskipr	   astypedtypesr*   r   r,   s       r   test_to_string_string_dtypez1TestDataFrameToString.test_to_string_string_dtype  s    I&&&'''oooIIINN
 
 YY#*:AQRR
 
 $$&&$
 
 !!!!!!r   c                     t          dg di          }d}t          j        t          |          5  t	                      }|                    |d d dd           d d d            d S # 1 swxY w Y   d S )Nr%   r3   zoStarting with pandas version 3.0 all arguments of to_string except for the argument 'buf' will be keyword-only.r   T)r	   tmassert_produces_warningFutureWarningr   r*   )r-   r.   r   r   s       r   #test_to_string_pos_args_deprecationz9TestDataFrameToString.test_to_string_pos_args_deprecation  s    YYY'((3 	
 'SAAA 	6 	6**CLLdD$555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   (A&&A*-A*c                     d                                 }t          ddg|g          }t          dd          5  t          |           d d d            d S # 1 swxY w Y   d S )Nu   אr!   r"   r;   zdisplay.max_rows)encoder	   r   r   )r-   nr.   s      r   test_to_string_utf8_columnsz1TestDataFrameToString.test_to_string_utf8_columns  s    OO1vs+++.22 	 	HHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                 n    t          dg i          }t                      }|                    |           d S )NrZ   r	   r   r*   r-   dmr   s      r   test_to_string_unicode_twoz0TestDataFrameToString.test_to_string_unicode_two  s5    
B'((jj
Sr   c                 l    t          dg          }t                      }|                    |           d S )N   Âra  rb  s      r   test_to_string_unicode_threez2TestDataFrameToString.test_to_string_unicode_three  s2    x  jj
Sr   c                     t          g d          }t          t          j        d          |          }|                                }d}||k    sJ d S )N)r   r"   r4   r   r\   r\   r0  z)     0
1.5  0
2.0  1
3.0  2
4.0  3
5.0  4)r
   r	   r   rC  r*   )r-   rp   r.   r/   r0   s        r   test_to_string_with_float_indexz5TestDataFrameToString.test_to_string_with_float_index  sY    '''((ry||5111C!!!!!!r   c           	         t          t          j                            d                              d          t          d t          d          D                       d          }t          j        |j        d ddf<   t          j        |j        d ddf<   |	                                }t                      }|	                    |          }|J |                                |k    sJ t          |t                    sJ |	                    ddgd	d
j                  }|                    d          }|d                                                                         }d                    d |dd          D                       }t%          t          |          |d d          }	t'          j        |	d         |d                    |	d                                         |d                                         k    sJ t          j        |	d                                         |d                                         z
            dk                                     sJ |	                    dgd	          }|                    d          d                                                                         }dg}
||
k    sJ |	                    ddgdd i           |	                    ddgt                     |	                    ddgdt                     t          t          j        d                    }|	                                 d S )Nr"      c                     g | ]}| d S )z?!r   )r   r$  s     r   
<listcomp>z8TestDataFrameToString.test_to_string.<locals>.<listcomp>)  s    999qHHH999r   r   r   r   r   rB     z%.5f)r<   r   r   r   r   c                 ^    g | ]*}t          j        d d|                                          +S )z\s+rk   )resubrS   r   r?   s     r   rm  z8TestDataFrameToString.test_to_string.<locals>.<listcomp>>  s2    NNNqBF632288::NNNr   r!   rk   )namesrq   sepg?)r<   r   c                 
    | dS )Nz.1fr   r@   s    r   rA   z6TestDataFrameToString.test_to_string.<locals>.<lambda>M  s
    1

 r   )r<   r)   )r<   r   r   r0  )r	   r   r   r   r"  r
   rb   r  locr*   r   rD  rF  rf   __mod__r   rS   joinr   rX  assert_series_equalcountabsdropnaallrC  )r-   biggier   r   retvalr/   r   rq   joinedreconsr0   frames               r   test_to_stringz$TestDataFrameToString.test_to_string$  s    Y**1--==cBB99eCjj999:: 
 
  "v
3B38!v
3B38jj!!c!**||~~""""!S!!!!! !!#J"6> " 
 
 T""q!!''))NNE!""INNNOO(6**&3OOO
vc{F3K888c{  ""fSk&7&7&9&99999vc{))++fSk.@.@.B.BBCCcINNPPPPP !!3%2!>>d##A&,,..44665!!!!#s>R>R8STTT#s#>>>#srLLL	#///r   zfix when arrow is default)reasonc                 $   t          dddt          j        ddddddddd	          }|                    g d
          }|                                }d}||k    sJ |                    d          }|                                }d}||k    sJ |                    ddg                              dd          }|                                }d}||k    sJ |                                }t          j        |j        d d df<   |                    d          }|                                }d}||k    sJ |                                }t          j        |j        d d df<   |                    ddg          }|                                }d}||k    sJ t          t          j        ddt          j        ddt          j        dddddd	          }|                    g d
          }|                                }d}||k    sJ d S )N1a39h4)r   r!   d6778d79dr   @   )id1id2id3value)r  r  r  zK             value
id1 id2 id3       
1a3 NaN 78d    123
9h4 d67 79d     64r  zS     id1  id3  value
id2                 
NaN  1a3  78d    123
d67  9h4  79d     64r  r  T)appendzS     id1  id3  value
id2                 
NaN  1a3  78d    123
NaN  9h4  79d     64zO         id1  value
id2 id3            
NaN 78d  1a3    123
    79d  9h4     64zK             value
id1 id2 id3       
NaN NaN NaN    123
9h4 d67 79d     64)r	   r   r  r   r*   copyrv  )r-   r.   r   r/   r0   df2s         r   test_to_string_index_with_nanz3TestDataFrameToString.test_to_string_index_with_nanV  su     U++6e,, U++ R	 
 
 LL...//5 	 !!!! LL9 	 !!!! LL%((2252FF5 	 !!!! ggiiF5MM%  9 	 !!!! ggiiF5MM5%.))7 	 !!!!6e,,6e,,6e,, R	 
 
 LL...//5 	 !!!!!!r   c                     t          ddgddgg          }|                                }|                    d          }t          |d                   t          |d                   k    sJ d S )Nu
   aaÃ¤Ã¤r!   bbbbr"   r   )r	   r*   r   r   )r-   r.   rep_strr   s       r   ,test_to_string_nonunicode_nonascii_alignmentzBTestDataFrameToString.test_to_string_nonunicode_nonascii_alignment  sg    -q1FA;?@@,,..d##58}}E!H------r   c                     t          dt          dt          j        i          i          }t	          |                                           d S )NrZ   test)r	   r   r   r  rf   r*   r)  s     r   &test_unicode_problem_decoding_as_asciiz<TestDataFrameToString.test_unicode_problem_decoding_as_ascii  s?    
FFBF+;$<$<=>>BLLNNr   c                 \   t                      }dgdz  }t          j        |t                    }t	          d|i          }|                    d|           t          |           t          j        }	 d t          _        t          |           |t          _        d S # |t          _        w xY w)NrA  r]   r   unicoder   )	r   r   arrayr:   r	   r*   r   sysstdin)r-   r   unicode_valuesr.   _stdins        r   test_to_string_repr_unicodez1TestDataFrameToString.test_to_string_repr_unicode  s    jj"b.???	>233
rs+++ 	R	CIHHHCIIICIs   4B B+N)"rt   ru   rv   r  r  r  r  r  r%  r*  r   markparametrizer2  r   r  r6  r:  r?  rH  rO  rV  r[  r_  rd  rg  ri  r  xfailr   r  r  r  r  r   r   r   r
  r
    s       5 5 5     #" #" #"J  9 9 9  %
 %
 %
N [C5\6":S$K002DE84),,.@A	
   
 [ Q!Q00=
  "&&1ABBF
 &#PRTTL	
 "" "# ""
 [&'	
 '	
 '	
* *V
 
W* *V
     ' ' ' [Xu~66
" 
" 76
"" " "$
6 
6 
6    
  
" " "/ / /d [1133<WXXK" K" YXK"Z. . .      r   r
  c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zej                            ddddgdfddgdfdddgdfdddgdfddgdfddgdfg	          d              Zd! Zd" Zd# Zd$ Zd% Zd& Zd'S )(TestSeriesToStringc                     t          g d          }|                    d          }d                    g d          }||k    sJ d S )N)r!   r"   r4   r   Fr0  r   )1234)r   r*   rx  r-   serr/   r0   s       r   test_to_string_without_indexz/TestSeriesToString.test_to_string_without_index  sU    \\\""U++9911122!!!!!!r   c                     t          t          d          d          }d|_        |                    dd          }d}||k    sJ |                    dd	          }d
}||k    sJ d S )Nd   int64r   myserr"   T)r5  r   z&0      0
      ..
99    99
Name: myserF0      0
      ..
99    99)r   rb   r   r*   r-   r  r   r   s       r   test_to_string_namez&TestSeriesToString.test_to_string_name  s{    U3ZZw///mmQTm229czmmQUm33,czr   c                     t          t          d          d          }|                    dd          }d}||k    sJ |                    dd          }d	}||k    sJ d S )
Nr  r  r   r"   T)r5  r    z'0      0
      ..
99    99
dtype: int64Fr  r   rb   r*   r  s       r   test_to_string_dtypez'TestSeriesToString.test_to_string_dtype  st    U3ZZw///mmQdm33:czmmQem44,czr   c                     t          t          d          d          }|                    dd          }d}||k    sJ d S )Nr  r  r   r"   T)r5  lengthz&0      0
      ..
99    99
Length: 100r  r  s       r   test_to_string_lengthz(TestSeriesToString.test_to_string_length  sJ    U3ZZw///mmQtm449czr   c                     t          t          d          t          j                  }|                    dd          }d}||k    sJ d S )Nr  )rp   r    r   r"   )rI  r5  z0    foo
      ..
99   foo)r   rb   r   float64r*   r  s       r   test_to_string_na_repz(TestSeriesToString.test_to_string_na_rep  sL    5::RZ888mm51m55,czr   c                     t          t          d          d          }|                    d d          }d}||k    sJ d S )Nr]   r  r   c                 
    | dS )Nz2.1fr   r@   s    r   rA   z@TestSeriesToString.test_to_string_float_format.<locals>.<lambda>  s
    a;; r   r"   )r   r5  z0   0.0
     ..
9   9.0r  r  s       r   test_to_string_float_formatz.TestSeriesToString.test_to_string_float_format  sN    U2YYi000mm)>)>mKK)czr   c                     t          t          d          d          }d|j        _        |                    dd          }d}||k    sJ |                    d	d          }d
}||k    sJ d S )Nr]   r  r   r   Tr"   )rq   r5  zfoo
0    0
    ..
9    9Fz0    0
    ..
9    9)r   rb   rp   r   r*   r  s       r   test_to_string_headerz(TestSeriesToString.test_to_string_header  s}    U2YYg...	mm4!m44+czmm51m55&czr   c                     t          g d          }|                    d          }d}t          j        ||          sJ d S )N) HelloWorldr  r  Mooooor  r  Fr0  z7      
 Hello
 World
      
      
Mooooo
      
      )r   r*   rp  r   r  s       r   test_to_string_empty_colz+TestSeriesToString.test_to_string_empty_col  sL    EEEFFmm%m((NxS!!!!!!!r   c           
      &   t          t          j        ddgd                                                     t          t	          ddd                    }||                    d	          z
  }|                                }d
|v sJ d|vsJ d|v sJ t          t          dd	d	d          gdz            }||z
  }|                                }d|v sJ t          t          dd	d	d	          gdz            }||z
  }|                                }d|v sJ d|v sJ t          t          dd	d	d	d	          gdz            }||z
  }|                                }d|v sJ d|v sJ t          t          dd	d	d	d	d          gdz            }||z
  }|                                }d|v sJ d|v sJ t          dd          }t          t	          ddd                    |z   }||z
  }|                                }d|v sJ t          d          }t          t	          ddd                    |z   }||z
  }|                                }d|v sJ t          t          d
d                    }|                                }|dk    sJ d S )NiL  r   ztimedelta64[ns]r   z2012-1-1r4   Dperiodsfreqr!   z1 daysz00:00:00r   i     )microsecondz-1 days +23:59:59.999850z-1 days +23:00:00z1 days 23:00:00z-1 days +22:59:00z1 days 22:59:00z-1 days +22:58:59.999850z0 days 22:58:59.999850r\   )minutessecondsz-1 days +23:54:57i&  )microsecondsz2012-01-01 23:59:59.999450r  z 0   1 days
1   2 days
2   3 days)	r   r   r  r*   r   shiftr   r   r   )r-   r  r   r/   otds2s          r   test_to_string_timedelta64z-TestSeriesToString.test_to_string_timedelta64  s   rxr
*;<<<==GGIIIZ
AC@@@AA
 #))A,,6!!!!'''' HT1aS999:Q>??!G)V3333 HT1a++,q011!G"f,,,, F****HT1aA../!344!G"f,,,, F****HT1aA3???@1DEE!G)V3333'61111 q!,,,Jz13???@@2E"H"f,,,,C(((Jz13???@@2E"H+v5555 OHa88899=======r   c                   	 t          t          j        dt          j                  t	          ddd                    }t                      }|                                }|                    |          }|J |                                                                |k    sJ dj	        	|                    		          }d
 |
                    d          d d         D             }	fd|D             }||k    sJ |d d                                         }|dk    sJ |d d                             d          }|dk    sJ |                                }d|_        |                    ddd          }|
                    d          d                                         }|dt          |           dk    sJ d S )Nr]   r   z
2020-01-01r   r  r0  rB  z%.4fr   c                 B    g | ]}|                                 d          S )r!   )r   rr  s     r   rm  z5TestSeriesToString.test_to_string.<locals>.<listcomp>H  s$    @@@1!''))A,@@@r   r   r   c                 &    g | ]} |          S r   r   )r   r?   r+   s     r   rm  z5TestSeriesToString.test_to_string.<locals>.<listcomp>I  s!    ***!FF1II***r   r   zSeries([], Freq: B))r  r   T)r  r   r    zFreq: B, Name: foo, Length: z, dtype: float64)r   r   rC  r  r   r   r*   rD  rS   rw  r   r  r   r   )
r-   tsr   r   r  r/   r0   cp	last_liner+   s
            @r   r  z!TestSeriesToString.test_to_string8  s   Ib
+++\2C@@@
 
 
 jjLLNN#&&||~~##%%**** 622@@T(:(:3B3(?@@@****r***!!!! BQB!!##.....BQB!!!++..... WWYYTDAALL&&r*0022	UCGGUUUVVVVVVr   r+  )r%   r%   r%   r&   za
br!   z1
a)r!   r  r   r   z 0
-1)r5   z1.0z az bz a
 bz.1r  z.1
 110z-10z 10
-10c                 `    t          |          }|                    d          }||k    sJ d S r/  )r   r*   )r-   r1  r0   r  r/   s        r   'test_format_remove_leading_space_seriesz:TestSeriesToString.test_format_remove_leading_space_seriesZ  s;      [!!U++!!!!!!r   c                 ~    t          g d          }|                                }t          d          }||k    sJ d S )N)      ?      ?r  y?      ?zS            0    1.00+1.00j
            1    1.00+1.00j
            2    1.05+1.00jr   r*   r   r  s       r   )test_to_string_complex_number_trims_zerosz<TestSeriesToString.test_to_string_complex_number_trims_zerosn  sP    DDDEE
 
 !!!!!!r   c                     |}t          g d|          }|                                }t          d          }||k    sJ d S )N)        r5   Nr   zA            0     0.0
            1     1.0
            2    <NA>r  )r-   float_ea_dtyper    r  r/   r0   s         r   test_nullable_float_to_stringz0TestSeriesToString.test_nullable_float_to_stringy  sZ    %%%U333
 
 !!!!!!r   c                     |}t          g d|          }|                                }t          d          }||k    sJ d S )N)r   r!   Nr   zA            0       0
            1       1
            2    <NA>r  )r-   any_int_ea_dtyper    r  r/   r0   s         r   test_nullable_int_to_stringz.TestSeriesToString.test_nullable_int_to_string  sW     \\\///
 
 !!!!!!r   c                    t          dt          j        ddg          }|                                }d                    g d          }||k    sJ t          dt          j        ddg          }|                                }d                    g d          }||k    sJ t          g d	          }|                                }d                    g d
          }||k    sJ d S )Nr   gGzg=
ףp=@r  )z
0     foo
z
1     NaN
z
2   -1.23
z	3    4.56r   rR  )	0    foo
z	1    NaN
	2    bar
3    baz)r   r\   r   rR  )r  z	1      5
r  r  )r   r   r  r*   rx  r  s       r   test_to_string_mixedz'TestSeriesToString.test_to_string_mixed  s    eRVUD12277UUUVV!!!! eRVUE23377QQQRR!!!!---..77QQQRR!!!!!!r   c                     t          g d          }t          j        |d d d<   |                                }d}||k    sJ d S )N)r  ghs?r6   g      r   r"   z;0       NaN
1    1.5678
2       NaN
3   -3.0000
4       NaN)r   r   r  r*   r  s       r   test_to_string_float_na_spacingz2TestSeriesToString.test_to_string_float_na_spacing  sW    222336CCaC 	 !!!!!!r   c                 R   t          dd          }t          d|          }|                                }d|v sJ t          dt          d          t          g          }t          ||g          }|                                }d	|v sJ t          |j                  }d	|v sJ d S )
N20130102r   r  r!   r0  z
2013-01-02r"   20130111r   )r   r   r*   r   r   r   rf   rp   )r-   rp   r  r/   r  s        r   !test_to_string_with_datetimeindexz4TestSeriesToString.test_to_string_with_datetimeindex  s    :q111Qe$$$v%%%% Ai
33S9:::b#Y RXr   N)rt   ru   rv   r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r   r   r   r  r    s       " " "            " " "7> 7> 7>r W  W  WD [3Z XvWhD\8$C[(#E]J'
	
 " " "	" 	" 	"" " "" " "" " """ " "    r   r  )&r   r   ior   rp  r  textwrapr   numpyr   r   pandas._configr   pandasr   r	   r
   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrX  r   r   rx   r   r   r   r
  r  r   r   r   <module>r     s                				 



            5 5 5 5 5 5                                   ( ( (p" p" p" p" p" p" p" p"f3, 3, 3, 3, 3, 3, 3, 3,l(' (' (' (' (' (' (' ('Vf  f  f  f  f  f  f  f RY  Y  Y  Y  Y  Y  Y  Y x@ @ @ @ @ @ @ @F         r   