
    bMhB                         d dl m Z mZ d dlZd dlZd dlZd dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZ  G d d          Z G d d          ZdS )    datetime	timedeltaN)Categorical	DataFrameIndexSeries
date_rangeoption_contextperiod_rangetimedelta_rangec                      e Zd Zd Zd Zd Zd Zd Zej	        
                    dddg          d	             Zd
 Zd Zd Zd Zej	        
                    dg d          d             Zd Zej	        
                    dddg          d             Zd Zej	        
                    dddgddgg          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S ))TestSeriesReprc                     t           j                            t          dd          t          dd          gdd g          }t	          d|          }t          |          }d}||k    sJ d S )	N         r   )namesg      ?indexz0   
2  3    1.5
dtype: float64)pd
MultiIndexfrom_productranger	   repr)selfmiserresexpecteds        `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/test_formats.pytest_multilevel_name_print_0z+TestSeriesRepr.test_multilevel_name_print_0   sj     ]''q!eAqkk(B1d)'TTS###3ii6h    c                     |}t          t          t          |                    |d          }g d}d                    |          }t	          |          |k    sJ d S )Nsthr   name)zfirst  secondzfoo    one       0z       two       1z       three     2zbar    one       3z       two       4zbaz    two       5z       three     6zqux    one       7z       two       8z       three     9zName: sth, dtype: int64
)r	   r   lenjoinr   )r   %lexsorted_two_level_string_multiindexr   r   r    s        r!   test_multilevel_name_printz)TestSeriesRepr.test_multilevel_name_print"   sj    5U3u::&&e%@@@
 
 
 99X&&CyyH$$$$$$r#   c                     t          g d          }d|_        dt          |          v sJ d |_        dt          |          vsJ d S )N)r      r   test
Name: testName:)r	   r'   r   r   ss     r!   test_small_name_printingz'TestSeriesRepr.test_small_name_printing6   sU    999tAww&&&&d1gg%%%%%%r#   c                     t          t          d                    }d|_        dt          |          v sJ d |_        dt          |          vsJ d S )N  r/   r0   r1   )r	   r   r'   r   r2   s     r!   test_big_name_printingz%TestSeriesRepr.test_big_name_printing@   sW    5;;tAww&&&&d1gg%%%%%%r#   c                 v    t          t          dd          dt                    }dt          |          v sJ d S )N2001010120020101r/   )r   r'   dtyper0   )r	   r
   objectr   r2   s     r!   test_empty_name_printingz'TestSeriesRepr.test_empty_name_printingJ   s>    J
;;&PVWWWtAww&&&&&&r#   args )r   c           	          t          t          t          j                            d                              d          t          j        dg|R                       d S )Nr   r6   r   )strr	   nprandomdefault_rngstandard_normalarange)r   r>   s     r!   test_float_rangezTestSeriesRepr.test_float_rangeN   sf    	%%a((88>>i,t,,,  	
 	
 	
 	
 	
r#   c                 J    t          t          t                               d S )Nr;   )rB   r	   r<   r   s    r!   test_empty_objectz TestSeriesRepr.test_empty_objectW   s!    F   !!!!!r#   c                     t          |           t          |                    t                               t          j        |dd<   t          |           d S )N      )rB   astypeintrC   nan)r   string_seriess     r!   test_stringzTestSeriesRepr.test_string[   sR    MM  %%&&&  VacMr#   c                 $    t          |           d S N)rB   )r   object_seriess     r!   test_objectzTestSeriesRepr.test_objectc   s    Mr#   c                 |    t          |           |                    d          }d |d d d<   t          |           d S )NOr   )rB   rP   r   )r   datetime_seriesotss      r!   test_datetimezTestSeriesRepr.test_datetimef   sA    O$$S))CCaCS					r#   r'   ) r.   g333333?foou   αβγ7loooooooooooooooooooooooooooooooooooooooooooooooooooongr_   barbaz)r.   r   )r_   r.   gffffff@)   αu   βu   γ)rd   rb   c                 2    ||_         t          |           d S rV   )r'   r   )r   r'   rS   s      r!   test_various_namesz!TestSeriesRepr.test_various_namesm   s     $ "]r#   c                     t          t          j                            d                              d          t          j        d          d          }t          |           d S )Nr   r6   ra   r&   )r	   rC   rD   rE   rF   rG   r   )r   biggies     r!   test_tuple_namezTestSeriesRepr.test_tuple_name   sV    I!!!$$44T::)D//&
 
 

 	Vr#   argd     c                     t          t          j                            d                              |          d          }t          |          }d|v sJ d S )Nr   r   r'   zName: 0)r	   rC   rD   rE   rF   r   )r   rj   r   rep_strs       r!   test_tidy_repr_name_0z$TestSeriesRepr.test_tidy_repr_name_0   sV     RY**1--==cBBKKKs))G######r#   c                     t          dgdt          dg|          |          }dt          |          vsJ dt          |          vsJ dt          |          vsJ d S )	Nza
	bza
	dza
	frJ   )r'   r   r;   	za
)r	   r   r   )r   any_string_dtyper   s      r!   test_newlinezTestSeriesRepr.test_newline   s    L,<==="	
 
 
 499$$$$499$$$$DII%%%%%%r#   zname, expectedr_   z#Series([], Name: foo, dtype: int64)NzSeries([], dtype: int64)c                 h    t          g t          j        |          }t          |          |k    sJ d S )N)r;   r'   )r	   rC   int64r   )r   r'   r    r3   s       r!   test_empty_int64zTestSeriesRepr.test_empty_int64   s7     2RXD111Aww(""""""r#   c                     t          d t          d          D                       }t          |           |                                }|j        dk    sJ d S )Nc                     g | ]A}t          t          j                            d                               d                    BS )r   )r   r   )r   rC   rD   rE   rF   .0is     r!   
<listcomp>z7TestSeriesRepr.test_repr_bool_fails.<locals>.<listcomp>   sN        ")//22BB6JJKK  r#   rN   r^   )r	   r   r   
readouterrerr)r   capsysr3   captureds       r!   test_repr_bool_failsz#TestSeriesRepr.test_repr_bool_fails   sj     q  
 
 	Q$$&&|r!!!!!!r#   c                     t          g dt          j        d                    }t          |           d|_        t          |           d S )Nr.   r   r   r   rn   )   אr   )r	   rC   rw   r   r'   r2   s     r!   !test_repr_name_iterable_indexablez0TestSeriesRepr.test_repr_name_iterable_indexable   sC    99928A;;/// 	Q Qr#   c                     t          dd           5  t          t          t          d                               d d d            d S # 1 swxY w Y   d S )Ndisplay.max_rowsrl   )r   rB   r	   r   rK   s    r!   test_repr_max_rowsz!TestSeriesRepr.test_repr_max_rows   s    .55 	% 	%uT{{##$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   *AAAc                     t          dgd          }t          |           t          dgdz            }t          |           t          dgdz            }d|_        t          |           d S )Nr   u   בrn   u   σ
   r6   title1)r	   rB   r   r'   )r   dfr   ser2s       r!    test_unicode_string_with_unicodez/TestSeriesRepr.test_unicode_string_with_unicode   si    XJX...BhZ"_%%S			xj4'((	T




r#   c                     t          dgd          }d}t          j        t          |          5  t	          |           d d d            d S # 1 swxY w Y   d S )Nabcrn   z2^'str' object cannot be interpreted as an integer$match)r	   pytestraises	TypeErrorbytes)r   r   msgs      r!   test_str_to_bytes_raisesz'TestSeriesRepr.test_str_to_bytes_raises   s    UG%(((B]9C000 	 	"III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                    t          d t          d          D             t                    }t          t          j                            d                              t          |                    |          }t          |           t          t	          j
        dt          j                  t          dd                    }t          |                                          d	                             d
          sJ |j        t          j                            d                              dt          |          dz
  d                   }t          |                                          d	          d S )Nc                 P    g | ]#}t          d dd          t          |          z   $S )  r.   r   r{   s     r!   r~   zDTestSeriesRepr.test_timeseries_repr_object_dtype.<locals>.<listcomp>   s/    FFFQXdAq!!IaLL0FFFr#   r6   rJ   r      z
2020-01-01periodsr   r@   zFreq:r   r.   i  )r   r   r<   r	   rC   rD   rE   rF   r)   r   rG   float64r
   
splitlines
startswithilocintegers)r   r   tsts2s       r!   !test_timeseries_repr_object_dtypez0TestSeriesRepr.test_timeseries_repr_object_dtype   s5   FF%++FFFf
 
 
 BI))!,,<<SZZHH%PPRIb
+++:lTV3W3W3W
 
 
 Bxx""$$R(33G<<<<<gbi++A..773r77Q;LLMS		r""""r#   c                 
   t          j        d           d}t          dd dd          5  t          g d          }||                                k    sJ 	 d d d            n# 1 swxY w Y   |                                J d S )Njinja2zj\begin{tabular}{ll}
\toprule
 & 0 \\
\midrule
0 & $\alpha$ \\
1 & b \\
2 & c \\
\bottomrule
\end{tabular}
zstyler.format.escapezstyler.render.reprlatex)z$\alpha$bc)r   importorskipr   r	   _repr_latex_)r   resultr3   s      r!   test_latex_reprzTestSeriesRepr.test_latex_repr   s    H%%%	 "D*>
 
 	. 	. ...//AQ^^-------		. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. ~~'''''s   ,A""A&)A&c                     t          dt          j        g          }t          ddg|          }d}t	          |          |k    sJ d S )Nr.   r   r   z1.0    1
NaN    2
dtype: int64)r   rC   rR   r	   r   )r   r}   r3   exps       r!   !test_index_repr_in_frame_with_nanz0TestSeriesRepr.test_index_repr_in_frame_with_nan   sG    1bf+Aq6###4Aww#~~~~~~r#   c                     t          ddd          }d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          d|          }t          |           d S )	Nz1/1/1850z1/1/1950zYE-DEC)freqz"DatetimeIndex.format is deprecatedr   r.   r   )r
   tmassert_produces_warningFutureWarningformatr	   r   )r   rngr   r   s       r!   test_format_pre_1900_datesz)TestSeriesRepr.test_format_pre_1900_dates  s    Zh???2'SAAA 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	AS!!!Rs   AAAc                     t          dddt          j        j        gd          }t	          |          }d}||k    sJ d S )Nr   r6   r   zM8[ns]rJ   z0   1970-01-01 00:00:00.000000
1   1970-01-01 00:00:00.000001
2   1970-01-01 00:00:00.000002
3                          NaT
dtype: datetime64[ns])r	   r   NaT_valuer   )r   seriesr   r    s       r!   test_series_repr_natz#TestSeriesRepr.test_series_repr_nat	  sO    D$6hGGGf$ 	 !!!!!!r#   c                     t          dg                              t                    }d}t          |          |k    sJ d S )Ng      ?z0    1.0
dtype: object)r	   rP   r<   r   )r   r   r    s      r!   test_float_reprzTestSeriesRepr.test_float_repr  sA     cUmm""6**,CyyH$$$$$$r#   c                     t          g ddd t          j        t          j        g          }t          |          }d}||k    sJ d S )Nr.   r   r   r   Tz4True    1
None    2
NaN     3
NaT     4
dtype: int64)r	   rC   rR   r   r   r   )r   r   r   r    s       r!   test_different_null_objectsz*TestSeriesRepr.test_different_null_objects  sI    \\\D$#?@@cM!!!!!!r#   )!__name__
__module____qualname__r"   r,   r4   r7   r=   r   markparametrizerH   rL   rT   rX   r]   rf   ri   rp   ru   rx   r   r   r   r   r   r   r   r   r   r   r   r   r?   r#   r!   r   r      s]         % % %(& & && & &' ' ' [Vb']33
 
 43
" " "       [	
 	
 	
   !  
   [US$K00$ $ 10$	& 	& 	& [9:-.	
 # # #
" " "  % % %
	 	 	  # # #( ( ((    " " "% % %" " " " "r#   r   c                   J    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S )TestCategoricalReprc                      G d d          t          fdt          d          D                       }t          |          }|                                }t	          |           t          |           d S )Nc                   "    e Zd ZdZdZdefdZdS )ATestCategoricalRepr.test_categorical_repr_unicode.<locals>.Countyu   San SebastiánPRreturnc                 &    | j         dz   | j        z   S )Nz, )r'   staterK   s    r!   __repr__zJTestCategoricalRepr.test_categorical_repr_unicode.<locals>.County.__repr__-  s    y4'$*44r#   N)r   r   r   r'   r   rB   r   r?   r#   r!   Countyr   )  s9        #DE5# 5 5 5 5 5 5r#   r   c                 $    g | ]}             S r?   r?   )r|   _r   s     r!   r~   zETestCategoricalRepr.test_categorical_repr_unicode.<locals>.<listcomp>0  s    7776688777r#   =   )r   r   r   	to_seriesr   rB   )r   catidxr   r   s       @r!   test_categorical_repr_unicodez1TestCategoricalRepr.test_categorical_repr_unicode&  s    	5 	5 	5 	5 	5 	5 	5 	5 7777U2YY77788CjjmmooS			Cr#   c                    t          t          g d                    }d}||                                k    sJ t          t          ddgdz                      }|rd}nd}t          dd	          5  |t	          |          k    sJ 	 d d d            n# 1 swxY w Y   t          d
          }t          t          ddg|d                    }|rd}nd}||                                k    sJ d S )Nr   zO0    1
1    2
2    3
3    4
dtype: category
Categories (4, int64): [1, 2, 3, 4]ar      z_0     a
1     b
     ..
48    a
49    b
Length: 50, dtype: category
Categories (2, str): [a, b]zf0     a
1     b
     ..
48    a
49    b
Length: 50, dtype: category
Categories (2, object): ['a', 'b']r   rN   abcdefghijklmnopqrstuvwxyzT)
categoriesorderedzU0    a
1    b
dtype: category
Categories (26, str): [a < b < c < d ... w < x < y < z]zh0    a
1    b
dtype: category
Categories (26, object): ['a' < 'b' < 'c' < 'd' ... 'w' < 'x' < 'y' < 'z'])r	   r   __str__r   r   list)r   using_infer_stringr   r   levss        r!   test_categorical_reprz)TestCategoricalRepr.test_categorical_repr7  sk   ;|||,,--C 	
 aiikk!!!!;SzB//00 	K CR  .22 	" 	"$q''>>>>>	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 011;SzdDIIIJJ 	J C)  aiikk!!!!!!s   3BBBc                 0   t          t          g d                    }d}t          |          |k    sJ t          t          t          j        d                              }dt          j        t                     d}t          |          |k    sJ d S )Nr   zE0    1
1    2
2    3
dtype: category
Categories (3, int64): [1, 2, 3]r   f0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9
dtype: category
Categories (10, z ): [0, 1, 2, 3, ..., 6, 7, 8, 9]r	   r   r   rC   rG   r;   rQ   r   r3   r   s      r!   test_categorical_series_reprz0TestCategoricalRepr.test_categorical_series_reprc  s    ;yyy))**$ Aww#~~~~;ry}}--..C #C C C Aww#~~~~~~r#   c                 8   t          t          g dd                    }d}t          |          |k    sJ t          t          t          j        d          d                    }dt          j        t                     d}t          |          |k    sJ d S )Nr   Tr   zG0    1
1    2
2    3
dtype: category
Categories (3, int64): [1 < 2 < 3]r   r   z$): [0 < 1 < 2 < 3 ... 6 < 7 < 8 < 9]r   r   s      r!   $test_categorical_series_repr_orderedz8TestCategoricalRepr.test_categorical_series_repr_ordered}  s    ;yyy$77788& Aww#~~~~;ry}}d;;;<<G #G G G Aww#~~~~~~r#   c                    t          ddd          }t          t          |                    }d}t          |          |k    sJ t          dddd          }t          t          |                    }d}t          |          |k    sJ d S )	N2011-01-01 09:00hrN   r   r   a2  0   2011-01-01 09:00:00
1   2011-01-01 10:00:00
2   2011-01-01 11:00:00
3   2011-01-01 12:00:00
4   2011-01-01 13:00:00
dtype: category
Categories (5, datetime64[ns]): [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00,
                                 2011-01-01 12:00:00, 2011-01-01 13:00:00]
US/Easternr   r   tza  0   2011-01-01 09:00:00-05:00
1   2011-01-01 10:00:00-05:00
2   2011-01-01 11:00:00-05:00
3   2011-01-01 12:00:00-05:00
4   2011-01-01 13:00:00-05:00
dtype: category
Categories (5, datetime64[ns, US/Eastern]): [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00,
                                             2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00,
                                             2011-01-01 13:00:00-05:00]r
   r	   r   r   r   r   r3   r   s       r!   %test_categorical_series_repr_datetimez9TestCategoricalRepr.test_categorical_series_repr_datetime  s    +#qAAA;s##$$N Aww#~~~~+#q\RRR;s##$$K Aww#~~~~~~r#   c                 $   t          ddd          }t          t          |d                    }d}t          |          |k    sJ t          dddd	          }t          t          |d                    }d
}t          |          |k    sJ d S )Nr   r   rN   r   Tr   a6  0   2011-01-01 09:00:00
1   2011-01-01 10:00:00
2   2011-01-01 11:00:00
3   2011-01-01 12:00:00
4   2011-01-01 13:00:00
dtype: category
Categories (5, datetime64[ns]): [2011-01-01 09:00:00 < 2011-01-01 10:00:00 < 2011-01-01 11:00:00 <
                                 2011-01-01 12:00:00 < 2011-01-01 13:00:00]r   r   a  0   2011-01-01 09:00:00-05:00
1   2011-01-01 10:00:00-05:00
2   2011-01-01 11:00:00-05:00
3   2011-01-01 12:00:00-05:00
4   2011-01-01 13:00:00-05:00
dtype: category
Categories (5, datetime64[ns, US/Eastern]): [2011-01-01 09:00:00-05:00 < 2011-01-01 10:00:00-05:00 <
                                             2011-01-01 11:00:00-05:00 < 2011-01-01 12:00:00-05:00 <
                                             2011-01-01 13:00:00-05:00]r   r   s       r!   -test_categorical_series_repr_datetime_orderedzATestCategoricalRepr.test_categorical_series_repr_datetime_ordered  s    +#qAAA;sD11122O Aww#~~~~+#q\RRR;sD11122K Aww#~~~~~~r#   c                    t          ddd          }t          t          |                    }d}t          |          |k    sJ t          ddd          }t          t          |                    }d}t          |          |k    sJ d S )	Nr   r   rN   r   a  0    2011-01-01 09:00
1    2011-01-01 10:00
2    2011-01-01 11:00
3    2011-01-01 12:00
4    2011-01-01 13:00
dtype: category
Categories (5, period[h]): [2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00,
                            2011-01-01 13:00]2011-01Mz0    2011-01
1    2011-02
2    2011-03
3    2011-04
4    2011-05
dtype: category
Categories (5, period[M]): [2011-01, 2011-02, 2011-03, 2011-04, 2011-05]r   r	   r   r   r   s       r!   #test_categorical_series_repr_periodz7TestCategoricalRepr.test_categorical_series_repr_period  s    -CCCC;s##$$1 Aww#~~~~93:::;s##$$L Aww#~~~~~~r#   c                 "   t          ddd          }t          t          |d                    }d}t          |          |k    sJ t          dd	d          }t          t          |d                    }d
}t          |          |k    sJ d S )Nr   r   rN   r   Tr   a  0    2011-01-01 09:00
1    2011-01-01 10:00
2    2011-01-01 11:00
3    2011-01-01 12:00
4    2011-01-01 13:00
dtype: category
Categories (5, period[h]): [2011-01-01 09:00 < 2011-01-01 10:00 < 2011-01-01 11:00 < 2011-01-01 12:00 <
                            2011-01-01 13:00]r   r   z0    2011-01
1    2011-02
2    2011-03
3    2011-04
4    2011-05
dtype: category
Categories (5, period[M]): [2011-01 < 2011-02 < 2011-03 < 2011-04 < 2011-05]r   r   s       r!   +test_categorical_series_repr_period_orderedz?TestCategoricalRepr.test_categorical_series_repr_period_ordered  s    -CCCC;sD111221 Aww#~~~~93:::;sD11122P Aww#~~~~~~r#   c                    t          dd          }t          t          |                    }d}t          |          |k    sJ t          dd          }t          t          |                    }d}t          |          |k    sJ d S )N1 daysrN   r   z0   1 days
1   2 days
2   3 days
3   4 days
4   5 days
dtype: category
Categories (5, timedelta64[ns]): [1 days, 2 days, 3 days, 4 days, 5 days]1 hoursr   a  0   0 days 01:00:00
1   1 days 01:00:00
2   2 days 01:00:00
3   3 days 01:00:00
4   4 days 01:00:00
5   5 days 01:00:00
6   6 days 01:00:00
7   7 days 01:00:00
8   8 days 01:00:00
9   9 days 01:00:00
dtype: category
Categories (10, timedelta64[ns]): [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00,
                                   3 days 01:00:00, ..., 6 days 01:00:00, 7 days 01:00:00,
                                   8 days 01:00:00, 9 days 01:00:00]r   r	   r   r   r   s       r!   &test_categorical_series_repr_timedeltaz:TestCategoricalRepr.test_categorical_series_repr_timedelta  s    h222;s##$$M Aww#~~~~i444;s##$$H Aww#~~~~~~r#   c                    t          dd          }t          t          |d                    }d}t          |          |k    sJ t          dd          }t          t          |d                    }d	}t          |          |k    sJ d S )
Nr  rN   r   Tr   z0   1 days
1   2 days
2   3 days
3   4 days
4   5 days
dtype: category
Categories (5, timedelta64[ns]): [1 days < 2 days < 3 days < 4 days < 5 days]r  r   a  0   0 days 01:00:00
1   1 days 01:00:00
2   2 days 01:00:00
3   3 days 01:00:00
4   4 days 01:00:00
5   5 days 01:00:00
6   6 days 01:00:00
7   7 days 01:00:00
8   8 days 01:00:00
9   9 days 01:00:00
dtype: category
Categories (10, timedelta64[ns]): [0 days 01:00:00 < 1 days 01:00:00 < 2 days 01:00:00 <
                                   3 days 01:00:00 ... 6 days 01:00:00 < 7 days 01:00:00 <
                                   8 days 01:00:00 < 9 days 01:00:00]r  r   s       r!   .test_categorical_series_repr_timedelta_orderedzBTestCategoricalRepr.test_categorical_series_repr_timedelta_ordered#  s    h222;sD11122Q Aww#~~~~i444;sD11122I Aww#~~~~~~r#   N)r   r   r   r   r   r   r   r   r   r  r  r  r
  r?   r#   r!   r   r   %  s          "*" *" *"X  4  4  8  8  4  4  @    r#   r   )r   r   numpyrC   r   pandasr   r   r   r   r	   r
   r   r   r   pandas._testing_testingr   r   r   r?   r#   r!   <module>r     s5         
         	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	      K" K" K" K" K" K" K" K"\\ \ \ \ \ \ \ \ \ \r#   