U
    -e                  
   @   s   d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlZd dlmZmZ d dlmZ dd Zejddd	d
ddddgdd Zdd Zejjedddd Zdd Zejdejdd Zdd Zdd ZdS )     N)IS64PYPY)is_categorical_dtypeis_dtype_equalis_object_dtype)IndexSeriesc                  C   s`   t jjj} | dstt jjj} | ds0ttjj} | dsFttjj} | ds\td S )Nz4
DataFrame.notnull is an alias for DataFrame.notna.
z2
DataFrame.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.
)pdZ	DataFrameZnotnull__doc__
startswithAssertionErrorZisnullr   )doc r   \/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/pandas/tests/base/test_misc.pytest_isnull_notnull_docstrings   s    

r   zop_name, op)add+)sub-)mul*)mod%)powz**)truediv/)floordivz//c                 C   sb   | }|j  }d}d|||g}|t||jks6td|||g}|t|d| jks^td S )Nother r)__name__lowerjoingetattrr
   r   )Zframe_or_seriesZop_nameopklassZoperand1Zoperand2Zexpected_strr   r   r   test_binary_ops_docstring&   s    
r&   c              	   C   s   | }dD ]}t ||d d k	stqdD ]}t||r&tq&d}tjt|d |  W 5 Q R X |jdksnt|jt	|kstt
dg dksttdg dkstd S )N)shapedtypeTnbytes)stridesitemsizebasedataz6can only convert an array of size 1 to a Python scalarmatch   )r#   r   hasattrpytestraises
ValueErroritemndimsizelenr   r   )index_or_series_objobjpmsgr   r   r   test_ndarray_compat_propertiesA   s    r>   znot relevant for PyPyreasonc           
      C   s  | }|  }|j dd}t|t}t|p<t|to<t|j}t|jp\t|to\t|jj}t|dpx|oxt|jjd}t|dkrt|t	rd}nt
rdnd}||  kr|ksn tn&|s|s|r||kstn||kst|t| }	t|	dk std S )NT)deepzstring[python]r   l   @   d   )memory_usage
isinstancer   r   indexr   r(   r   r9   r   r   r   sys	getsizeofabs)
r:   r;   resZres_deepZis_serZ	is_objectZis_categoricalZis_object_stringexpecteddiffr   r   r   test_memory_usageW   s.    



rN   c                 C   s:   | }|j dd}|j dd}|j  }||| ks6td S )NTrG   F)rE   rG   r   )Zseries_with_simple_indexseriestotal_usagenon_index_usageindex_usager   r   r   #test_memory_usage_components_series{   s
    
rT   r(   c                 C   sD   t jd| d}|jdd}|jdd}|j }||| ks@td S )Na)namer(   TrO   F)tmZmake_rand_seriesrE   rG   r   )r(   rP   rQ   rR   rS   r   r   r   *test_memory_usage_components_narrow_series   s
    
rX   c                 C   s   |}t |tjr(| jtjjdd n0|jj	dkrXt |t
rXtjjdd}| j| t|dd}t||}d|  krt|ksn ttj||tt|d}d|  krt|ksn td S )Nz7np.searchsorted doesn't work on pd.MultiIndex: GH 14833r?   cz"complex objects are not comparabler   )default)Zsorter)rF   r	   Z
MultiIndexnodeZ
add_markerr3   markZxfailr(   kindr   maxnpZsearchsortedr9   r   range)requestr:   r;   r\   Zmax_objrG   r   r   r   test_searchsorted   s    rb   c              	   C   s   | }t |dkrtd t|}|d |jd ks8t|d |jd ksNt|d |jd ksdtt |}|d ||d  kstd| d| }t|jdrd	}tjt	|d
 ||  W 5 Q R X d}tjt	|d
 |j|  W 5 Q R X d S )Nr   z%Test doesn't make sense on empty data   r1   zindex z' is out of bounds for axis 0 with size zstring[pyarrow]zindex out of boundsr/   z*single positional indexer is out-of-bounds)
r9   r3   skipr   Zilocr   r   r(   r4   
IndexError)Z
index_flatrG   rP   r8   r=   r   r   r   test_access_by_position   s"    
rg   )rH   numpyr_   r3   Zpandas.compatr   r   Zpandas.core.dtypes.commonr   r   r   Zpandasr	   r   r   Zpandas._testingZ_testingrW   r   r\   Zparametrizer&   r>   ZskipifrN   rT   ZNARROW_NP_DTYPESrX   rb   rg   r   r   r   r   <module>   s8   

#
