U
    ÎZjW  ã                
   @   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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/TRUCKING_PROJECT/venv/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s€t‚t
dgƒ ¡ dks–t‚tdgƒ ¡ dks¬t‚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>   c               	   C   sb   t dddgddddgd�} t t¡�  |  tjdd	d
gdd�¡}W 5 Q R X | d }t ||¡ d S )Nr1   é   é   Zint64ÚaÚbÚc)r(   Úindexé   é   )r(   )r   ÚtmZassert_produces_warningÚDeprecationWarningZ__array_wrap__ÚnpÚarrayZassert_series_equal)ÚorigÚresultÚexpectedr   r   r   Útest_array_wrap_compatW   s
    $rN   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 t‚n&|sÊ|sÊ|rØ||ksät‚n||ksät‚|t |¡ }	t|	ƒdk �st‚d S )NT)Údeepzstring[python]r   él   é@   éd   )Úmemory_usageÚ
isinstancer   r   rD   r   r(   r   r9   r   r   r   ÚsysÚ	getsizeofÚabs)
r:   r;   ÚresZres_deepZis_serZ	is_objectZis_categoricalZis_object_stringrM   Údiffr   r   r   Útest_memory_usageb   s.    
ÿ
ÿ
ÿ
r\   c                 C   s:   | }|j dd�}|j dd�}|j  ¡ }||| ks6t‚d S )NT©rD   F)rU   rD   r   )Zseries_with_simple_indexÚseriesÚtotal_usageÚnon_index_usageÚindex_usager   r   r   Ú#test_memory_usage_components_series†   s
    
rb   r(   c                 C   sD   t jd| d�}|jdd�}|jdd�}|j ¡ }||| ks@t‚d S )NrA   )Únamer(   Tr]   F)rG   Zmake_rand_seriesrU   rD   r   )r(   r^   r_   r`   ra   r   r   r   Ú*test_memory_usage_components_narrow_seriesŽ   s
    
rd   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rˆt|ƒksŽn t‚tj||tt|ƒƒd�}d|  kr¾t|ƒksÄn t‚d S )Nz7np.searchsorted doesn't work on pd.MultiIndex: GH 14833rO   rC   z"complex objects are not comparabler   )Údefault)Zsorter)rV   r	   Z
MultiIndexÚnodeZ
add_markerr3   ÚmarkZxfailr(   Úkindr   ÚmaxrI   Zsearchsortedr9   r   Úrange)Úrequestr:   r;   rg   Zmax_objrD   r   r   r   Útest_searchsorted—   s    ÿÿrl   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s„t‚d|› d|› �}t|jdƒr¤d	}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_flatrD   r^   r8   r=   r   r   r   Útest_access_by_position±   s"    
rq   )rW   ÚnumpyrI   r3   Zpandas.compatr   r   Zpandas.core.dtypes.commonr   r   r   Zpandasr	   r   r   Zpandas._testingZ_testingrG   r   rg   Zparametrizer&   r>   rN   Zskipifr\   rb   ZNARROW_NP_DTYPESrd   rl   rq   r   r   r   r   Ú<module>   s:   ùþ

#
