
    hD                       d Z ddlmZ ddlmZ ddlm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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 dd	lmZ ddlmc mc mZ   ejB                  g d
      d        Z"ejB                  d        Z#ejB                  d        Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+ G d d      Z,d Z- G d d      Z. G d d      Z/d Z0 G d d      Z1 G d  d!      Z2 G d" d#      Z3 G d$ d%      Z4ejj                  jm                  d&g d'      ejj                  jm                  d(g d)      d*               Z7ejj                  jm                  d&g d'      d+        Z8y),zd
Tests for the file pandas.io.formats.format, *not* tests for general formatting
of pandas objects.
    )datetime)StringIO)PathN)get_terminal_size)using_string_dtype)	DataFrameIndex
MultiIndexNaTSeries	Timestamp
date_range
get_optionoption_contextread_csvreset_option)printing)stringpathlikebuffer)paramsc                     | j                   S )zE
    A fixture yielding test ids for filepath_or_buffer testing.
    )param)requests    HD:\jyotish\venv\Lib\site-packages\pandas/tests/io/formats/test_format.pyfilepath_or_buffer_idr   #   s    
 ==    c              #      K   | dk(  rt               }| |j                  rJ yt        |t              sJ | dk(  r|dz   yt	        |dz         yw)z
    A fixture yielding a string representing a filepath, a path-like object
    and a StringIO buffer. Also checks that buffer is not closed.
    r   r   fooN)r   closed
isinstancer   str)r   tmp_pathbufs      r   filepath_or_bufferr%   +   s]      (j	::~:(D))) J.U""h&''s   AAc                 "     d fd}|S )z;
    Assertion helper for checking filepath_or_buffer.
    utf-8c                     dk(  r't              5 }|j                         }d d d        n-dk(  rj                        }ndk(  rj                         }| k(  sJ y # 1 sw Y   xY w)Nr   )encodingr   r   )openread	read_textgetvalue)expectedfresultr)   r%   r   s      r   !_assert_filepath_or_buffer_equalszKassert_filepath_or_buffer_equals.<locals>._assert_filepath_or_buffer_equalsG   ss     H,(8< =<"j0'1181DF"h.'002F!!! =<s   A##A, )r%   r   r)   r1   s   ``` r    assert_filepath_or_buffer_equalsr3   =   s     " -,r   c                     t        |       }|j                  d      d   j                  d      }|j                  d      d   j                  d      }|xs |S )N
r   z<classz	&lt;class)reprsplit
startswith)dfrc1c2s       r   has_info_reprr=   T   sN    RA	
q		$	$X	.B	
q		$	$\	2B8Or   c                 t    t        |       }t        |       }t        |j                  d            dk(  }|xr |S )Nr5      )r=   r6   lenr7   )r9   has_infor:   nvs       r   has_non_verbose_info_reprrC   [   s8    R HRA 
QWWT]	q	 B?r   c                 b   	 t        j                  t        |       j                         d   j	                               }t        j
                  |dk(        d   d   }t        |       }t        |j                               D ]  \  }}|j	                         |   dk(  r y y# t        $ r Y yw xY w)Nr   ...FT)nparrayr6   
splitlinesr7   where
IndexError	enumerate)r9   fst_linecand_colr:   ix_s         r   has_horizontally_truncated_reprrP   i   s    88DH//1!4::<=88H-.q1!4 	RA1<<>*Awwy"e+ +   s   AB" "	B.-B.c                 |    t        |       }d}|j                         D ]  }t        j                  d|      sd} |S )NFz	^[\.\ ]+$T)r6   rH   rematch)r9   r:   only_dot_rowrows       r   has_vertically_truncated_reprrV   w   s;    RAL||~88L#&L  r   c                 2    t        |       xs t        |       S NrP   rV   r9   s    r   has_truncated_reprr[      s    *2.S2OPR2SSr   c                 2    t        |       xr t        |       S rX   rY   rZ   s    r   has_doubly_truncated_reprr]      s    *2.T3PQS3TTr   c                 l    t        |       }|j                  d      D ]  }|j                  d      s y y)Nr5   \TF)r6   r7   endswith)r9   r:   lines      r   has_expanded_reprrb      s1    RA==  r   c                   2   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d 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.                  j1                  ddd eddd       ej6                  d      g      ej.                  j1                  dddg      ej.                  j1                  dddg      d                      Zd Zej.                  j1                  dd d!g      d"        Zd# Zd$ Z d% Z!ej.                  j1                  d&g d'      d(        Z"d) Z#d* Z$d+ Z%d, Z&d- Z'd. Z(d/ Z)d0 Z*d1 Z+d2 Z,d3 Z-d4 Z.d5 Z/d6 Z0d7 Z1d8 Z2d9 Z3ej.                  j1                  d:d;gd<fd=d>gd?fe4jj                  gd@fdAgdBfd;e4jj                  gdCfdDe4jj                  gdEfdDe4jj                  d;gdFfg dGdHfg      dI        Z6ej.                  j1                  dJdKjn                  dLfdMjn                  dNfg      dO        Z8dP Z9ej.                  j1                  dQg dR      dS        Z:yA)TTestDataFrameFormattingc                 .   d}t        d|      5  t        t        j                  j	                  d      j                  d      t        d      D cg c]:  }dt        j                  j	                  d      j                  |dz
  |dz         z  < c}d      }t        |      }||j                  d      dz   d  }t        j                         }t        |j                  d      |d	         D ])  \  }}|j                  |      dz   |kD  rd
|v r"J d
|vr)J  	 d d d        t        dd      5  d
t              vsJ 	 d d d        t        d|dz         5  d
t              vsJ 	 d d d        y c c}w # 1 sw Y   \xY w# 1 sw Y   CxY w# 1 sw Y   y xY w)N   display.max_colwidth   
   a   ABr5   rn   rE   i?B )r   r   rF   randomdefault_rngstandard_normalrangeintegersr6   findr   get_adjustmentzipr7   r@   )selfmax_lenrO   r9   r:   adjra   values           r   test_repr_truncationz,TestDataFrameFormatting.test_repr_truncation   s   2G<..q1AA"E "'r "+A ))//2;;GaKSTUV!*	B RA!&&,"$%A))+C"1774="S':e775>A%/ D=(= ,,,	  ;! =, 2F;R((( < 2GaK@R((( A@+	 =<, <; A@sC   A E3?E.A>E3E3E3,E?F.E33E<?FFc                     t        dt        d      D cg c]  }t        j                   c}i      }t	        dddd      5  t        |      dk(  sJ 	 d d d        y c c}w # 1 sw Y   y xY w)Nrj   ri   display.max_rowsrh   display.show_dimensionsFz#       a
0   <NA>
..   ...
9   <NA>)r   rr   pdNAr   r6   )rw   rO   r9   s      r   !test_repr_truncation_preserves_naz9TestDataFrameFormatting.test_repr_truncation_preserves_na   s`    U2Y7YbeeY789.3LeT8GGGG UT 8TTs   A
A!!A*c                     t        j                  t        d      5  t        dd      5  	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nz+Value must be a nonnegative integer or NonerS   rg   )pytestraises
ValueErrorr   rw   s    r   %test_max_colwidth_negative_int_raisesz=TestDataFrameFormatting.test_max_colwidth_negative_int_raises   sI     ]]K
   6; <
 
 <;
 
s   A<AA	AAc                    t        ddgddgg      }t        d       t        |      dk(  sJ t        dd      5  t        |      dk(  sJ 	 d d d        t        dd      5  t        |      d	k(  sJ 	 d d d        t        dd       5  t        |      dk(  sJ 	 d d d        y # 1 sw Y   VxY w# 1 sw Y   <xY w# 1 sw Y   y xY w)
N皙?      ?gdisplay.chop_thresholdz#     0    1
0  0.1  0.5
1  0.5 -0.1g?z#     0    1
0  0.0  0.5
1  0.5  0.0g333333?z#     0    1
0  0.0  0.0
1  0.0  0.0)r   r   r6   r   rw   r9   s     r   test_repr_chop_thresholdz0TestDataFrameFormatting.test_repr_chop_threshold   s    c
S$K01-.BxBBBB4c:8FFFF ; 4c:8FFFF ; 4d;8FFFF <; ;: ;: <;s#   B B,B8 B),B58Cc                 f   t        g dg dg      j                  }t        dd      5  t        |      dk(  sJ 	 d d d        t        dd      5  t        |      dk(  sJ 	 d d d        t        dd      5  t        |      d	k(  sJ 	 d d d        y # 1 sw Y   VxY w# 1 sw Y   <xY w# 1 sw Y   y xY w)
N)ri   rf      (   )g|>gdyg&.!>gdyr   r   zm      0             1
0  10.0  8.000000e-10
1  20.0 -1.000000e-11
2  30.0  2.000000e-09
3  40.0 -2.000000e-11g:0yE>zm      0             1
0  10.0  0.000000e+00
1  20.0  0.000000e+00
2  30.0  0.000000e+00
3  40.0  0.000000e+00g|=zm      0             1
0  10.0  8.000000e-10
1  20.0  0.000000e+00
2  30.0  2.000000e-09
3  40.0  0.000000e+00)r   Tr   r6   r   s     r   %test_repr_chop_threshold_column_belowz=TestDataFrameFormatting.test_repr_chop_threshold_column_below   s     (*GHIKK4a88(   9 4d;8(   < 4e<8(   =<% 98 <; =<s#   BB4B'BB$'B0c                     t        dd      5  t        t        j                  j	                  d      j                  d            }dt        |      vsJ 	 d d d        y # 1 sw Y   y xY w)Nmode.sim_interactiveTrh   )ri      r_   )r   r   rF   ro   rp   rq   r6   r   s     r   test_repr_no_backslashz.TestDataFrameFormatting.test_repr_no_backslash   sO    2D9299003CCGLMBtBx''' :99s   AAA'c                    t        ddgdg      }t        ddgt        d            }t        dt        d      t        d            }t        dd      5  t        d	dd
ddddd      5  t        dd      5  t        |      rJ t	        |      rJ t        |      rJ t	        |      sJ t        |      sJ t	        |      sJ 	 d d d        t        dd      5  t        |      rJ t	        |      rJ t        |      rJ t	        |      rJ t        |      sJ t	        |      rJ 	 d d d        d d d        d d d        y # 1 sw Y   ~xY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nhellor   indexcolumnsri   r      r   Tdisplay.max_columnsdisplay.widthrf   r}   r~   display.expand_frame_reprF)r   rr   r   r[   rb   rV   rP   )rw   df_smalldf_widedf_talls       r   test_expand_frame_reprz.TestDataFrameFormatting.test_expand_frame_repr   so   WQC!=GA3b	BG59eAhG2D9%")	 $$?F1(;;;0:::1':::,W5558AAA,W555 G $$?G1(;;;0:::>wGGG09998AAA09999 H%	 :9 GF HG%	 	 :9sV   E&(E5AEEAE)E1E&EEEEE#	E&&E/c                     t        dt        d      t        d            }t        ddddd	d
      5  t        |      rJ t	        |      rJ 	 d d d        y # 1 sw Y   y xY w)Nr     r   r   r   Fr   r   r}   i  )r   rr   r   r[   rb   r   s     r   test_repr_non_interactivez1TestDataFrameFormatting.test_repr_non_interactive  sb     weDk58D"E?A?QSW
 *"---(,,,,	
 
 
s   AAc                   	 d	|j                  d	fd       t        d      }t        j                  ddg      }t	        d||      }t        |      }|j                  d	      d d
 \  }}d|v sJ d|v sJ d|v sJ d|v sJ t	        dd
gdd
gd      }t        |      }|j                  d   |j                  d	      d   v sJ y )N)v   `   *pandas.io.formats.format.get_terminal_sizec                       S rX   r2   terminal_sizes   r   <lambda>zKTestDataFrameFormatting.test_repr_truncates_terminal_size.<locals>.<lambda>!      -r   r   )z%This is a long title with > 37 chars.cat)z,This is a loooooonger title with > 43 chars.dogrk   r   r5   rh   longloooooongerr   r   ))AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBr   )setattrrr   r
   from_tuplesr   r6   r7   r   )
