
    OhA                     H   d dl m Z mZ d dlmZ d dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlmZ  G d d      Zej2                  j5                  dd ed	      d
gg dfd ed	      dgg dfd ed	      dgg dfd ed	      dgg dfd ed	      dgg dfd eej8                  ej8                        d
gg dfd edej8                        d
gg dfd eej8                  d      d
gg dfg      ej2                  j5                  dddg      d               Zy)    )datetime	timedelta)StringION)NACategoricalCategoricalIndex	DataFrameIntervalIndex
MultiIndexNaTPeriodIndexSeries	Timestamp
date_rangeoption_contextperiod_rangec                      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ej                   j"                  d        Zd Zd Zej                   j"                  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                   jG                  de$jJ                  e$jL                  g      ej                   jG                  de'd ge(d!gg      d"               Z)d# Z*d$ Z+d% Z,d& Z-d' Z.d( Z/d) Z0d* Z1d+ Z2d, Z3d- Z4y.)/TestDataFrameReprc                     g d}g d}dg}t        |||      }t        |j                               t        u sJ ||d      }t        |j                               t        u sJ y )N)         r   )u   σu   τu   υu   φu   ψcolumnsindexr   )r	   type__repr__str)selfdataindex1colsdfsers         d/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/frame/test_repr.pytest_repr_should_return_strz-TestDataFrameRepr.test_repr_should_return_str   sb     9ztT8BKKM"c)))akCLLN#s***    c                    t        d      }t        j                  j                  d      j	                  |d      }t        |      j                  d      }|j                  t        k(  j                         sJ t        |       t        |j                  d dd d f          t        |j                  d dd d f          y )NACDEFGHIJKLMNOP   )  2   U1<   =   )listnprandomdefault_rngchoicer	   astypedtypesobjectallrepriloc)r   letswordsr#   s       r%   test_repr_bytes_61_linesz*TestDataFrameRepr.test_repr_bytes_61_lines,   s    %&		%%a(//jAu$$T*		V#((*** 	RRWWSbS!V_RWWSbS!V_r'   c                     t        j                  ddgddg      }t        t        j                  j                  d      j                  d      |      }t        j                  ||      }t        |       y )	N)r   r   )   r?   u   Δi1namesr*   )r*      r   )
r   from_tuplesr	   r1   r2   r3   standard_normaltmget_objr9   )r   frame_or_seriesr   objs       r%   test_repr_unicode_level_namesz/TestDataFrameRepr.test_repr_unicode_level_names8   s\    &&'7$?OP		--a0@@HPUVjjo.S	r'   c                     t        g dg dg dd      j                  ddg      }t        |j                        }d|d<   ||_        t	        |       d	d
g|d<   ||_        t	        |       y )Nr?   r*   r   rC   r         r   	   abcrT   rU   )fazboor   rW   rX   )r	   	set_indexr0   r   r9   )r   r#   r   s      r%   test_assign_index_sequencesz-TestDataFrameRepr.test_assign_index_sequences?   sh    YYYGHRR#J
 RXX!aR 5>aRr'   c                 t    t        dddgit        t        d      gddgg      }t        |      }d}||k(  sJ y )	NXr?   r*   20130101rT   rU   rD   z/              X
NaT        a  1
2013-01-01 b  2)r	   r   r   r9   r   r#   resultexpecteds       r%   test_repr_with_mi_natz'TestDataFrameRepr.test_repr_with_mi_natN   sF    aV}c9Z3H-ICQT:,VWbF!!!r'   c                 t    t        g ddd t        j                  t        g      }t	        |      }d}||k(  sJ y )Nr?   r*   r   rC   Tz'      0
True  1
None  2
NaN   3
NaT   4)r	   r1   nanr   r9   r^   s       r%   test_repr_with_different_nullsz0TestDataFrameRepr.test_repr_with_different_nullsT   s;    |dD"&&#%>?b
 !!!r'   c           	          t         j                  ddgd ddgt        ddgddd	gi}t        |
      }t	        |      }d}||k(  sJ y )Nr?   r*   r   rC   rO   rQ   Tr   rR   )r    zG   NaN  None  NaT  True
