
    .i                        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#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        c/var/www/app/trading-bot/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   zk        <class 'pandas.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.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_memoryrK   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_widerU   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rc   r   r<   s_with_object_indexs_objects     r&   $test_info_memory_usage_deep_not_pypyri      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 ra   re   rf   s     r&    test_info_memory_usage_deep_pypyrk      s     #sE7;++ , 		)	)	)	56 6 6 sSEl#H  d +x/D/D/FFFFr(   zindex, plus)rE   r      ABCstrrG   rl   rb   barc                     t               }t        d|       }|j                  |       |rd|j                         v sJ y d|j                         vsJ y )NrE   r,   r   r6   )r   r   r!   r9   )r-   plusr   seriess       r&    test_info_memory_usage_qualifiedrs      sP     *CAU#F
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,   Trd   i  )r8   r   r
   from_productr   r   r   r   r   r   rP   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(   c                      t        dg      } t               }| j                  |d       |j                         }t	        | j                               }t        j                  d| d      }|j                         |j                         k(  sJ y )NrE   F)r   show_countsz    <class 'pandas.Series'>
    RangeIndex: 1 entries, 0 to 0
    Series name: None
    Dtype
    -----
    int64
    dtypes: int64(1)
    memory usage: z bytes)	r   r   r!   r9   rH   r<   r:   r;   striprI   s        r&   test_info_show_counts_falser      s~    sA
*CFFsF&\\^F)*L  .	*
H <<>X^^----r(   )%ior   stringr   r:   numpyr   rQ   pandas._configr   pandas.compatr   r   pandasr   r	   r
   r   r   r'   r0   markparametrizerC   rK   rU   r^   xfailri   rk   r   rZ   r{   r7   rs   r   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(   