rw   monkeypatchr   r   r9   r0   h1h2df2r   s
            @r   !test_repr_truncates_terminal_sizez9TestDataFrameFormatting.test_repr_truncates_terminal_size  s     "8:O	
 a((@G
 qw7bd#BQ'B||"""{{{{ Aq6aV<=c{{1~d!3A!6666r   c                     dt        t        j                  j                  d      j                  d            }|j	                  dfd       dt        |      vsJ y )N)P      rh   )rk      r   c                       S rX   r2   r   s   r   r   zPTestDataFrameFormatting.test_repr_truncates_terminal_size_full.<locals>.<lambda>A  r   r   rE   )r   rF   ro   rp   r   r"   )rw   r   r9   r   s      @r   &test_repr_truncates_terminal_size_fullz>TestDataFrameFormatting.test_repr_truncates_terminal_size_full;  sT     ryy,,Q/66v>?8:O	
 CG###r   c                 z    t        ddgddgddgddgdgdz  d      }dt        |      v sJ dt        |      vsJ y )	Ni inx  i90  2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarh   )rj   bcderE   z    ...    )r   r"   r   s     r    test_repr_truncation_column_sizez8TestDataFrameFormatting.test_repr_truncation_column_sizeE  s^     e_U^U^U^Z!^
 BCG+++r   c           	         t               \  }}|dk  s|dk  rt        j                  d| d|        d } |d      } |d      }t        dd      5  t        d|d	z        5  t        d
ddd      5  t	         |d            rJ t	         |d            rJ t	        |      rJ t        |      sJ 	 d d d        t        d
ddd      5  t	        |      rJ t        |      rJ 	 d d d        t        d
ddd      5  t	        |      rJ t        |      sJ 	 d d d        d d d        t        ddd
|dz  dd       5   ||dz  d	z
        }t	        |      rJ  ||dz  d	z         }t        j                  |j                                t	        |      sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   BxY w# 1 sw Y   y xY w)Nri   zterminal size too small, z x c                 Z    t        |       D cg c]  }|d }}t        d||      S c c}w )N05dr   )rr   r   )nir   s      r   mkframezGTestDataFrameFormatting.test_repr_max_columns_max_rows.<locals>.mkframeY  s4    ).q2A#wZE2Qu-- 3s   (r?   r   Tr   rh   r}   r   r   r   rf   	   d   r   )r   r   skipr   rb   r]   r[   rV   r   pprint_thing_repr_fits_horizontal_)rw   
term_widthterm_heightr   df6df10r9   s          r   test_repr_max_columns_max_rowsz6TestDataFrameFormatting.test_repr_max_columns_max_rowsT  s   "3"5
K?kB.KK3J<s;-PQ	. ajr{2D9a@#$6;PRST0<<<0<<<05554S999	 U $$6<QSUV  15551#6666	 W $$6;PRTU06668>>> V A&  %"R jAo23,R000jAo23%%b&?&?&AB(,,,) :9TT WV VU A@& ) :9s   G""G
1AF&3G
	F2%G
;F>G
G":AGG"&F/+G
2F;7G
>GG

G	G"G	G""G+c                 f   t        dt        d      i      }dt        |      vsJ d|j                         vsJ t        dt        d      i      }dt        |      v sJ d|j                         v sJ t	        dddd      5  dt        |      v sJ d	t        |      vsJ d
|j                         v sJ d|j                         vsJ 	 d d d        t	        dddd       5  dt        |      v sJ d|j                         v sJ 	 d d d        t	        dddd      5  dt        |      vsJ d|j                         vsJ 	 d d d        t	        dd dd      5  dt        |      vsJ d|j                         vsJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)Nrj   rf   ..=   r}   ri   display.min_rowsr   2  rE   z
<td>2</td>   z5    5z
<td>5</td>)r   rr   r6   _repr_html_r   r   s     r   test_repr_min_rowsz*TestDataFrameFormatting.test_repr_min_rows  s   U2Y'( 48###2>>++++U2Y'( tBxr~~''''.4FJ48###R(((BNN,,,,r~~'7777 K .4FMtBx'''2>>#3333 N
 .4FK48+++r~~'7777 L
 .6H"MtBx'''r~~//// NM# KJ NM
 LK
 NMs1   AF$F$F$F'FFF$'F0c                     t        ddddddddddg      }|j                  g d       t        |      dk(  sJ t        d	d
      5  t        |      dk(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr   barz*uncomfortably long line with lots of stuffrk   )rj   r   r   r   stuffrj   r   r   z     a    b                                           c  d
0  foo  bar  uncomfortably long line with lots of stuff  1
1  foo  bar                                       stuff  1max_colwidthrf   zk     a    b                    c  d
0  foo  bar  uncomfortably lo...  1
1  foo  bar                stuff  1)r   	set_indexr"   r   r   s     r   test_str_max_colwidthz-TestDataFrameFormatting.test_str_max_colwidth  s     E	 %gA>

 	_%2wI
 	
 

 NB/r76   0//s   A""A+c                    t               \  }}d}t        t        ||z              }t        d      }t        ||      }t	        dd      5  t	        dd       5  t	        dd       5  t        |      sJ 	 d d d        d d d        t	        dd      5  t	        dd      5  t        |      sJ 	 d d d        d d d        t        t        ||z              }t        ||      }t	        dd      5  t	        dd       5  t        |      sJ t        |      sJ 	 d d d        d d d        t	        dd       5  t	        dd      5  t        |      sJ 	 d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   fxY w# 1 sw Y   y xY w)	Ng?ri   r   r   Tr}   r   r   )r   rr   intr   r   rb   rP   rV   )rw   r   r   faccolsr   r9   s          r   test_auto_detectz(TestDataFrameFormatting.test_auto_detect  s   "3"5
KSc)*+b	UD12D9 2D9#$94@,R000 A :   2A6#$91=:2>>> > 7
 #kC/01E5B 2A6#$94@,R0008<<<	 A 7   2D9#$91=:2>>> > :' :9@@ :9
 >= 76 A@ 76 >= :9' :9s   GE2%E&4E2<GF
E>,F
48G,F"9FF"G1F:>F.F:G&E/+E22E;	7G>FF

F	GFF""F+	'G.F73F::G	?GGc                    t        g d      }t        t        j                  j	                  d      j                  t        |            |      }t        |      j                  d      }t        |d         }|dd  D ]?  }	 |j                  t        d            }|j                  d      r0t        |      |k(  r?J  y # t        $ r Y 0w xY w)N)abcu   σaaegdvgrh   r5   r   rk   zdisplay.encodingdtype:)r	   r   rF   ro   rp   rq   r@   r6   r7   decoder   AttributeErrorr8   )rw   idxserrsline_lenra   s         r   test_to_string_repr_unicode2z4TestDataFrameFormatting.test_to_string_repr_unicode2  s    01RYY**1-==c#hGM#Y__T"r!u:qrFD{{:.@#AB ??8,4yH,,,  " s    B??	C
Cc                    t        g dg ddg d      }d}t        |      |k(  sJ t        g dg ddg d      }d}t        |      |k(  sJ t        g dg ddg d      }d	}t        |      |k(  sJ t        g dg dd
g d      }d}t        |      |k(  sJ t        g dg ddg d      }d}t        |      |k(  sJ t        g dg ddt        g dd            }d}t        |      |k(  sJ t        g dg ddt        g dd            }d}t        |      |k(  sJ t        j                  g d      }t        g dg dd|      }d}t        |      |k(  sJ t        dddd      5  t        g dg dg dg ddg d       }d!}t        |      |k(  sJ g d"|_        d#}t        |      |k(  sJ 	 d d d        y # 1 sw Y   y xY w)$N   あ	   いいい   う   ええええええrk      i5  r   rj   r   rj   bbr   dddr   ut             a      b
a         あ      1
bb      いいい    222
c         う  33333
ddd  ええええええ      4ut            a       b
a        1       あ
bb     222     いいい
c    33333       う
ddd      4  ええええええ   あああああ   いr   	   えええu            a       b
a    あああああ       あ
bb       い     いいい
c        う       う
ddd    えええ  ええええええr   r	  u~             b  あああああ
a         あ      1
bb      いいい    222
c         う  33333
ddd  ええええええ      4	   あああu   いいいいいい   うう   えu               a       b
あああ     あああああ       あ
いいいいいい      い     いいい
うう          う       う
え         えええ  ええええええr   r
  r  r     おおおおnameu             a       b
おおおお               
あ     あああああ       あ
い         い     いいい
うう        う       う
え       えええ  ええええええr  r
  r   u   えええええr   r   r   u   ええr  u   いいいいいr   r   r  r     おu          あああ いいいいい
お               
あ      あああ     あ
いいい      い   いいい
うう       う     う
え    えええええ    ええ)r      いい)r   r  )u	   おおおu   かかかか)u   きu   くくu                 a       b
あ   いい    あああああ       あ
う   え         い     いいい
おおお かかかか      う       う
き   くく      えええ  ええええええr}      r   r  u   かu	   きききu   くくくくくくu   さu   しu   すu   せrj   r   r   u   ああああr   u           a  ... ああああ
0   あああああ  ...    さ
..    ...  ...  ...
3     えええ  ...    せ