0    1     3    6     8
1    2     4    7     9)r1   rd   r   r	   r9   )r   dr#   r_   r`   s        r%   #test_repr_with_different_nulls_colsz5TestDataFrameRepr.test_repr_with_different_nulls_cols_   sV    VVaVTAq63Aq!fEAb !!!r'   c           	          t        ddidt        j                  idt        j                  idt        j                  iddidt        j                  id      }|j                  ddg      }t	        |       y )N)AA0006000nuitrk   rj   )AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFrm   ro   )r	   r1   rd   rY   r9   )r   df3idfs      r%   test_multiindex_na_reprz)TestDataFrameRepr.test_multiindex_na_repri   sm    4jA4bff=4bff=4bff=4c:4bff=	
 mmXx01S	r'   c                     t        j                  ddgg d      }t        dddgi|      }t        |      j	                  d	      }|d
   j                  d      sJ y )N)rT   r   foo)rU   r?   barrS   rA   valuer   r?   rD   
r*   za 0 foo)r   rE   r	   r9   split
startswith)r   r   r#   liness       r%   test_repr_name_coincidez)TestDataFrameRepr.test_repr_name_coincidey   s]    &&o.o
 !Q(6Rt$Qx""9---r'   c                 X   |}|}t        |       t        |       t        |j                         t        |j                         t               }|j                  |       |j                  |       |j                  j                  |       |j                  j                  |       y )N)buf)r9   Tr   	to_string)r   /multiindex_year_month_day_dataframe_random_data multiindex_dataframe_random_dataymdframer   s         r%   test_repr_to_stringz%TestDataFrameRepr.test_repr_to_string   s|    
 >0US	UWWSUUjC #c"C r'   c                 ~    t        t                      t        t        j                  d            }t        |       y )Nr+   rD   )r9   r	   r1   arange)r   r   s     r%   test_repr_emptyz!TestDataFrameRepr.test_repr_empty   s'    Y[ 		$0Ur'   c                     t        |       y )N)r9   )r   float_string_frames     r%   test_repr_mixedz!TestDataFrameRepr.test_repr_mixed   s     r'   c           	      r   t        t        j                  j                  d      j	                  d      t        d      D cg c]  }t        |       c}dt        d            }t        j                  |j                  d ddf<   t        j                  |j                  d ddf<   t        |       y c c}w )Nr*      )rj   BrD      rj   r   )
r	   r1   r2   r3   rF   ranger   rd   locr9   )r   ibiggies      r%   test_repr_mixed_bigz%TestDataFrameRepr.test_repr_mixed_big   s     YY**1-==cB&+Cj1c!f1 *
  "vv

3B38!vv

3B38V 2s    B4
c                     t        g d      }t        |       t        dgdgdg      }dt        |      vsJ dt        |      vsJ d	t        |      vsJ y )
N)r   r?   r   r   za
	bza
	dza
	fr   	za
)r	   r9   )r   no_indexr#   s      r%   	test_reprzTestDataFrameRepr.test_repr   s]    Y/X
|j\*N48###48###DH$$$r'   c                 L   t        ddgddgg      }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	      5  dt        |      vsJ 	 d d d        y # 1 sw Y   TxY w# 1 sw Y   ;xY w# 1 sw Y   y xY w)
Nr?   r*   r   rC   zdisplay.show_dimensionsTz2 rows x 2 columnsFtruncater	   r   r9   r   r#   s     r%   test_repr_dimensionsz&TestDataFrameRepr.test_repr_dimensions   s    AA'(5t< 	4'48333	4 5u= 	8'tBx777	8 5zB 	8'tBx777	8 	8	4 	4	8 	8	8 	8s#   BB(BBBB#c                     t        t        j                  d      t        d      t        d            }t	        |       y )N)r   rC   rC   r   r   )r	   r1   zerosr   r9   )r   r   s     r%   test_repr_bigzTestDataFrameRepr.test_repr_big   s*     288H-uQxuSzRVr'   c                     t        ddgdz  t        j                         dgdz  ddgdz  t        j                         t        d      z   dgdz  it	        j
                  d            }t        |       y )Nrw   r?   r,   rx   rD   )r	   r   todayr   r1   r   r9   )r   
