
    OhU                        d dl mZ d dlmZ d dlZd dlZd dlZd dlm	Z	 d dl
mZmZ d dlmZmZmZmZmZ d Zd Zej*                  j-                  d	d
dg      d        Zd Zd Zd Zej*                  j7                  ed      d        Zej*                  j7                  e d      d        Zej*                  j-                  dg ddf e ed      d       e	       xr e f e ed      e      d
f ej@                   e!d       e!d      g      df ej@                   e!d      ddgg       e	       xr e fg      d        Z"d Z#y)    )StringIO)ascii_uppercaseN)using_string_dtype)HAS_PYARROWPYPY)CategoricalIndexIndex
MultiIndexSeries
date_rangec                     d} t        j                  t        d            j                  t         j                  j                  d      j                  dd| t                    }t        |      j                  d      }|j                          t               }|j                  |       ||d	k(     }t               }|j                  |       y )
Ni	  
abcdefghij   r   
   )sizedtypecategorybufd)nparraylisttakerandomdefault_rngintegersintr   astypeisnar   info)ndatasr   s2s        m/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_info.py'test_info_categorical_column_just_worksr'      s    A88D&',,
		a ))!Ras)CD 	tJ'AFFH
*CFFsFO	
18B
*CGGG    c                      t        ddg      } t        t        j                  d      |       }t	               }|j                  |       y )Nabr   indexr   )r   r   r   zerosr   r!   )idxr$   r   s      r&   test_info_categoricalr0   '   s8    
C:
&Crxx{#&A
*CFFsFOr(   verboseTFc                    | }t        t        t        |            |d      }t               }|j	                  ||       |j                         }t        j                  d      }|r|t        j                  d      z  }|rt        rdnd}|t        j                  d|j                          d	| d
      z  }||k(  sJ y )Nsth)r-   name)r1   r   zw        <class 'pandas.core.series.Series'>
        MultiIndex: 10 entries, ('foo', 'one') to ('qux', 'three')
        z            Series name: sth
            Non-Null Count  Dtype
            --------------  -----
            10 non-null     int64
             +z/        dtypes: int64(1)
        memory usage: z.0z bytes
        )
r   rangelenr   r!   getvaluetextwrapdedentr   memory_usage)	%lexsorted_two_level_string_multiindexr1   using_infer_stringr-   serr   resultexpected	qualifiers	            r&   test_info_seriesrC   /   s     2E
s5z"%e
<C
*CHHW#H&\\^F	H HOO
 	
 )[cI'')*"YK 8		 H Xr(   c                      t        ddgd      } t               }| j                  |       |j                         }t	        | j                               }t        j                  d| d      }||k(  sJ y )N   r   i8r   r   z    <class 'pandas.core.series.Series'>
    RangeIndex: 2 entries, 0 to 1
    Series name: None
    Non-Null Count  Dtype
    --------------  -----
    2 non-null      int64
    dtypes: int64(1)
    memory usage: z bytes
    )r   r   r!   r9   floatr<   r:   r;   )r$   r   r@   memory_bytesrA   s        r&   test_info_memoryrJ   R   sv    1vT"A
*CFFsFO\\^F)*L  . !		H Xr(   c                      t        t        j                  j                  d      j	                  d            } d}t        j                  t        |      5  | j                  d       d d d        y # 1 sw Y   y xY w)Nr   e   zIArgument `max_cols` can only be passed in DataFrame.info, not Series.info)matchrE   )max_cols)	r   r   r   r   standard_normalpytestraises
ValueErrorr!   )r$   msgs     r&   test_info_widerT   g   s\    ryy$$Q'77<=A
UC	z	- 	  s   A11A:c                  "   g d} d}| D ]  }t        t        j                  j                  d      j	                  d|      j                  |            }t               }|j                  |       |j                         }|dd| }||v rJ  y )N)int64float64zdatetime64[ns]ztimedelta64[ns]
complex128objectboolr   r   )r   r   r   z non-null     )	r   r   r   r   r   r   r   r!   r9   )dtypesr"   r   r$   r   resr4   s          r&   test_info_shows_dtypesr]   n   s    F 	A 299((+44QQ4?FFuMNj	3llnAnUG,s{{r(   z'on PyPy deep=True doesn't change result)reasonc                      t        ddgidg      } | j                  dd      | j                  d      kD  sJ t        ddgi      }|j                  d      |j                         kD  sJ y Nr*   rE   foor,   T)r-   deeprb   r   r<   s_with_object_indexs_objects     r&   $test_info_memory_usage_deep_not_pypyrh      s     #sE7;++ , ((t(45 5 5 sSEl#H  d +h.C.C.EEEEr(   z(on PyPy deep=True does not change resultc                      t        ddgidg      } | j                  dd      | j                  d      k(  sJ t        ddgi      }|j                  d      |j                         k(  sJ y r`   rd   re   s     r&    test_info_memory_usage_deep_pypyrj      s     #sE7;++ , 		)	)	)	56 6 6 sSEl#H  d +x/D/D/FFFFr(   zindex, plus)rE   r      ABCstrrG   rk   ra   barc                     t        d|       }t               }|j                  |       |rd|j                         v sJ y d|j                         vsJ y )NrE   r,   r   r6   )r   r   r!   r9   )r-   plusseriesr   s       r&    test_info_memory_usage_qualifiedrr      sP     AU#F
*C
KKCKclln$$$#,,.(((r(   c                  b   d} t        t              }t        j                  t	        t              t        d|       gddg      }t        t        j                  j                  d      j                  | |z        |      }|j                  d      }|j                  j                  |j                  j                  k(  sJ |j                  d	
      |j                  d	
      j                         kD  sJ |j                  d	
      j                         |j                  d	
      z
  }|dk  sJ y )Nd   20160101)periodsiddate)namesr   r,   Trc   i  )r8   r   r
   from_productr   r   r   r   r   r   rO   unstackvaluesnbytesr<   sum)NMr-   r$   	unstackeddiffs         r&   (test_info_memory_usage_bug_on_multiindexr      s    	AOA##	o	
:q ABVnE 	ryy$$Q'77A>eLA		$I88??i..55555>>t>$y'='=4'='H'L'L'NNNN !!t!,002Q^^^5NND$;;r(   )$ior   stringr   r:   numpyr   rP   pandas._configr   pandas.compatr   r   pandasr   r	   r
   r   r   r'   r0   markparametrizerC   rJ   rT   r]   xfailrh   rj   r   rY   rz   r7   rr   r    r(   r&   <module>r      s    "    -
  T5M2 3D*( 4 IJF KF t8$NOG PG 	E	tE{%	(/A/C/S*TU	tE{&	)40	 	 	 %(E!H!5	6>#J##U1Xu~$>?#%5+6	
	))r(   