[4 rows x 4 columns]r     いいいいr   aaau            a  ... ああああ
あああ  あああああ  ...    さ
..     ...  ...  ...
aaa    えええ  ...    せ

[4 rows x 4 columns])r   r6   r	   r
   r   r   r   rw   r9   r.   r   s       r   test_east_asian_unicode_falsez5TestDataFrameFormatting.test_east_asian_unicode_false  sr    CJ\])

- 	
 Bx8### $+\])

- 	
 Bx8### CF *
3 	
 Bx8### F#5 *
- 	
 Bx8### CF G
8 	
 Bx8### CF 7nM
6 	 Bx8### K#H =EJ
/ 	 Bx8### $$a
 CF 
> 	 Bx8### .3H!LGJJ$@	 8B) 
 8x'''BBH) 
 8x'''1 MLLs   :A
GGc           	      H   t        dd      5  t        g dg ddg d      }d}t        |      |k(  sJ t        g dg ddg d      }d	}t        |      |k(  sJ t        g d
g ddg d      }d}t        |      |k(  sJ t        g dg ddg d      }d}t        |      |k(  sJ t        g d
g ddg d      }d}t        |      |k(  sJ t        g d
g ddt        g dd            }d}t        |      |k(  sJ t        g dg ddt        g dd            }d}t        |      |k(  sJ t	        j
                  g d      }t        g d
g dd|      }d}t        |      |k(  sJ t        dddd      5  t        g d
g dg dg d d!g d!"      }d#}t        |      |k(  sJ g d$|_        d%}t        |      |k(  sJ 	 d d d        t        g d&g ddg d'      }d(}t        |      |k(  sJ 	 d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w))N display.unicode.east_asian_widthTr   r  r  r  r  u                   a      b
a              あ      1
bb         いいい    222
c              う  33333
ddd  ええええええ      4u            a             b
a        1            あ
bb     222        いいい
c    33333            う
ddd      4  ええええええr  u                 a             b
a    あああああ            あ
bb           い        いいい
c            う            う
ddd      えええ  ええええええr  u                   b  あああああ
a              あ           1
bb         いいい         222
c              う       33333
ddd  ええええええ           4r  u                          a             b
あああ        あああああ            あ
いいいいいい          い        いいい
うう                  う            う
え                えええ  ええええええr  r  r  u                      a             b
おおおお                          
あ        あああああ            あ
い                い        いいい
うう              う            う
え            えええ  ええええええr  r  r  r  r  u               あああ いいいいい
お                           
あ          あああ         あ
いいい          い     いいい
うう            う         う
え      えええええ       ええr  u                             a             b
あ     いい      あああああ            あ
う     え                い        いいい
おおお かかかか          う            う
き     くく          えええ  ええええええr}   r  r   r  r  r  r   u                a  ... ああああ
0   あああああ  ...       さ
..         ...  ...      ...
3       えええ  ...       せ

[4 rows x 4 columns]r!  u                    a  ... ああああ
あああ  あああああ  ...       さ
...            ...  ...      ...
aaa         えええ  ...       せ

[4 rows x 4 columns])r   r      ¡¡r   )rj   r  r   u   ¡¡¡u                   b  あああああ
a              あ           1
bb         いいい         222
c              ¡¡       33333
¡¡¡  ええええええ           4)r   r   r6   r	   r
   r   r   r$  s       r   test_east_asian_unicode_truez4TestDataFrameFormatting.test_east_asian_unicode_true  s   >EGN`a-B
1 
 8x''' (/`a-B
1 
 8x''' GJ .B9  8x''' J'9 .B6  8x''' GJ KBC  8x''' GJ ;.QB?  8x''' !O'L ANB8  8x''' ((eC GJ BH  8x'''   2A7LaPKNN(D	 <-  Bx8+++F-  Bx8+++9 Q> K'9 1B9  8x'''e FEJ QPK FEs%   E:HA
H0HH	HH!c                     t               }t        dt        t              i      }t        dt        g d      i      }t	        ||       t	        ||       |j                          y )Nu   c/σdtype)rk   rh   r  )file)r   r   r   objectprintr-   )rw   r$   emptynonemptys       r   !test_to_string_buffer_all_unicodez9TestDataFrameFormatting.test_to_string_buffer_all_unicode9  sP    j:vF';<=j&*;<=e#hS! 	r   index_scalar
aaaaaaaaaark   i  z
2020-01-01hri   rf   wc           
      F   t        dd      5  t        |g|z  t        |      D cg c]  }t        |      dz   c}      }t        dd      5  |dk(  rt	        |      sJ t	        |      rJ d d d        t        dd      5  |dk(  rt        |      sJ t        |      rJ d d d        t        dddd      5  |dk(  r|dk(  rt        |      sJ t        |      rJ d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   ^xY w# 1 sw Y   /xY w# 1 sw Y   y xY w)	Nr   Fri   r   r}      rf   r   )r   r   rr   r"   rV   rP   r]   )rw   r3  r5  r6  r   r9   s         r   test_to_string_truncate_indicesz7TestDataFrameFormatting.test_to_string_truncate_indicesE  s    7?#nq(a2Q13q6B;2QB   2B778<<<<R@@@	 8
   5r:7:2>>>>rBBB	 ;
   2B8MrR7qBw4R8888<<<	 S @?2Q77
 ;:
 SR @?sc   DC.D C3.D C?"D8%DD.D3C<	8D?D	DD	DD c                     g dg dg}t        ||      }t        dddd      5  t        |      sJ 	 d d d        y # 1 sw Y   y xY w)Nr   r   bazr<  r   r   quxr=  onetwor?  r@  r?  r@  r?  r@  r   r}   r   r   )r   r   r]   )rw   arraysr9   s      r   "test_to_string_truncate_multilevelz:TestDataFrameFormatting.test_to_string_truncate_multilevele  sH    DD
 VV4.3H!L,R000 MLLs	   <Ar,  r.  zdatetime64[us]c                     t        t        ddd      gdz  t        ddd      gz   t        ddd      gdz  z   |      }t        dd	      5  t        |      }d d d        |v sJ y # 1 sw Y   xY w)
Ni  rk   ri   i  rh   r  r+  r}      )r   r   r   r"   )rw   r,  r   r0   s       r   #test_truncate_with_different_dtypesz;TestDataFrameFormatting.test_truncate_with_different_dtypesn  s     dAq!"R'a#$%a#$r)* 	
 .2XF 3 32s   
A%%A.c                     t        ddgd gdz  z   it              }t        dddd      5  t        |      }d	|v sJ d
|vsJ 	 d d d        y # 1 sw Y   y xY w)Ntextz
some wordsr   r+  r}   rD  r   r  NoneNaN)r   r.  r   r"   rw   r9   r0   s      r   $test_truncate_with_different_dtypes2z<TestDataFrameFormatting.test_truncate_with_different_dtypes2  sb    $! ;<FK.3H!LWFV###&&& MLLs   AAc                     t        dt        d      i      }t        j                  |gdgddg      }t	        |      }t	        |j
                  d d       }|j                  |      sJ y )NValsr   Sweepr	   )keysnamesr   )r   rr   r   concatr6   ilocr8   )rw   r9   framer0   result2s        r   .test_truncate_with_different_dtypes_multiindexzFTestDataFrameFormatting.test_truncate_with_different_dtypes_multiindex  sa    c
+,		2$gYw6HIeuzz"1~&  )))r   c                 @   t        dt        d      j                  d      gt        gdz  z   i      }t	        dd      5  t        |      }d|v sJ d|v sJ d|v sJ d	|v sJ 	 d d d        t        d
d      gdz  t        gdz  z   }t        |g dd      }t	        dd      5  d}t        |      |k(  sJ 	 d d d        t        gdz  t        d
d      gdz  z   }t        |g dd      }t	        dd      5  d}t        |      |k(  sJ 	 d d d        t        d
d      gdz  t        d
d      gdz  z   }t        |g dd      }t	        dd      5  d}t        |      |k(  sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   y xY w)Ndate20130101UTCr   r}   z2013-01-01 00:00:00+00:00r   rE   z[6 rows x 1 columns]
2011-01-01z
US/Eastern)tz)
rk   rh   r  r   r   r?   r   rD  r   ri   )dtxz                          dt   x
0  2011-01-01 00:00:00-05:00   1
1  2011-01-01 00:00:00-05:00   2
..                       ...  ..
8                        NaT   9
9                        NaT  10

[10 rows x 2 columns]z                          dt   x
0                        NaT   1
1                        NaT   2
..                       ...  ..
8  2011-01-01 00:00:00-05:00   9
9  2011-01-01 00:00:00-05:00  10