unsortables     r%   test_repr_unsortablez&TestDataFrameRepr.test_repr_unsortable   sm     sRx 1#(w| 9Q</%2	 ))B-

 	Zr'   c                 *   t        |       t        dd      5  t        |       d d d        t        dddd      5  t        |       d d d        t        dddd      5  t        |       d d d        y # 1 sw Y   NxY w# 1 sw Y   8xY w# 1 sw Y   y xY w)Nzdisplay.precisionr   zdisplay.max_rows
   display.max_columnsr*   r+   )r9   r   )r   float_frames     r%   test_repr_float_frame_optionsz/TestDataFrameRepr.test_repr_float_frame_options   s    [/3 		 .4I1M 		 .6KTR 		 		 		 		 	s"   A1A=B	1A:=B	Bc                    d}t        d||gi      }t        |      }d}|j                  d      d   j                         |k(  sJ t        d||gi      }t        |      }|j                  d      d   j                         |k(  sJ y )Nu   σσσσrj   z      Arz   r   )r	   r9   r{   rstrip)r   uvalr#   r_   ex_tops        r%   test_repr_unicodez#TestDataFrameRepr.test_repr_unicode   s    )dD\*+b||D!!$++-777dD\*+b||D!!$++-777r'   c                 6    t        ddgi      }t        |       y )Nrj      א)r	   r   r   s     r%    test_unicode_string_with_unicodez2TestDataFrameRepr.test_unicode_string_with_unicode   s    hZ()Br'   c                 X    t        g dg dg dd      }t        |j                         y )NrM   rN   rP   )r   u   בrV   )r	   r9   r   r   s     r%   test_repr_unicode_columnsz+TestDataFrameRepr.test_repr_unicode_columns   s    )yyQRRZZr'   c                     t        ddgi      }d}t        j                  t        |      5  t	        |       d d d        y # 1 sw Y   y xY w)Nrj   abcz2^'str' object cannot be interpreted as an integer$match)r	   pytestraises	TypeErrorbytes)r   r#   msgs      r%   test_str_to_bytes_raisesz*TestDataFrameRepr.test_str_to_bytes_raises   sA    eW~&B]]9C0 	"I	 	 	s   AA
c                     t        t        j                  j                  d      j	                  d      t        j
                  dgdz  t                    }t        |       y )Nr*   )r   r   
aaaaaaaaaar   dtyper   )r	   r1   r2   r3   rF   arrayr7   r9   r   s     r%   test_very_wide_reprz%TestDataFrameRepr.test_very_wide_repr  sF    II!!!$44X>HHhZ"_F;
 	Rr'   c                     t        dgdd      }t        dd      5  dt        |      v sJ 	 d d d        y # 1 sw Y   y xY w)Nizl u  Is it possible to modify drop plot codeso that the output graph is displayed in iphone simulator, Is it possible to modify drop plot code so that the output graph is â¨displayed in iphone simulator.Now we are adding the CSV file externally. I want to Call the File through the code..)Id	StringColr   r   r   r   r   s     r%   ,test_repr_column_name_unicode_truncation_bugz>TestDataFrameRepr.test_repr_column_name_unicode_truncation_bug	  sO    i2
  126 	+$r(***	+ 	+ 	+s   6?c                     t        j                  d       d}t        dd dd      5  t        g dg dg      }|j	                         }||k(  sJ 	 d d d        j	                         J y # 1 sw Y   xY w)Njinja2z{\begin{tabular}{llll}
\toprule
 & 0 & 1 & 2 \\
\midrule
0 & $\alpha$ & b & c \\
1 & 1 & 2 & 3 \\
\bottomrule
\end{tabular}
zstyler.format.escapezstyler.render.reprlatex)z$\alpha$rU   rV   rM   )r   importorskipr   r	   _repr_latex_)r   r`   r#   r_   s       r%   test_latex_reprz!TestDataFrameRepr.test_latex_repr  s    H% "D*>
 	& 3Y?@B__&FX%%%	&  (((	& 	&s   )A++A4c                 d    t        dg dit        dd            }t        |      }d}||k(  sJ y )Nrj   rM   2000r   )periodsrD   z7            A
2000-01-01  1
2000-01-02  2
2000-01-03  3r	   r   r9   r^   s       r%   test_repr_with_datetimeindexz.TestDataFrameRepr.test_repr_with_datetimeindex3  s6    Y'z&!/LMbO!!!r'   c                 x    t        dg dit        j                  g d            }t        |      }d}||k(  sJ y )Nrj   rc   )r   r?   r*   r   rC   rD   z1        A
(0, 1]  1
(1, 2]  2
(2, 3]  3
(3, 4]  4)r	   r
   from_breaksr9   r^   s       r%   test_repr_with_intervalindexz.TestDataFrameRepr.test_repr_with_intervalindex9  s?    ,}'@'@'Q
 bJ!!!r'   c                 d    t        dg dit        g d            }t        |      }d}||k(  sJ y )Nrj   rM   rS   rD   z   A
a  1
b  2
c  3)r	   r   r9   r^   s       r%    test_repr_with_categorical_indexz2TestDataFrameRepr.test_repr_with_categorical_indexB  s5    Y'/?/PQb+!!!r'   c                     t        dddd      }t        ddd      }t        ||d	      }d
}t        |      |k(  sJ t        t	        |      t	        |      d	      }t        |      |k(  sJ y )Nz2011-01-01 09:00hr   z
US/Eastern)freqr   tzz2011-01M)r   r   )dtpz                         dt        p
0 2011-01-01 09:00:00-05:00  2011-01
1 2011-01-01 10:00:00-05:00  2011-02
2 2011-01-01 11:00:00-05:00  2011-03
3 2011-01-01 12:00:00-05:00  2011-04
4 2011-01-01 13:00:00-05:00  2011-05)r   r   r	   r9   r   )r   r   r   r#   expdf2s         r%   #test_repr_categorical_dates_periodsz5TestDataFrameRepr.test_repr_categorical_dates_periodsH  sr    *aLQa8bq)*( Bx3{2[^DECyCr'   argzbox, expectedz0    NaT
dtype: objectz     0
0  NaTc                 N    t         | |d      gt                    }||k(  sJ y )Nr   r   )r9   r7   )r   r   boxr`   r_   s        r%   test_repr_np_nat_with_objectz.TestDataFrameRepr.test_repr_np_nat_with_objectY  s)     c3u:,f56!!!r'   c                 L    t        dt        ddd      i      }t        |       y )Nyearz1/1/1700r,   zYE-DEC)r   r   r   r   s     r%   "test_frame_datetime64_pre1900_reprz4TestDataFrameRepr.test_frame_datetime64_pre1900_reprc  s!    
:r QRSRr'   c                     t        g dd      }t        t        j                  j	                  d      j                  d      |      }|j                          y )N)z2011-1z2011-2z2011-3r   )r   r*   )r   rC   rD   )r   r	   r1   r2   r3   rF   r   )r   r   r   s      r%   %test_frame_to_string_with_periodindexz7TestDataFrameRepr.test_frame_to_string_with_periodindexh  sB    :E"))//2BB6JRWX 	r'   c           	          t        dddgit        j                  t        t        dgd      g            }|j                         }d}||k(  sJ y )NrT   r?   r*   Int64r   rD   z      a
<NA>  1
1     2)r	   r   from_arraysr   r   r   r^   s       r%   "test_to_string_ea_na_in_multiindexz4TestDataFrameRepr.test_to_string_ea_na_in_multiindexo  sW    1a&M((&"a*H)IJ

  !!!r'   c                     t        dt        ddd      i      }t        |      }|j                  d d d df   }t        |      }||k(  sJ y )Nx2019r   UTC)r   r   r   )r	   r   r9   r:   r   r#   r`   r_   s       r%   $test_datetime64tz_slice_non_truncatez6TestDataFrameRepr.test_datetime64tz_slice_non_truncate|  sO    ZuEFG8WWQU^b!!!r'   c                     t        ddgddgddggddg	      }|ddg   j                         |d
