a
    oÝEbh  ã                   @   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g d¢¡d	d
„ ƒZ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J ‚t jjj} |  d¡s0J ‚tjj} |  d¡sFJ ‚tjj} |  d¡s\J ‚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__Ú
startswithZisnullr   )Údoc© r   ú[/home/ja/django-apps/lartica_env/lib/python3.9/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v s6J ‚d |||g¡}|t|d| ƒjv s^J ‚d S )NÚotherú Úr)Ú__name__ÚlowerÚjoinÚgetattrr
   )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 usJ ‚qdD ]}t||ƒr&J ‚q&d}tjt|d�� | ¡  W d   ƒ n1 sj0    Y  |jdks‚J ‚|jt|ƒks”J ‚t	dgƒ ¡ dksªJ ‚t
dgƒ ¡ dksÀJ ‚d S )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Úmsgr   r   r   Útest_ndarray_compat_propertiesA   s    &r=   c                  C   sF   t g d¢dg d¢d�} |  tjg d¢dd�¡}| d }t ||¡ d S )N)r0   é   é   Zint64)ÚaÚbÚc)r'   Úindex)r>   é   é   )r'   r>   )r   Z__array_wrap__ÚnpÚarrayÚtmZassert_series_equal)ÚorigÚresultÚexpectedr   r   r   Útest_array_wrap_compatW   s    rL   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r¾t|t	ƒr–d}nt
rždnd}||  kr¶|ksän J ‚n&|sÊ|sÊ|rØ||ksäJ ‚n||ksäJ ‚|t |¡ }	t|	ƒdk �sJ ‚d S )NT)Údeepzstring[python]r   él   é@   éd   )Úmemory_usageÚ
isinstancer   r   rC   r   r'   r   r8   r   r   ÚsysÚ	getsizeofÚabs)
r9   r:   ÚresZres_deepZis_serZ	is_objectZis_categoricalZis_object_stringrK   Údiffr   r   r   Útest_memory_usagea   s.    
ÿ
ÿ
ÿ
rY   c                 C   s:   | }|j dd�}|j dd�}|j  ¡ }||| ks6J ‚d S )NT©rC   F)rR   rC   )Zseries_with_simple_indexÚseriesÚtotal_usageÚnon_index_usageÚindex_usager   r   r   Ú#test_memory_usage_components_series…   s
    
r_   r'   c                 C   sH   t jdd� | ¡}|jdd�}|jdd�}|j ¡ }||| ksDJ ‚d S )Nr@   )ÚnameTrZ   F)rH   ZmakeFloatSeriesZastyperR   rC   )r'   r[   r\   r]   r^   r   r   r   Ú*test_memory_usage_components_narrow_series�   s
    
ra   c                 C   sŠ   | }t |tjƒrt d¡ t|dd�}t ||¡}d|  krJt|ƒksPn J ‚tj||t	t|ƒƒd�}d|  kr€t|ƒks†n J ‚d S )Nz-np.searchsorted doesn't work on pd.MultiIndexr   )Údefault)Zsorter)
rS   r	   Z
MultiIndexr2   ÚskipÚmaxrF   Zsearchsortedr8   Úrange)r9   r:   Zmax_objrC   r   r   r   Útest_searchsorted–   s    
rf   c                 C   s  | }t |ƒdkrt d¡ t|ƒ}|d |jd ks8J ‚|d |jd ksNJ ‚|d |jd ksdJ ‚t |ƒ}|d ||d  ks„J ‚d|› d|› �}t|jdƒr¤d	}tjt|d
�� ||  W d   ƒ n1 sÐ0    Y  d}tjt|d
�� |j|  W d   ƒ n1 �s0    Y  d S )Nr   z%Test doesn't make sense on empty dataé   éÿÿÿÿr0   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)	r8   r2   rc   r   Zilocr   r'   r3   Ú
IndexError)Z
index_flatrC   r[   r7   r<   r   r   r   Útest_access_by_position§   s"    
&rj   )rT   ÚnumpyrF   r2   Zpandas.compatr   r   Zpandas.core.dtypes.commonr   r   r   Zpandasr	   r   r   Zpandas._testingZ_testingrH   r   ÚmarkZparametrizer%   r=   rL   ZskipifrY   r_   ZNARROW_NP_DTYPESra   rf   rj   r   r   r   r   Ú<module>   s,   þ


#