[10 rows x 2 columns]z
Asia/Tokyoz                           dt   x
0   2011-01-01 00:00:00+09:00   1
1   2011-01-01 00:00:00+09:00   2
..                        ...  ..
8   2011-01-01 00:00:00-05:00   9
9   2011-01-01 00:00:00-05:00  10

[10 rows x 2 columns])r   r   tz_localizer   r   r"   r6   )rw   r9   r0   dtsr.   s        r   test_datetimelike_framez/TestDataFrameFormatting.test_datetimelike_frame  s   :!6!B!B5!I JcUUVY VWX.2WF.&888F?"?F?"?)V333 3 ,781<uqyHc(GHI.2(  8x''' 3 eai9\lCDqHHc(GHI.2(  8x''' 3 ,781<l|4@
@  c(GHI.2(  8x''' 32O 32 32 32  32s/   $E/#E<7FF/E9<FFF
start_datez2017-01-01 23:59:59.999999999z2017-01-01 23:59:59.99999999z2017-01-01 23:59:59.9999999z2017-01-01 23:59:59.999999z2017-01-01 23:59:59.99999z2017-01-01 23:59:59.9999c                     t        dt        |dd      i      }t        |      }||v sJ t        |dd      }t        dt        d      i|      }t        |j                        }||v sJ y )Nrm   Dr   startfreqperiodsr  )r   r   r"   rr   r   )rw   ra  r9   r0   dtis        r    test_datetimeindex_highprecisionz8TestDataFrameFormatting.test_datetimeindex_highprecision  sp     ZjsANOPRV###zQ?U1Xc2RXXV###r   c                 h     |dddd      }t        |d d      }t        |       t        |d          y )Nioparserdatazunicode_series.csvlatin1)headerr)   rk   )r   r6   )rw   datapathfilepathr9   s       r   test_string_repr_encodingz1TestDataFrameFormatting.test_string_repr_encoding  s3    D(F4HIhth?RRUr   c                 r    t        dt        j                   t        j                  gi      }t        |       y )Nr   )r   rF   infr6   r   s     r   test_repr_cornerz(TestDataFrameFormatting.test_repr_corner  s'    012Rr   c                     ddg}t        dd      5  t        g d|      }t        |       t        |j                         d d d        y # 1 sw Y   y xY w)Nz'Til There Was You (1997)zldum klaka (Cold Fever) (1994)r}   rk   r   )r   r   )r   r   r6   r   )rw   r   r9   s      r   test_frame_info_encodingz0TestDataFrameFormatting.test_frame_info_encoding  sB    ,.NO.2?%@BHJ 322s   0A

Ac                    t        dddddd      5  t        d      }t        dg|dz
  z  gdz        }t        d	d
      5  t        |      }d d d        d|dz
   dv sJ t        d	d      5  t        |      }d d d        |k7  sJ t        dd      5  t        |      }t	        |      t	        |      k  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   _xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nr   Tr~   r   rf   aaaaaaaaaaaaaaaaaaaaaaaaark   ri   r   Fz
10 rows x z columnsr   x   )r   r   r   r6   r@   rw   max_colsr9   rep_str	wide_repr
wider_reprs         r   test_wide_reprz&TestDataFrameFormatting.test_wide_repr  s   "%!
 ""78HXJ(Q,782=>B ;UCr( D  1~X6'AAA ;TB H	 Ci'''5!"X
:Y777 6%
 
 DC CB 65%
 
sR   .C.C
!C.,C8C.%C"9C.
C	C.C	C."C+	'C..C7c                    t        dddd      5  t        t        j                  j	                  d      j                  d      g d      }t        |      }t        |j                               dk(  sJ 	 d d d        y # 1 sw Y   y xY w)	Nr   Tr   rf   rh   )r   r  )ZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbZccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccr   )	r   r   rF   ro   rp   rq   r6   r@   rH   )rw   r9   r~  s      r   test_wide_repr_wide_columnsz3TestDataFrameFormatting.test_wide_repr_wide_columns	  sq    2D:OQST		%%a(88@6B 2hGw))+,222 UTTs   A%A>>Bc                 <   t        dddd      5  t        d      }t        dg|dz
  z  gdz        }d|j                  _        t        d	d
      5  t        |      }d d d        t        d	d      5  t        |      }d d d        k7  sJ t        dd      5  t        |      }t        |      t        |      k  sJ 	 d d d        |j                         dd d   D ]  }d|v rJ  	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   LxY w# 1 sw Y   y xY w)Nr   Tr   rf   rz  rk   ri   zDataFrame Indexr   Fr         )r   r   r   r   r  r6   r@   rH   )rw   r}  r9   r~  r  r  ra   s          r   test_wide_repr_namedz,TestDataFrameFormatting.test_wide_repr_named  s   2D:OQST!"78HXJ(Q,782=>B-BHHM ;UCr( D ;TB H	 Ci'''5!"X
:Y777 6 ",,.qu"u5(D000 6 UT DCBB 65 UTsY   ?DC.D.C::D%D;%D!D.C7	3D:D	?DD	DDc                 ~   t        dddd      5  t        j                  dgdz  gdz        }t        d      }t	        dg|d	z
  z  gdz  |
      }ddg|j
                  _        t        dd      5  t        |      }d d d        t        dd      5  t        |      }d d d        k7  sJ t        dd      5  t        |      }t        |      t        |      k  sJ 	 d d d        |j                         d	d d   D ]  }d|v rJ  	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   LxY w# 1 sw Y   y xY w)Nr   Tr   rf   aaaaari   rh   rz  rk   r  Level 0Level 1r   Fr   r  r  zLevel 0 Level 1)
r   r
   from_arraysr   r   r   rP  r6   r@   rH   )rw   midxr}  r9   r~  r  r  ra   s           r   test_wide_repr_multiindexz1TestDataFrameFormatting.test_wide_repr_multiindex%  s6   2D:OQST))G9r>*:Q*>?D!"78HXJ(Q,782=TJB'3BHHN ;UCr( D ;TB H	 Ci'''5!"X
:Y777 6 ",,.qu"u5(D000 6 UT
 DCBB 65 UTsZ   A D3/D;D3DD36%D'%D3D3D	D3D$	 D3'D0	,D33D<c                    t        dddd      5  t        d      }t        j                  dgdz  gdz        }t        j                  dg|d	z
  z  gdz        }t	        d
g|d	z
  z  gdz  ||      }ddg|j
                  _        t        dd      5  t        |      }d d d        t        dd      5  t        |      }d d d        k7  sJ 	 d d d        t        dddd      5  t              }t        |      t              k  sJ 	 d d d        y # 1 sw Y   vxY w# 1 sw Y   bxY w# 1 sw Y   ^xY w# 1 sw Y   y xY w)Nr   Tr   rf   r  ri   rh   bbbrk   cccccccccccccccccccccccccr   r  r  r   Fr   r  )	r   r   r
   r  r   r   rP  r6   r@   )rw   r}  r  mcolsr9   r~  r  r  s           r   test_wide_repr_multiindex_colsz6TestDataFrameFormatting.test_wide_repr_multiindex_cols8  s;   2D:OQST!"78H))G9r>*:Q*>?D**WIA,F+G!+KLEx!|,-2$B (3BHHN ;UCr( D ;TB H	 Ci''' U OS2GLbJz?S^333 ML DCBB UT MLsH   BD)DD)0D<D)"%D5D	D)D&	"D))D25D>c                    t        dddd      5  d}t        dgdz  g|dz
  z        }t        dd	      5  t        |      }d d d        t        dd      5  t        |      }d d d        k7  sJ t        d
d      5  t        |      }t        |      t        |      k  sJ 	 d d d        d d d        y # 1 sw Y   sxY w# 1 sw Y   _xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nr   Tr   rf   rz  ri   rk   r   Fr   r  )r   r   r6   r@   r|  s         r   test_wide_repr_unicodez.TestDataFrameFormatting.test_wide_repr_unicodeK  s    2D:OQSTHXJO,1=>B ;UCr( D ;TB H	 Ci'''5!"X
:Y777 6 UT DCBB 65 UTsR   %CB2 CB> C;%C
!C2B;	7C>C	C
C	CCc                     t        dd      5  t        ddgddgd      }t        |      }d|v sJ d	|v sJ 	 d d d        y # 1 sw Y   y xY w)
Nr   TaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbFccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccPddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddr  cccccddddd)r   r   r6   rJ  s      r    test_wide_repr_wide_long_columnsz8TestDataFrameFormatting.test_wide_repr_wide_long_columnsY  sW    2D9(H!5Xx<PQRB"XFf$$$f$$$ :99s   *AA
c           	      "   d}t        t        j                  j                  d      j	                  dd|      t        |      D cg c]  }d|d
 c}d      }t        |      }t        t        j                  d	|            }|d
k(  sJ y c c}w )Nr   rh   i2   s04dint64)r   r,  r,  rk   )
r   rF   ro   rp   rs   rr   r"   r@   rR   findall)rw   r   r]  r  str_repnmatchess         r   test_long_seriesz(TestDataFrameFormatting.test_long_seriesa  s    II!!!$--c2q9(-a11Qqg;1
 a&rzz'7341}} 2s   B
c                 6    dg}t        |      }t        |       y )N)z0  z#                        .gitignore z     5 u    â¢â¢â¢â¢â¢r   r6   )rw   rn  r9   s      r   test_to_string_ascii_errorz2TestDataFrameFormatting.test_to_string_ascii_errorm  s"    
 t_ 	Rr   c                    t        dt        dd      t        d            }t        ddddd	d
dddd
      5  dt        |      v sJ d|j	                         v sJ 	 d d d        t        ddddd	d
dddd
      5  dt        |      vsJ d|j	                         vsJ 	 d d d        t        ddddd	d
dddd
      5  dt        |      v sJ d|j	                         v sJ 	 d d d        t        ddddd	d
dddd
      5  dt        |      vsJ d|j	                         vsJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   cxY w# 1 sw Y   y xY w)N{   ri   r8  r   r   r}   r   r   r   i  r   infor~   Tz5 rowsFrh   truncate)r   rr   r   r"   r   r   s     r   test_show_dimensionsz,TestDataFrameFormatting.test_show_dimensions{  s   s%B-rC!'%
 s2w&&&r~~////
 !'%
 3r7***2>>#3333
 !'%
 s2w&&&r~~////
 !'%
 3r7***2>>#3333
 