<   d}t        |      }||k(  sJ y )NrT   rU   rV   rg   efleftrightr   recordz_  left right     record
0    a     b  [0, a, b]
1    c     d  [1, c, d]
2    e     f  [2, e, f])r	   
to_recordsr9   r   s       r%   $test_to_records_no_typeerror_in_reprz6TestDataFrameRepr.test_to_records_no_typeerror_in_repr  sb    c
S#Jc
;fgEVW67+,7798 b!!!r'   c                     t        dt        j                  gddgddggddg      }|ddg   j                         |d	<   d
}t	        |      }||k(  sJ y )NrT   rV   rg   r   r   r   r   r   r   zg  left right       record
0    a   NaN  [0, a, nan]
1    c     d    [1, c, d]
2    e     f    [2, e, f]r	   r1   rd   r   r9   r   s       r%   $test_to_records_with_na_record_valuez6TestDataFrameRepr.test_to_records_with_na_record_value  sk    266]S#Jc
3fg=N
 67+,7798 b!!!r'   c                     t        ddgt        j                  t        j                  gddggt        j                  dg      }|t        j                  dg   j                         |d<   d}t	        |      }||k(  sJ y )	NrT   rU   r   r   r   r   r   zo   NaN right         record
0    a     b      [0, a, b]
1  NaN   NaN  [1, nan, nan]
2    e     f      [2, e, f]r  r   s       r%   test_to_records_with_na_recordz0TestDataFrameRepr.test_to_records_with_na_record  sx    3Z"&&"&&)C:6@Q
 2667+,7798 b!!!r'   c                    d}d}t        j                  t        |      5  t        dd      5  t	        t
        j                  dgt
        j                  t
        j                  gddggt
        j                  t
        j                  g	      }|t
        j                  t
        j                  g   j                         |d
