
    .i                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlZ	d dlm
Z
mZ d Zej                  j                  dg d      d        Zd	 Zej                  j#                  ed
      d        Zd Zd Zd Zd Zy)    N)PYPY)is_object_dtype)IndexSeriesc                     t         j                  j                  j                  } | j	                         j                  d      sJ t         j                  j                  j                  } | j	                         j                  d      sJ t        j                  j                  } | j                  d      sJ t        j                  j                  } | j                  d      sJ y )Nz2DataFrame.notnull is an alias for DataFrame.notna.z0DataFrame.isnull is an alias for DataFrame.isna.z.
Series.notnull is an alias for Series.notna.
z,
Series.isnull is an alias for Series.isna.
)pd	DataFramenotnull__doc__strip
startswithisnullr   )docs    Y/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/base/test_misc.pytest_isnull_notnull_docstringsr      s    
,,


&
&C99;!!"VWWW
,,


%
%C99;!!"TUUU
..
 
 C>>LMMM
--

C>>JKKK    zop_name, op))add+)sub-)mul*)mod%)powz**)truediv/)floordivz//c                     | }|j                   j                         }d}dj                  |||g      }|t        ||      j                  v sJ dj                  |||g      }|t        |d|z         j                  v sJ y )Nother r)__name__lowerjoingetattrr   )frame_or_seriesop_nameopklassoperand1operand2expected_strs          r   test_binary_ops_docstringr.       s     E~~##%HH88Xr845L75'2::::: 88Xr845L75#-8@@@@@r   c                    | }dD ]  }t        ||d       J  dD ]  }t        ||      sJ  d}t        j                  t        |      5  |j                          d d d        |j                  dk(  sJ |j                  t        |      k(  sJ t        dg      j                         dk(  sJ t        dg      j                         dk(  sJ y # 1 sw Y   sxY w)N)shapedtypeTnbytes)stridesitemsizebasedataz6can only convert an array of size 1 to a Python scalarmatch   )r&   hasattrpytestraises
ValueErroritemndimsizelenr   r   )index_or_series_objobjpmsgs       r   test_ndarray_compat_propertiesrG   ;   s    
C / 1sAt$0001 5 #3?""# CC	z	- 
 88q==88s3x!:??!!!1#;""" s   CCznot relevant for PyPyreasonc                    | }t        |t              r'd}|j                  j                  j	                          nd}|j                  j	                          |j                         }|j                  d      }fd |      xs |xr  |j                        }t        |      dk(  rd}||cxk(  r|k(  sJ  J |r||kD  s	J ||k(  sJ |t        j                  |      z
  }t        |      dk  sJ y )NTF)deepc                    t        | t        j                        rt        fd| j                  D              S t        | j
                  t        j                        r | j
                  j                        S t        | j
                  t        j                        r| j
                  j                  dk(  S t        |       S )Nc              3   .   K   | ]  } |        y w)N ).0level_is_object_dtypes     r   	<genexpr>z>test_memory_usage.<locals>._is_object_dtype.<locals>.<genexpr>a   s     G5'.Gs   python)
isinstancer   
MultiIndexanylevelsr1   CategoricalDtype
categoriesStringDtypestorager   )rD   rQ   s    r   rQ   z+test_memory_usage.<locals>._is_object_dtype_   s    c2==)GCJJGGG		2#6#67#CII$8$899		2>>299$$00s##r   r   d   )
rT   r   index_engineclear_mappingmemory_usagerB   sys	getsizeofabs)	index_or_series_memory_objrD   is_serresres_deephas_objectsexpecteddiffrQ   s	           @r   test_memory_usagerk   Q   s    
$C#v		'')!!#



CT*H$ #3'SF,R7G		7RK
3x1}3*(*****	#~~h cmmC((Dt9s??r   c                     | }|j                  d      }|j                  d      }|j                  j                         }|||z   k(  sJ y )NTr]   F)r`   r]   )series_with_simple_indexseriestotal_usagenon_index_usageindex_usages        r   #test_memory_usage_components_seriesrs   y   sR    %F%%D%1K)))6O,,++-K/K7777r   c           	         t        t        d      | t        d      D cg c]  }d| 	 c}d      }|j                  d      }|j                  d      }|j                  j                         }|||z   k(  sJ y c c}w )N   zi-a)r1   r]   nameTrm   F)r   ranger`   r]   )any_real_numpy_dtypeiro   rp   rq   rr   s         r   *test_memory_usage_components_narrow_seriesr{      s    a"!&q*AA3x*	F %%D%1K)))6O,,++-K/K7777 +s   A<c           	      N   |}t        |t        j                        r0| j                  t        j
                  j                  d             nZ|j                  j                  dk(  rAt        |t              r1t        j
                  j                  d      }| j                  |       t        |d      }t        j                  ||      }d|cxk  rt        |      k  sJ  J t        j                  ||t        t        |                  }d|cxk  rt        |      k  sJ  J y )Nz7np.searchsorted doesn't work on pd.MultiIndex: GH 14833rH   cz"complex objects are not comparabler   )default)sorter)rT   r   rU   applymarkerr<   markxfailr1   kindr   maxnpsearchsortedrB   rx   )requestrC   rD   r   max_objr]   s         r   test_searchsortedr      s     C#r}}%KKP  	

 
3	:c5#9 {{  (L MD!#q!GOOC)E!S!!!!!OOCs3xAE!S!!!!!r   c                    | }t        |      dk(  rt        j                  d       t        |      }|d   |j                  d   k(  sJ |d   |j                  d   k(  sJ |d   |j                  d   k(  sJ t        |      }|d   ||dz
     k(  sJ d| d| }t        |j                  t        j                        r|j                  j                  dk(  rd	}t        j                  t        |
      5  ||    d d d        d}t        j                  t        |
      5  |j                  |    d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   z%Test doesn't make sense on empty dataru   r:   zindex z' is out of bounds for axis 0 with size pyarrowzindex out of boundsr8   z*single positional indexer is out-of-bounds)rB   r<   skipr   ilocrT   r1   r   rZ   r[   r=   
IndexError)
index_flatr]   ro   rA   rF   s        r   test_access_by_positionr      s7   E
5zQ;<E]F8v{{1~%%%8v{{1~%%%9B'''u:D9dQh'''4&?v
FC%++r~~.5;;3F3F)3S#	z	- d
6C	z	- D   s   3D7E7E E)ra   numpyr   r<   pandas.compatr   pandas.core.dtypes.commonr   pandasr   r   r   r   r   parametrizer.   rG   skipifrk   rs   r{   r   r   rN   r   r   <module>r      s    
    
L AA#, D!89$ :$N8
8"4r   