U
 

 

 

 
s/   $D'7$D38$D?9$E'D03D<?EEc                    t               \  }}d}dt        |d      dz
  dz  z   }|dz   |dz
  }}t        t        j                  |      D ci c]  }|t        j                  dd|z          c}      }t        |      sJ t        dd      5  t        |      sJ 	 d d d        |dz
  |dz   }}t        t        j                  |      D ci c]  }|t        j                  dd|z          c}      }t        |      sJ t        ddd|      5  t        |      sJ 	 d d d        y c c}w # 1 sw Y   xY wc c}w # 1 sw Y   y xY w)	N<   rf   r   r   rk   display.large_reprr  r   )	r   maxr   rF   arangerV   r   r=   rP   )	rw   r   r   max_rowsr}  r5  r6  kr9   s	            r   test_info_reprz&TestDataFrameFormatting.test_info_repr  sB    #4"5
KZ,r1a77!|X\1		!E1299QA..EF,R0000&9 $$$ : !|X\1		!E1299QA..EF.r222 &*?
 !$$$
 
 F99
 F
 
s$   !D$D)	!D5D:)D2:Ec                 >   t        t        j                  j                  d      j	                  d            }t        dddddd      5  t        |      sJ 	 d d d        t        dddddd	      5  t        |      rJ 	 d d d        y # 1 sw Y   1xY w# 1 sw Y   y xY w)
Nrh   )ri   r   r  r  r   rk   zdisplay.max_info_columnsr   r   )r   rF   ro   rp   rq   r   rC   r   s     r   test_info_repr_max_colsz/TestDataFrameFormatting.test_info_repr_max_cols  s    ryy,,Q/??HI !&
 -R000
  !&
 14444
 

 

 
s   B/BBBc                 P     G d d      }t         |       g      }t        |       y)z<
        If the test fails, it at least won't hang.
        c                       e Zd Zd Zy)BTestDataFrameFormatting.test_pprint_pathological_object.<locals>.Ac                      y)Nr  r2   )rw   keys     r   __getitem__zNTestDataFrameFormatting.test_pprint_pathological_object.<locals>.A.__getitem__      r   N)__name__
__module____qualname__r  r2   r   r   rm   r    s    r   rm   Nr  )rw   rm   r9   s      r   test_pprint_pathological_objectz7TestDataFrameFormatting.test_pprint_pathological_object  s#    
	 	 uRr   c                     g d}d}t        t        d|i            j                  d      d d D ]0  }|j                  d      rt	               rd|v s|s
J d|v s|sJ d	}2 y )
Ng  J\aiBg  if Bg  
Z{Bg  Bg  ŉ*BTrm   r5   r   +010+10F)r6   r   r7   r8   _three_digit_exp)rw   valsr   ra   s       r   test_float_trim_zerosz-TestDataFrameFormatting.test_float_trim_zeros  ss    
 C;/066t<SbADx(!$4//$..D Br   zdata, expected3.50z0    3.50
dtype: objectg333333?z1.00z!0     1.2
1    1.00
dtype: objectz0   NaN
dtype: float64Nz0    None
dtype: objectz!0    3.50
1     NaN
dtype: object      @z 0    3.5
1    NaN
dtype: float64z+0     3.5
1     NaN
2    3.50
dtype: object)r  Nr  z+0     3.5
1    None
2    3.50
dtype: objectc                 V    t        |d|v rt        nd       }t        |      }||k(  sJ y )Nr  r+  )r   r.  r6   )rw   rn  r.   using_infer_stringseriesr0   s         r   test_repr_str_float_truncationz6TestDataFrameFormatting.test_repr_str_float_truncation  s/     fnF$Gf!!!r   zfloat_format,expectedz{:,.0f}z!0   1,000
1    test
dtype: objectz{:.4f}z)0   1000.0000
1        test
dtype: objectc                     t        ddg      }t        d|      5  t        |      }d d d        |k(  sJ y # 1 sw Y   xY w)Ng     @@testzdisplay.float_formatr   r   r6   )rw   float_formatr.   r9   r0   s        r   $test_repr_float_format_in_object_colz<TestDataFrameFormatting.test_repr_float_format_in_object_col  sG     VV$%2LA"XF B !!! BAs   6?c           
      4   t        t        j                  ddd      t        j                  dd      t        j                  dd      t        j                  d	d
      t        j                  dd      gt	        d      d      }d}t        |      |k(  sJ y )N2013-01r   Mrh  rg  2011-01rg  
2011-02-01rd  2011-03-01 09:00r5  z2011-04abcd)rm   rn   Cz         A                 B  C
0  2013-01           2011-01  a
1  2013-02        2011-02-01  b
2  2013-03  2011-03-01 09:00  c
3  2013-04           2011-04  d)r   r   period_rangePeriodlistr"   )rw   r9   exps      r   test_periodz#TestDataFrameFormatting.test_period)  s    __YDIIic2IIl5II0s;IIic2	 &\	
. 	 2w#~~r   z$length, max_rows, min_rows, expected))ri   ri   ri   ri   )ri   ri   Nri   )ri   rD  NrD  )rf   r   ri   r   )r  r   ri   ri   )r   r  ri   ri   )r  r  ri   r  )r   r  ri   ri   c                     t        j                  t        t        j                  j                  d      j	                  |df            ||      }|j                  }||k(  sJ y)zCheck that display logic is correct.

        GH #37359

        See description here:
        https://pandas.pydata.org/docs/dev/user_guide/options.html#frequently-used-options
        rh   r  )r  min_rowsN)fmtDataFrameFormatterr   rF   ro   rp   max_rows_fitted)rw   lengthr  r  r.   	formatterr0   s          r   test_max_rows_fittedz,TestDataFrameFormatting.test_max_rows_fitted@  s[    * **bii++A.55vqkBC
	
 **!!!r   );r  r  r  r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r%  r)  r2  r   markparametrizer   r   r  r9  rB  rE  rK  rU  r`  rj  rs  rv  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rF   nanr  formatr  r  r  r2   r   r   rd   rd      s   )<HG@(
:@	-7>$,+-Z!0F4?:-Y(vt(l
 [[dAq!BIIl#		
 [[S2r(+[[S2r(+= , ,=*1 [[Wx1A&BC D '*5(n [[	

$
$
8.31$1&4&8%
:4x%.56
$ [[X12F^BCffX01V/0bffDEBFF^ABBFFF#%UV!#ST		
"" [[DE__KL	
"". [[.		
""r   rd   c                  z    t        dgdz        } t        dgdz        }t        g d      }|d d d   }| |||d}|S )Nrj   r   ab)rj   r  r   r  abcdeabcdefr   )oneltwolascdesc)r   )s1s2s3s4	test_serss        r   gen_series_formattingr  ^  sN    		B		B	=	>B	DbDBRB?Ir   c                   B   e Zd Zd Zd Zej                  j                   e       d      d        Z	d Z
ej                  j                  dg d      d	        Zd
 Zd Zd Zd Zd Zej                  j                   e       d      d        Zd Zd Zd Zd Zd Zy)TestSeriesFormattingc                     t        t        j                  j                  d      j	                  d      t        dd      d      }t        |      }d|v sJ y )Nrh   ri   z1/1/2000)rh  r   r   r  zFreq: D, Name: 0)r   rF   ro   rp   rq   r   r6   )rw   r  r0   s      r   test_freq_name_separationz.TestSeriesFormatting.test_freq_name_separationh  sO    II!!!$44R8Z4
 a!V+++r   c                 p    t        ddgd      }t        j                  |d      }|j                          y )Nrk   rh   u
   עבריתr  )r   r  SeriesFormatter_get_footer)rw   r  sfs      r   test_unicode_name_in_footerz0TestSeriesFormatting.test_unicode_name_in_footerr  s0    Aq6 @A  )IJ
r   zFixup when arrow is default)reasonc           	         t        g dg d      }dj                  g d      }t        |      |k(  sJ t        g dg d      }dj                  g d      }t        |      |k(  sJ t        g dg d      }dj                  g d	      }t        |      |k(  sJ t        g dg dd
      }d}t        |      |k(  sJ t        j                  g d      }t        g d|      }d}t        |      |k(  sJ t        g dddt
        j                  dg      }d}t        |      |k(  sJ t        g dddt        d      dg      }d}t        |      |k(  sJ t        dd      5  t        g dd
      }d}t        |      |k(  sJ g d|_	        d}t        |      |k(  sJ 	 d d d        t        dd      5  t        g dg d      }d}t        |      |k(  sJ t        g dg d      }d}t        |      |k(  sJ t        g dg d      }d}t        |      |k(  sJ t        g dg dd
      }d }t        |      |k(  sJ t        j                  g d      }t        g d|      }d!}t        |      |k(  sJ t        g dddt
        j                  dg      }d"}t        |      |k(  sJ t        g dddt        d      dg      }d#}t        |      |k(  sJ t        dd      5  t        g dd
      }d$}t        |      |k(  sJ g d|_	        d%}t        |      |k(  sJ 	 d d d        t        g d&g d'      }d(}t        |      |k(  sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   CxY w# 1 sw Y   y xY w))N)rj   r  CCCrd  )r   r  	   ううう   ええええr   )u   あ         a
u   いい       bb
u   ううう     CCC
u!   ええええ      D
dtype: objectr  )u   a         あ
u   bb       いい
u   c       ううう
u   ddd    ええええ
dtype: object)   ああr"  r   r  )u   ああ         あ
u   いいいい      いい
u   う        ううう
u   えええ     ええええ
r  u   おおおおおおおr  u   ああ         あ
いいいい      いい
う        ううう
えええ     ええええ
Name: おおおおおおお, dtype: objectr  )rk      i  i  uv   あ    いい          1
う    え          22
おおお  かかかか     3333
き    くく      44444
dtype: int64rk   ABr  uF   1          1
AB        22
NaN     3333
あああ    44444
dtype: int64rZ  u   1                          1
AB                        22
2011-01-01 00:00:00     3333
あああ                    44444
dtype: int64r}   r  r  u]   0       あ
     ... 
3    ええええ
Name: おおおおおおお, Length: 4, dtype: objectum   ああ        あ
       ... 
えええ    ええええ
Name: おおおおおおお, Length: 4, dtype: objectr'  TuW   あ            a
いい         bb
ううう      CCC
ええええ      D
dtype: objectuW   a            あ
bb         いい
c        ううう
ddd    ええええ
dtype: objectuu   ああ              あ
いいいい        いい
う            ううう
えええ      ええええ
dtype: objectu   ああ              あ
いいいい        いい
う            ううう
えええ      ええええ
Name: おおおおおおお, dtype: objectu   あ      いい            1
う      え             22
おおお  かかかか     3333
き      くく        44444
dtype: int64uO   1             1
AB           22
NaN        3333
あああ    44444
dtype: int64u   1                          1
AB                        22
2011-01-01 00:00:00     3333
あああ                 44444
dtype: int64ud   0          あ
       ...   
3    ええええ
Name: おおおおおおお, Length: 4, dtype: objectux   ああ            あ
            ...   
えええ    ええええ
Name: おおおおおおお, Length: 4, dtype: object)r(  u   い¡¡r  r  )r  u   ¡¡¡¡いいr(  r  uz   ああ              ¡¡
¡¡¡¡いい        い¡¡
¡¡            ううう
えええ      ええええ
dtype: object)
r   joinr6   r
   r   rF   r  r   r   r   )rw   r  r.   r   s       r   test_east_asian_unicode_seriesz3TestSeriesFormatting.test_east_asian_unicode_seriesw  s?   
 *2`a77
 Aw(""" AI`a77
 Aw(""" :@
 77
 Aw(""" :@(
U 	 Aw(""" $$a
 's35 	 Aw(""" '4/MNX 	 Aw("""  D)L2I;(W
? 	 Aw(""" .2ELcdAH 
 7h&&&DAGH 
 7h&&&! 3& >E'DA
5  7h&&& >-A
5  7h&&&>DA
=  7h&&& >D,A=  7h&&& ((eC +37A  7h&&& +AtRVV[3QRA3  7h&&& $$	, 7EA
@  7h&&&   2A6IPghL 
 Aw(***HL  Aw(***! 7& @GA
=  7h&&&g FE' 32R 76m FEs1   &=M8D3M7+=M+)+M7M(+M4	0M77N c                     g d}t        t        |            j                  d      D ]+  }|j                  d      rt	               rd|v r$J d|v r+J  y )Nr  r5   r   r  r  )r6   r   r7   r8   r  )rw   r  ra   s      r   r  z*TestSeriesFormatting.test_float_trim_zeros[  sV    
 &,,T2Dx(!~%~}$} 3r   ra  rb  c                     t        t        |dd            }t        |      }||v sJ t        |dd      }t        d|      }t        |j                        }||v sJ y )Nrd  r   re  r  r  )r   r   r"   r   )rw   ra  r  r0   ri  r  s         r   rj  z5TestSeriesFormatting.test_datetimeindex_highprecisionk  sc     JZc1EFRV###zQ?AS!RXXV###r   c                     t        ddgddgd      }t        j                  |j                        |d<   t	        |j
                  d         }d|v sJ y )Nrk   rh   z