<   t        |      }d d d        d d d        |k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w)Nk   NaN  inf         record
0  inf    b    [0, inf, b]
1  NaN  NaN  [1, nan, nan]
2    e    f      [2, e, f]"use_inf_as_na option is deprecatedr   use_inf_as_naTrU   r   r   r   r   
rG   assert_produces_warningFutureWarningr   r	   r1   infrd   r   r9   r   r`   r   r#   r_   s        r%   %test_to_records_with_inf_as_na_recordz7TestDataFrameRepr.test_to_records_with_inf_as_na_record  s     3''SA 	"6 "ffc]RVVRVV$4sCjAVVRVV,  "266266"23>>@8b"	" !!!" "	" 	"#   C/BC#C/#C,	(C//C8c                    d}d}t        j                  t        |      5  t        dd      5  t	        t
        j                  dgt
        j                  t
        j                  gddggt
        j                  t
        j                  g	      }|t
        j                  t
        j                  g   j                         |d
<   t        |      }d d d        d d d        |k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w)Nr  r  r   r	  FrU   r   r   r   r   r
  r  s        r%   test_to_records_with_inf_recordz1TestDataFrameRepr.test_to_records_with_inf_record  s     3''SA 	"7 "ffc]RVVRVV$4sCjAVVRVV,  "266266"23>>@8b"	" !!!" "	" 	"r  c                     t        t        ddgd      t        ddgd      d      }|j                  d	j                  d	j                  g
      }d}||k(  sJ y )Ng_c97ݚ?g6sӭ?Float64r   r?   r*   r   )rT   rU   z{:.2f})
formattersz)      a     b
0  0.12  1.00
1  1.12  2.00)r	   r   r   formatr^   s       r%   test_masked_ea_with_formatterz/TestDataFrameRepr.test_masked_ea_with_formatter  sd    [+6iHQF'2
 (//8??)KL !!!r'   c                     t        j                  d       t        g dg dd      }|j                  j	                  |      |_        d}t        |      |k(  sJ y )NpyarrowrM   rN   )long_column_namecol2zg   long_column_name  col2
0                 1     4
1                 2     5
2                 3     6)r   r   r	   r   r5   r9   )r   any_string_dtyper#   r`   s       r%   test_repr_ea_columnsz&TestDataFrameRepr.test_repr_ea_columns  sQ    I&IyIJZZ&&'78
 Bx8###r'   N)5__name__
__module____qualname__r&   r=   rK   rZ   ra   re   rh   ru   r~   r   r   r   r   markslowr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   parametrizer1   
datetime64timedelta64r   r	   r   r   r   r   r   r   r  r  r  r  r  r   r'   r%   r   r      s]   +
"	"" .!&! [[ %	8 [[ 

8+*)*""" " [[UR]]BNN$CD[[
+	,y:J.KL"	 E
"

""	""""""""	$r'   r   zdata,outputr*   rd   r?   )	 2.0+0.0j	 NaN+0.0jz	 1.0+0.0j)r'  r(  	-1.0+0.0j)z	-2.0+0.0jr(  r*  y       Gz)-0.00-1.23j  NaN+0.00jz-1.00+0.00jy        Gz?gGz?)z 0.00+1.23jr-  z 1.23+0.00j)r,  z  NaN+ NaNj 1.00+0.00jg333333?)r,  z 1.20+ NaNjr.  g333333)r,  z  NaN-1.20jr.  as_frameTFc                    t        t        j                  |             }|r]|j                  d      }t	        |      D cg c]  \  }}| d|  }}}ddt        |d          dddj                  |      z   }n6t	        |      D cg c]  \  }}| d|  }}}dj                  |      d	z   }t        |      |k(  sJ dt        |       d
|        y c c}}w c c}}w )Nval)name z >r    rz   z   z
dtype: complex128z

)r   r1   r   to_frame	enumeratelenjoinr   )r    outputr/  rJ   r   r1  reprsr`   s           r%   test_repr_with_complex_nansr;    s    2 $
 Clll&,5f,=>&!SA3au>>Bs58}oP-.b1DIIe4DD.7.?@FAsA3c#@@99U#&;;s8x>2c#hZtH:!>> ? As   CC)r   r   ior   numpyr1   r   pandasr   r   r   r	   r
   r   r   r   r   r   r   r   r   pandas._testing_testingrG   r   r!  r#  complexrd   r;  r&  r'   r%   <module>rB     sH         F$ F$R 
WU^Q	!HI
WU^R	 "IJ
genb	!#JK
'%."	%'TU
	&(UVWRVVRVV,a09	

 WS"&&)1-9	

 WRVVT*A.9	
, dE]3
? 4-.
?r'   