a
    é´«j(  ã                   @   s  d dl Zd dlZd dlmZ d dlmZmZmZ d dl	m
Z d dlmZ ejjddd„ dd„ d	d„ gg d
¢d�dd„ ƒZejjddd„ dd„ dd„ gg d
¢d�dd„ ƒZdd„ Zej dddg¡dd„ ƒZdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ ZdS )(é    N)Únp_version_gt2)Ú	DataFrameÚSeriesÚ
date_range)Ú	get_arrayÚmethodc                 C   s   | j S ©N©Úvalues©Úser© r   ú`/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/copy_view/test_array.pyÚ<lambda>   ó    r   c                 C   s
   t  | ¡S r   ©ÚnpÚasarrayr   r   r   r   r      r   c                 C   s   t j| dd�S ©NF©Úcopy©r   Úarrayr   r   r   r   r      r   )r
   r   r   )Úidsc                 C   sØ   t g d¢dd�}| ¡ }||ƒ}| rªt |t|dƒ¡s:J ‚|jjdu sJJ ‚tjt	dd�� d|d< W d   ƒ n1 sv0    Y  t
 ||¡ d|jd< |jd dksÔJ ‚n*|jjdu sºJ ‚d|d< |jd dksÔJ ‚d S )	N©é   é   é   Úname©r   Fú	read-only©Úmatchr   T)r   r   r   Úshares_memoryr   ÚflagsÚ	writeableÚpytestÚraisesÚ
ValueErrorÚtmÚassert_series_equalÚilocr
   )Úusing_copy_on_writer   r   Úser_origÚarrr   r   r   Útest_series_values   s    
&
r/   c                 C   s   | j S r   r	   ©Údfr   r   r   r   7   r   c                 C   s
   t  | ¡S r   r   r0   r   r   r   r   8   r   c                 C   s   t j| dd�S r   r   r   r   r   r   r   9   r   c                 C   sð   t g d¢g d¢dœƒ}| ¡ }||ƒ}| r°t |t|dƒ¡s@J ‚|jjdu sPJ ‚tjt	dd�� d|d	< W d   ƒ n1 s|0    Y  t
 ||¡ d|jd	< |jd	 dksìJ ‚n<|jjd
u sÀJ ‚d|d	< |sà|jd	 dksìJ ‚nt
 ||¡ d S )Nr   ©é   é   é   ©ÚaÚbr7   Fr    r!   r   )r   r   T)r   r   r   r#   r   r$   r%   r&   r'   r(   r)   Zassert_frame_equalr+   r
   )r,   Úusing_array_managerr   r1   Zdf_origr.   r   r   r   Útest_dataframe_values4   s     
&
r:   c                 C   sd  t g d¢dd�}| ¡ }| ¡ }| rªt |t|dƒ¡s:J ‚|jjdu sJJ ‚tj	t
dd�� d|d< W d   ƒ n1 sv0    Y  t ||¡ d|jd< |jd dksÔJ ‚n*|jjdu sºJ ‚d|d< |jd dksÔJ ‚t g d¢dd�}|jdd	�}t |t|dƒ¡�rJ ‚|jjdu �sJ ‚t g d¢dd�}|jd
d�}t |t|dƒ¡�rNJ ‚|jjdu �s`J ‚d S )Nr   r   r   Fr    r!   r   Tr   Zfloat64©Zdtype)r   r   Zto_numpyr   r#   r   r$   r%   r&   r'   r(   r)   r*   r+   r
   )r,   r   r-   r.   r   r   r   Útest_series_to_numpyY   s,    &
r<   ÚorderÚFÚCc                 C   sr   t g d¢ƒ}tjtdd�� |j|d�}W d   ƒ n1 s<0    Y  | rZ|jjdu sZJ ‚t t	|ƒ|¡snJ ‚d S )Nr   zis deprecatedr!   )r=   F)
r   r)   Zassert_produces_warningÚFutureWarningZravelr$   r%   r   r#   r   )r,   r=   r   r.   r   r   r   Útest_ravel_read_only~   s    *rA   c                 C   s    t g d¢dd�}tj|dd�}t |t|ƒ¡s2J ‚| rH|jjdu sXJ ‚n|jjdu sXJ ‚t |¡}t |t|ƒ¡svJ ‚| rŒ|jjdu sœJ ‚n|jjdu sœJ ‚d S )Nr   ÚInt64r;   Úint64FT)r   r   r   r#   r   r$   r%   )r,   r   r.   r   r   r   Útest_series_array_ea_dtypesˆ   s    
rD   c                 C   s¨   t dg d¢idd�}tj|dd�}t |t|dƒ¡s8J ‚| rN|jjdu s^J ‚n|jjdu s^J ‚t |¡}t |t|dƒ¡s~J ‚| r”|jjdu s¤J ‚n|jjdu s¤J ‚d S )Nr7   r   rB   r;   rC   FT©r   r   r   r#   r   r$   r%   ©r,   r1   r.   r   r   r   Útest_dataframe_array_ea_dtypes™   s    
rG   c                 C   sb   t dddgidd�}t |¡}|s8t |t|dƒ¡s8J ‚| rN|jjdu s^J ‚n|jjdu s^J ‚d S )Nr7   r8   Ústringr;   FTrE   )r,   r9   r1   r.   r   r   r   Ú!test_dataframe_array_string_dtypeª   s    
rI   c                  C   s¨   t g d¢ddœƒ} t | ¡}t |t| dƒ¡r2J ‚|jjdu sBJ ‚tr†d}tj	t
|d�� tj| dd	�}W d   ƒ n1 s|0    Y  tj| dd	�}|jjdu s¤J ‚d S )
Nr   g      ø?r6   r7   TzGStarting with NumPy 2.0, the behavior of the 'copy' keyword has changedr!   Fr   )r   r   r   r#   r   r$   r%   r   r&   r'   r@   r   )r1   r.   Úmsgr   r   r   Ú$test_dataframe_multiple_numpy_dtypesµ   s    
,rK   c                  C   sN   t g d¢g d¢dœƒ} tj| dd�}t |t| dƒ¡r:J ‚|jjdu sJJ ‚d S )Nr   r2   r6   Tr   r7   )r   r   r   r#   r   r$   r%   ©r1   r.   r   r   r   Ú%test_dataframe_single_block_copy_trueÆ   s    rM   c                 C   sH   t dtddd�iƒ}t |¡}| r4|jjdu sDJ ‚n|jjdu sDJ ‚d S )Nr7   z
2012-01-01r   )ZperiodsFT)r   r   r   r   r$   r%   rF   r   r   r   Útest_values_is_eaÎ   s
    
rN   c                  C   s$   t ƒ } t | ¡}|jjdu s J ‚d S )NT)r   r   r   r$   r%   rL   r   r   r   Útest_empty_dataframe×   s    
rO   )Únumpyr   r&   Zpandas.compat.numpyr   Zpandasr   r   r   Zpandas._testingZ_testingr)   Zpandas.tests.copy_view.utilr   ÚmarkZparametrizer/   r:   r<   rA   rD   rG   rI   rK   rM   rN   rO   r   r   r   r   Ú<module>   sB   ýù	
ýù	
%
		