2012-01-01z
2012-01-02rl   rn   r   )r   r   to_datetimern   r6   locrJ  s      r   test_mixed_datetime64z*TestSeriesFormatting.test_mixed_datetime64  sO    aV<*FGH..&3bffQiv%%%r   c                    t        j                  ddd      }t        t        j                  dd      |      }d}t        |      |k(  sJ t        |      }d	}t        |      |k(  sJ t        t        j                  d
d      t        j                  dd      t        j                  dd      g      }d}t        |      |k(  sJ y )Nr  r?   r  r  r  r+  r  zc2013-01    0
2013-02    1
2013-03    2
2013-04    3
2013-05    4
2013-06    5
Freq: M, dtype: int64z^0    2013-01
1    2013-02
2    2013-03
3    2013-04
4    2013-05
5    2013-06
dtype: period[M]r  r  r  rd  r  r5  zO0             2011-01
1          2011-02-01
2    2011-03-01 09:00
dtype: object)r   r  r   rF   r  r"   r  )rw   r   r  r  s       r   r  z TestSeriesFormatting.test_period  s    	13?299Qg.e<$ 	 1v}}5M 	 1v}} 		)#.		,S1		,37
3 	 1v}}r   c                     g dg dg}t        t        |       }t        j                  |ddg      }t	        t
        j                  j                  d      j                  d      |      }t        d	d
      5  t        t        |      j                  d            d
k(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            d
k(  sJ 	 d d d        t	        t
        j                  j                  d      j                  d      d       }t        d	d
      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        t        d	d      5  t        t        |      j                  d            dk(  sJ 	 d d d        y # 1 sw Y   qxY w# 1 sw Y   @xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   DxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr;  r>  firstsecond)rP  rh   rD  r  r}   ri   r5   r  r   rk   r   r   r   )r  rv   r
   r   r   rF   ro   rp   rq   r   r@   r"   r7   )rw   rA  tuplesr   r  s        r   test_max_multi_index_displayz1TestSeriesFormatting.test_max_multi_index_display  s    ED
 c6l#&&vgx5HI299((+;;A>eL.3s1v||D)*b000 4.2s1v||D)*a/// 3.2s1v||D)*a/// 3.2s1v||D)*a/// 3.2s1v||D)*b000 3 299((+;;A>E.3s1v||D)*a/// 4.2s1v||D)*a/// 3.2s1v||D)*a/// 3.2s1v||D)*a/// 3.2s1v||D)*a/// 32- 4322222222 4322222222sx   8)L6)L4)L+2)L80)M&)M$)M")M, )M8)NLL(+L58MMMM),M58NNc                     t        g ddz        }t        dddd      5  t        |      }d d d        d}|k(  sJ y # 1 sw Y   xY w)N)rk   rk   rk   rk   rk   rk   rk   rk   rk   rk   H.?rk   rk   ri   r}   r~   Fz0      1.0000
1      1.0000
2      1.0000
3      1.0000
4      1.0000
        ...  
125    1.0000
126    1.0000
127    0.9999
128    1.0000
129    1.0000
dtype: float64r  )rw   r  resr  s       r   test_consistent_formatz+TestSeriesFormatting.test_consistent_format  sS    ?"DE.4MuUq'C V4 	 czz VUs	   =Ac           	      
   t        |      j                  d      D cg c]  }t        j                  d|      r| c}d d }t	        |D ch c]  }t	        |j                                c}      }|dk(  sJ y c c}w c c}w )Nr5   z	[^\.]*\.+r   rk   )r6   r7   rR   rS   r@   strip)rw   r  ra   lines	ncolsizess        r   
chck_ncolszTestSeriesFormatting.chck_ncols  s|    !!W]]40
0Tt8TD0

2 u=utTZZ\*u=>	A~~	
 >s   A;A; B zchange when arrow is defaultc                    t               }t        dddd      5  t        |d         }d}||k(  sJ t        |d         }d}||k(  sJ t        |d	         }d
}||k(  sJ t        |d         }d}||k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr}   r   r~   Fr  z50     a
1     a
     ..
98    a
99    a
dtype: objectr  z:0     ab
1     ab
      ..
98    ab
99    ab
dtype: objectr  zI0         a
1        ab
      ...  
4     abcde
5    abcdef
dtype: objectr  zI5    abcdef
4     abcde
      ...  
1        ab
0         a
dtype: object)r  r   r6   )rw   r  r'  r  s       r   test_format_explicitz)TestSeriesFormatting.test_format_explicit  s    )+	.3LeTy()CNC#::y()CSC#::y'(C(  #::y()C#  #::% UTTs   AB  B	c                 d    t               }|j                         D ]  }| j                  |        y rX   )r  valuesr-  )rw   r  r  s      r   
test_ncolszTestSeriesFormatting.test_ncols  s)    )+	!!#AOOA $r   c                    t        t        d      d      }t        dd      5  t        |      j	                  d      }d d d        ddg}d   j	                         }||k(  sJ d	g}|d   j	                         }||k(  sJ y # 1 sw Y   ExY w)
Nri   r  r+  r}   rk   r5   0r   r   )r   rr   r   r6   r7   )rw   r  strreprexp1res1exp2res2s          r   test_max_rows_eq_onez)TestSeriesFormatting.test_max_rows_eq_one
  s    59G,.21gmmD)G 3Szqz!t||vqz!t|| 32s   BBc                 b   d }t        g d      }t        dd      5  t        |      j                  dd      }d d d         |      dk(  sJ t        g d      }t        dd      5  t        |      j                  dd      }d d d         ||      dk(  sJ y # 1 sw Y   axY w# 1 sw Y   #xY w)	Nc                 b    t        t        j                  d|       j                         d         S )Nz[^\.]*(\.*)r   )r@   rR   rS   groups)r  s    r   getndotsz:TestSeriesFormatting.test_truncate_ndots.<locals>.getndots  s&    rxx299;A>??r   )r   rh   r  r?   r}   rh   r5   r  )r   r      i  r  )r   r   r6   replace)rw   r>  r  r5  s       r   test_truncate_ndotsz(TestSeriesFormatting.test_truncate_ndots  s    	@ < .21goodB/G 3 A%%%%&.21goodB/G 3 A%%% 32
 32s   B'B%B"%B.c                 t   t        t        d            }dt        |      vsJ t        dd      5  dt        |      v sJ 	 d d d        t        dd      5  dt        |      v sJ 	 d d d        t        dddd      5  dt        |      vsJ 	 d d d        y # 1 sw Y   VxY w# 1 sw Y   =xY w# 1 sw Y   y xY w)Nr   Lengthr}   r   r~   TFr   rr   r6   r   rw   r  s     r   r  z)TestSeriesFormatting.test_show_dimensions#  s    58tAw&&&.2tAw&&& 3 5t<tAw&&& = .3LeT47*** UT 32 =< UTs#   BB"<B.B"B+.B7c                 F   t        t        d            }dt        |      vsJ t        t        d            }dt        |      v sJ t        dddd      5  dt        |      v sJ dt        |      vsJ 	 d d d        t        dd	dd       5  d
t        |      v sJ 	 d d d        t        dddd	      5  d
t        |      vsJ 	 d d d        t        dd dd	      5  dt        |      vsJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   dxY w# 1 sw Y   IxY w# 1 sw Y   y xY w)Nrf   r   r   r}   ri   r   r   r   r   z5      5rD  rE  s     r   r   z'TestSeriesFormatting.test_repr_min_rows2  s%   59 47"""59 tAw.4FJ47?"?Q''' K
 .4FMa((( N .4FKT!W,,, L .6H"MtAw&&& NM KJ
 NM LK NMs0   C3C?2DD3C<?DDD N)r  r  r  r  r  r   r  xfailr   r  r  r  rj  r  r  r$  r(  r-  r/  r2  r:  rA  r  r   r2   r   r   r  r  g  s    ,
 [[)+4QRa' Sa'F%  [[	

$
$&'R%0P
 [[)+4RS T,
	&+'r   r  c                   $    e Zd Zd Zd Zd Zd Zy)TestGenericArrayFormatterc                     t        j                  t        j                  ddg            }|j	                         }t        |      dk(  sJ |d   dk(  sJ |d   dk(  sJ y )NTFrh   r   z  Truerk   z Falser  _GenericArrayFormatterrF   rG   
get_resultr@   rw   objr'  s      r   test_1d_arrayz'TestGenericArrayFormatter.test_1d_arrayP  sa     ((4-)@Ann3x1}}1v!!!1v!!!r   c                     t        j                  t        j                  ddgddgg            }|j	                         }t        |      dk(  sJ |d   dk(  sJ |d   dk(  sJ y )NTFrh   r   z [True, False]rk   z [False, True]rK  rN  s      r   test_2d_arrayz'TestGenericArrayFormatter.test_2d_arrayZ  sj    ((D%=5$-2P)QRnn3x1}}1v))))1v))))r   c                     t        j                  t        j                  ddgddggddgddggg            }|j	                         }t        |      dk(  sJ |d   dk(  sJ |d   dk(  sJ y )NTFrh   r   z [[True, True], [False, False]]rk   z [[False, True], [True, False]]rK  rN  s      r   test_3d_arrayz'TestGenericArrayFormatter.test_3d_arraya  s    ((HHd|eU^4t}tUm6TUV
 nn3x1}}1v::::1v::::r   c                 ,    G d dt         j                  j                  j                         G fddt         j                  j                  j                        }t         |       d      }t        |      }dj                  g d      }||k(  sJ y )	Nc                   ,    e Zd Zed        Zed        Zy)CTestGenericArrayFormatter.test_2d_extension_type.<locals>.DtypeStubc                 "    t         j                  S rX   )rF   ndarrayr   s    r   typezHTestGenericArrayFormatter.test_2d_extension_type.<locals>.DtypeStub.typeo  s    zz!r   c                      y)N	DtypeStubr2   r   s    r   r  zHTestGenericArrayFormatter.test_2d_extension_type.<locals>.DtypeStub.names  s    "r   N)r  r  r  propertyrZ  r  r2   r   r   r\  rW  n  s(    " " # #r   r\  c                   4    e Zd ZdefdZd Ze fd       Zy)ETestGenericArrayFormatter.test_2d_extension_type.<locals>.ExtTypeStubreturnc                      y)Nrh   r2   r   s    r   __len__zMTestGenericArrayFormatter.test_2d_extension_type.<locals>.ExtTypeStub.__len__x  r  r   c                     |dk(  |dk(  gS )Nrk   r   r2   )rw   rN   s     r   r  zQTestGenericArrayFormatter.test_2d_extension_type.<locals>.ExtTypeStub.__getitem__{  s    aq))r   c                             S rX   r2   )rw   r\  s    r   r,  zKTestGenericArrayFormatter.test_2d_extension_type.<locals>.ExtTypeStub.dtype~  s     {"r   N)r  r  r  r   rb  r  r]  r,  )r\  s   r   ExtTypeStubr_  w  s(     * # #r   re  F)copyr5   )z0    [False True]z1    [True False]zdtype: DtypeStub)r   api
extensionsExtensionDtypeExtensionArrayr   r6   r  )rw   re  r  r'  r.   r\  s        @r   test_2d_extension_typez0TestGenericArrayFormatter.test_2d_extension_typej  ss    	#))88 	#		#"&&++:: 		# E26l99J
 hr   N)r  r  r  rP  rR  rT  rk  r2   r   r   rI  rI  O  s    "*;r   rI  c                      dddk(  S )Ng    CAz.4gz1.7e+008r2   r2   r   r   r  r    s    C[Z''r   c            	           e Zd Zd Zd Zd Zej                  j                  ddgdfdgdfd	gd
fddgdfg ddfg      d        Z	d Z
d Zy)TestFloatArrayFormatterc                     t        j                  t        j                  g t        j                              }|j                         }t        |      dk(  sJ y )Nr+  r   )r  FloatArrayFormatterrF   rG   float64rM  r@   rw   rO  r0   s      r   	test_miscz!TestFloatArrayFormatter.test_misc  s?    %%bhhr&DE!6{ar   c                     t        j                  t        j                  ddgt        j                              }|j                         }|d   dk(  sJ |d   dk(  sJ y )Nr   r   r+  z 12.0rk   z  0.0)r  rp  rF   rG   rq  rM  rr  s      r   test_formatz#TestFloatArrayFormatter.test_format  sU    %%bhhAwbjj&IJ!ayG###ayG###r   c                     t        dd      5  t        ddg      }d}t        |      |k(  sJ 	 d d d        y # 1 sw Y   y xY w)Ndisplay.precisionr   g     @@g     h@z"0     840
1    4200
dtype: float64)r   r   r"   )rw   r  expected_outputs      r   -test_output_display_precision_trailing_zeroeszETestFloatArrayFormatter.test_output_display_precision_trailing_zeroes  s@     /3v'ADOq6_,,, 433s	    7A zvalue,expectedgOe"@z	   0
0  9g\(\?z       0
0  5e-01gr%@z    0
0  11gǘ#@g333333#@z    0
0  10
1  10)gq=
ףp?g(\?gr#z#       0
0  5e-01
1  8e-01
2 -1e+01c                 ~    t        dd      5  t        |      }t        |      |k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nrw  r   r   r   r"   )rw   rz   r.   df_values       r   test_set_option_precisionz1TestFloatArrayFormatter.test_set_option_precision  s7     /3 'Hx=H,,, 433s   3<c                     t        dd      5  t        dg di      }ddddd	d
}|j                         D ]  \  \  }}}t        |||       |k(  rJ  	 d d d        y # 1 sw Y   y xY w)Nrw  r?   col1)g}Bz>gHz>gz>gH׊>gƠ>gƠ>g5Ǡ>gv!>g.6ư>gư>gT5eǰ>g>g$>gh㈵>gB>gTqs*>zo           col1
0  9.999000e-08
1  1.000000e-07
2  1.000100e-07
3  2.000000e-07
4  4.999000e-07
5  5.000000e-07z_           col1
1  1.000000e-07
2  1.000100e-07
3  2.000000e-07
4  4.999000e-07
5  5.000000e-07z           col1
1  1.000000e-07
2  1.000100e-07
3  2.000000e-07
4  4.999000e-07
5  5.000000e-07
6  5.000100e-07
7  6.000000e-07z            col1
8   9.999000e-07
9   1.000000e-06
10  1.000100e-06
11  2.000000e-06
12  4.999000e-06
13  5.000000e-06
14  5.000100e-06
15  6.000000e-06zg        col1
9   0.000001
10  0.000001
11  0.000002
12  0.000005
13  0.000005
14  0.000005
15  0.000006))r   r?   )rk   r?   )rk   rD  )rD     )r   r  )r   r   itemsr"   )rw   r   rx  rf  stopvs         r   test_output_significant_digitsz6TestFloatArrayFormatter.test_output_significant_digits  s     /3 A0"""#?'OR %4$9$9$; q1U4=)Q... %<E 433s   AAAA&c                     t        dd      5  t        ddgi      }t        |      dk(  sJ t        ddgi      }t        |      dk(  sJ t        dddgi      }t        |      dk(  sJ 	 d d d        y # 1 sw Y   y xY w)	Nrw  r   r]  g1@z            x
0  12345.6789g    >Az           x
0  2000000.0z)            x
0  1.2346e+04
1  2.0000e+06r{  r   s     r   test_too_longz%TestFloatArrayFormatter.test_too_long  s    /3 C*./Br7<<<<C#<(Br7::::C*c!234Br7KKKK 433s   AA33A<N)r  r  r  rs  ru  ry  r   r  r  r}  r  r  r2   r   r   rn  rn    s~     
$- [[X|$V)*Y'c]12"$LM	
	-	-G/R
Lr   rn  c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestTimedelta64Formatterc                    t        j                  t        t        d            t        gz   d      j
                  }t        j                  |      j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ t        j                  |dd       j                         }|d   j                         dk(  sJ t        j                  |      j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ t        j                  |dd       j                         }|d   j                         dk(  sJ y )	Nr   rd  unitr   0 daysrk   z1 daysrh   
r   to_timedeltar  rr   r   _valuesr  _Timedelta64FormatterrM  r*  rw   r]  r0   s      r   	test_daysz"TestTimedelta64Formatter.test_days  s-   OODqNcU2=EE**1-88:ay H,,,ay H,,,**1Qq62==?ay H,,,**1-88:ay H,,,ay H,,,**1Qq62==?ay H,,,r   c                 "   t        j                  t        t        d            t        gz   d      j
                  }t        j                  |       j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ y )Nr   rd  r  r   r  rk   z-1 daysr  r  s      r   test_days_negz&TestTimedelta64Formatter.test_days_neg  st    OODqNcU2=EE**A2.99;ay H,,,ay I---r   c                     t        j                  t        t        d            t        gz   d      j
                  }t        j                  |      j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ y )Nr   r  r  r   0 days 00:00:00rk   z0 days 00:00:01r  rw   yr0   s      r   test_subdaysz%TestTimedelta64Formatter.test_subdays"  st    OODqNcU2=EE**1-88:ay $5555ay $5555r   c                 "   t        j                  t        t        d            t        gz   d      j
                  }t        j                  |       j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ y )Nr   r  r  r   r  rk   z-1 days +23:59:59r  r  s      r   test_subdays_negz)TestTimedelta64Formatter.test_subdays_neg(  sv    OODqNcU2=EE**A2.99;ay $5555ay $7777r   c                    t        j                  t        t        d            t        gz   d      j
                  }t        j                  |      j                         }|d   j                         dk(  sJ t        j                  t        t        d            d      j
                  }t        j                  |      j                         }|d   j                         dk(  sJ y )Nrk   rd  r  r   r  r  r  s      r   	test_zeroz"TestTimedelta64Formatter.test_zero.  s    OODqNcU2=EE**1-88:ay H,,,OODqN5==**1-88:ay H,,,r   N)r  r  r  r  r  r  r  r  r2   r   r   r  r    s    - .68-r   r  c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestDatetime64Formatterc           	         t        t        ddd      t        dddd      t        g      j                  }t	        j
                  |      j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ y )N  rk   r   r   z2013-01-01 00:00:00z2013-01-01 12:00:00r   r   r   r  r  _Datetime64FormatterrM  r*  r  s      r   
test_mixedz"TestDatetime64Formatter.test_mixed9  sz    HT1a((4Ar*BCHIQQ))!,779ay $9999ay $9999r   c                    t        t        ddd      t        ddd      t        g      j                  }t	        j
                  |      j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ y )Nr  rk   rh   r   z
2013-01-01z
2013-01-02r  r  s      r   
test_datesz"TestDatetime64Formatter.test_dates?  sv    HT1a((4A*>DEMM))!,779ay L000ay L000r   c                     t        t        d      g      j                  }t        j                  |      j                         }|d   j                         dk(  sJ y )Nr?  r   z1970-01-01 00:00:00.000000200)r   r   r  r  r  rM  r*  r  s      r   test_date_nanosz'TestDatetime64Formatter.test_date_nanosE  sL    IcN#$,,))!,779ay $CCCCr   c                    t        t        ddd            }t        j                  |j                  d<   t        j                  |j                        j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ |d	   j                         d
k(  sJ t        t        ddd            }t        j                  |j                  d<   t        j                  |j                        j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ |d	   j                         dk(  sJ t        t        ddd            }t        j                  |j                  d<   t        j                  |j                        j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ |d	   j                         dk(  sJ t        t        ddd            }t        j                  |j                  d<   t        j                  |j                        j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ |d	   j                         dk(  sJ t        t        ddd            }t        j                  |j                  d<   t        j                  |j                        j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ |d	   j                         dk(  sJ y )Nz20130101 09:00:00r   rd  r  rk   r   z2013-01-01 09:00:00r   r   z2013-01-05 09:00:00r  z2013-01-01 09:00:04msz2013-01-01 09:00:00.000z2013-01-01 09:00:00.004usz2013-01-01 09:00:00.000000z2013-01-01 09:00:00.000004nsz2013-01-01 09:00:00.000000000z2013-01-01 09:00:00.000000004)
r   r   rF   r  rR  r  r  r  rM  r*  r  s      r   test_dates_displayz*TestDatetime64Formatter.test_dates_displayJ  s    :113GHFFq	))!))4??Aay $9999ay E)))ay $9999:113GHFFq	))!))4??Aay $9999ay E)))ay $9999:114HIFFq	))!))4??Aay $====ay E)))ay $====:114HIFFq	))!))4??Aay $@@@@ay E)))ay $@@@@:114HIFFq	))!))4??Aay $CCCCay E)))ay $CCCCr   c                     t        t        ddd      t        ddd      g      j                  }d }t        j                  ||      }|j                         }|ddgk(  sJ y )Ni  rk   rh   c                 $    | j                  d      S )Nz%Y-%mstrftimer]  s    r   format_funczOTestDatetime64Formatter.test_datetime64formatter_yearmonth.<locals>.format_funcs      ::g&&r   r  z2016-01z2016-02)r   r   r  r  r  rM  rw   r]  r  r  r0   s        r   "test_datetime64formatter_yearmonthz:TestDatetime64Formatter.test_datetime64formatter_yearmonthp  sc    HT1a((4A*>?@HH	' ,,Q+F	%%')Y////r   c                     t        t        j                  ddgd            j                  }d }t	        j
                  ||      }|j                         }|ddgk(  sJ y )	Nz10:10:10.100z12:12:12.120z%H:%M:%S.%f)r  c                 $    | j                  d      S )Nz%H:%Mr  r  s    r   r  zPTestDatetime64Formatter.test_datetime64formatter_hoursecond.<locals>.format_func  r  r   r  z10:10z12:12)r   r   r  r  r  r  rM  r  s        r   #test_datetime64formatter_hoursecondz;TestDatetime64Formatter.test_datetime64formatter_hoursecondz  sa    NNNN;MR

' 	
	' ,,Q+F	%%''7++++r   c                 4   t        t        j                  g dd            j                  j	                  d      j
                  }t        j                  |      j                         }|d   j                         dk(  sJ |d   j                         dk(  sJ y )	N)z
2999-01-01z
2999-01-02r   zdatetime64[ms]r+  z
US/Pacificr   z2999-01-01 00:00:00-08:00rk   z2999-01-02 00:00:00-08:00)
r   rF   rG   r\  r^  r  r  _Datetime64TZFormatterrM  r*  r  s      r   test_datetime64formatter_tz_msz6TestDatetime64Formatter.test_datetime64formatter_tz_ms  s    <DTU RL)W 	
 ++A.99;ay $????ay $????r   N)
r  r  r  r  r  r  r  r  r  r  r2   r   r   r  r  8  s)    :1D
$DL0
,
@r   r  c            
          e Zd Zej                  j                  dg dg dfg dg dfg dg dfg dg d	fg d
g dfg      d        Zej                  j                  ddej                  dgg dg dg dg      d        Z	d Z
y)TestFormatPercentileszpercentiles, expected)g0Bx?0_^}?r   F]kSU?r&  )z1.999%z2.001%50%z66.667%99.99%)r   r   r  r   r  r&  )0%r  z2.0%r  z66.67%r  )gCl?(\?=
ףp=?(\?)z28.1%29%57%58%)gQ?r  r  r  )z28%r  r  r  )g?gGz?g+?r&  gwJ?)90%z99%z99.9%r  z99.999%c                 <    t        j                  |      }||k(  sJ y rX   )r  format_percentiles)rw   percentilesr.   r0   s       r   test_format_percentilesz-TestFormatPercentiles.test_format_percentiles  s"    ( ''4!!!r   r  r   r   )gMbPr   r   )rh   r   r   )r   r   rj   c                     d}t        j                  t        |      5  t        j                  |       d d d        y # 1 sw Y   y xY w)Nz1percentiles should all be in the interval \[0,1\]r   )r   r   r   r  r  )rw   r  msgs      r   test_error_format_percentilesz3TestFormatPercentiles.test_error_format_percentiles  s2     C]]:S1"";/ 211s	   =Ac                 n    t        j                  t        j                  ddd            }g d}||k(  sJ y )Nr   rk      )r  z10%z20%z30%z40%r  z60%z70%z80%r  z100%)r  r  rF   linspace)rw   r0   r.   s      r   #test_format_percentiles_integer_idxz9TestFormatPercentiles.test_format_percentiles_integer_idx  s6    ''Aq&(AB
 !!!r   N)r  r  r  r   r  r  r  rF   r  r  r  r2   r   r   r  r    s    [[ :@
 9@ '(FG%'CD3<	
&"'&" [[2663		
00
"r   r  method)	to_stringto_htmlto_latexzencoding, data))Nr   )r'   r   )gbku   造成输出中文显示乱码)r   r   c                    t        |g      }| dv rt        j                  d       |dvr;|9t        j                  t        d      5   t        ||       ||       d d d        y |dk(  r9t        j                  t        d      5   t        ||       ||       d d d        y  t        ||              } t        ||       ||        ||       y # 1 sw Y   y xY w# 1 sw Y   y xY w)	Nr  jinja2)r   r   z1buf is not a file name and encoding is specified.r   )r$   r)   r   zunknown encoding)r   r   importorskipr   r   getattrLookupError)r  r%   r3   r)   rn  r   r9   r.   s           r   test_filepath_or_buffer_argr    s     
D6	BH%$::x?S]]Q
  GB$6J
 
 
U	]];.@AGB$6J BA '72v&(F 2XF(2
 

 BAs   CCCC&c                     |dv rt        j                  d       d}t        j                  t        |      5   t	        | |      t                      d d d        y # 1 sw Y   y xY w)Nr  r  z1buf is not a file name and it has no write methodr   )r$   )r   r  r   	TypeErrorr  r.  )float_framer  r  s      r   &test_filepath_or_buffer_bad_arg_raisesr    sJ    H%
=C	y	,$V$2 
-	,	,s   AA%)9__doc__r   rl  r   pathlibr   rR   shutilr   numpyrF   r   pandas._configr   pandasr   r   r	   r
   r   r   r   r   r   r   r   r   pandas.io.formatsr   pandas.io.formats.formatformatsr  r  fixturer   r%   r3   r=   rC   rP   rV   r[   r]   rb   rd   r  r  rI  r  rn  r  r  r  r  r  r  r  r2   r   r   <module>r     s      	 $   -     ' & & 78 9 ( (" - -,TUK" K"\&e' e'P8 8v(zL zLz*- *-ZX@ X@v6" 6"r #GH`3	 I
34 #GH3 I3r   