o
    �¨ÊhÐ  ã                   @   sæ   d dl Zd dl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„ gdd	gd
�dd„ ƒZejjddd„ dd„ gdd	g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S )$é    N)Ú	DataFrameÚSeriesÚ
date_range)Ú	get_arrayÚmethodc                 C   ó   | j S ©N©Úvalues©Úser© r   úS/var/www/html/env/lib/python3.10/site-packages/pandas/tests/copy_view/test_array.pyÚ<lambda>   ó    r   c                 C   ó
   t  | ¡S r   ©ÚnpÚasarrayr   r   r   r   r      ó   
 r
   r   )Úidsc                 C   sÚ   t g d¢dd�}| ¡ }||ƒ}| rVt |t|dƒ¡sJ ‚|jjdu s%J ‚tjt	dd�� d|d< W d   ƒ n1 s;w   Y  t
 ||¡ d|jd< |jd dksTJ ‚d S |jjdu s^J ‚d|d< |jd dkskJ ‚d S )	N©é   é   é   Úname©r   Fú	read-only©Úmatchr   T)r   Úcopyr   Ú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   r   r   r	   ©Údfr   r   r   r   0   r   c                 C   r   r   r   r.   r   r   r   r   0   r   c                 C   sô   t g d¢g d¢dœƒ}| ¡ }||ƒ}| rYt |t|dƒ¡s J ‚|jjdu s(J ‚tjt	dd�� d|d	< W d   ƒ n1 s>w   Y  t
 ||¡ d|jd	< |jd	 dksWJ ‚d S |jjd
u saJ ‚d|d	< |sr|jd	 dkspJ ‚d S t
 ||¡ d S )Nr   )é   é   é   ©ÚaÚbr4   Fr   r   r   )r   r   T)r   r    r   r!   r   r"   r#   r$   r%   r&   r'   Úassert_frame_equalr)   r
   )r*   Úusing_array_managerr   r/   Údf_origr,   r   r   r   Útest_dataframe_values.   s"   
ÿ
r9   c                 C   s\  t g d¢dd�}| ¡ }| ¡ }| rUt |t|dƒ¡sJ ‚|jjdu s%J ‚tj	t
dd�� d|d< W d   ƒ n1 s;w   Y  t ||¡ d|jd< |jd dksTJ ‚n|jjdu s]J ‚d|d< |jd dksjJ ‚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ƒ¡r¤J ‚|jjdu s¬J ‚d S )Nr   r   r   Fr   r   r   T)r    Úfloat64©Údtype)r   r    Úto_numpyr   r!   r   r"   r#   r$   r%   r&   r'   r(   r)   r
   )r*   r   r+   r,   r   r   r   Útest_series_to_numpyO   s.   
ÿ
r>   ÚorderÚFÚCc                 C   sr   t g d¢ƒ}tjtdd�� |j|d�}W d   ƒ n1 sw   Y  | r-|jjdu s-J ‚t t	|ƒ|¡s7J ‚d S )Nr   zis deprecatedr   )r?   F)
r   r'   Úassert_produces_warningÚFutureWarningÚravelr"   r#   r   r!   r   )r*   r?   r   r,   r   r   r   Útest_ravel_read_onlyt   s   ÿrE   c                 C   s¢   t g d¢dd�}tj|dd�}t |t|ƒ¡sJ ‚| r$|jjdu s#J ‚n|jjdu s,J ‚t |¡}t |t|ƒ¡s;J ‚| rG|jjdu sEJ ‚d S |jjdu sOJ ‚d S )Nr   ÚInt64r;   Úint64FT)r   r   r   r!   r   r"   r#   )r*   r   r,   r   r   r   Útest_series_array_ea_dtypes~   s   
rH   c                 C   sª   t dg d¢idd�}tj|dd�}t |t|dƒ¡sJ ‚| r'|jjdu s&J ‚n|jjdu s/J ‚t |¡}t |t|dƒ¡s?J ‚| rK|jjdu sIJ ‚d S |jjdu sSJ ‚d S )Nr4   r   rF   r;   rG   FT©r   r   r   r!   r   r"   r#   ©r*   r/   r,   r   r   r   Útest_dataframe_array_ea_dtypes�   s   
rK   c                 C   sd   t dddgidd�}t |¡}|st |t|dƒ¡sJ ‚| r(|jjdu s&J ‚d S |jjdu s0J ‚d S )Nr4   r5   Ústringr;   FTrI   )r*   r7   r/   r,   r   r   r   Ú!test_dataframe_array_string_dtype    s   
rM   c                  C   sF   t g d¢ddœƒ} t | ¡}t |t| dƒ¡rJ ‚|jjdu s!J ‚d S )Nr   g      ø?r3   r4   TrI   ©r/   r,   r   r   r   Ú$test_dataframe_multiple_numpy_dtypes«   s   
rO   c                 C   sJ   t dtddd�iƒ}t |¡}| r|jjdu sJ ‚d S |jjdu s#J ‚d S )Nr4   z
2012-01-01r   )ÚperiodsFT)r   r   r   r   r"   r#   rJ   r   r   r   Útest_values_is_ea²   s
   
rQ   c                  C   s$   t ƒ } t | ¡}|jjdu sJ ‚d S )NT)r   r   r   r"   r#   rN   r   r   r   Útest_empty_dataframe»   s   
rR   )Únumpyr   r$   Úpandasr   r   r   Úpandas._testingÚ_testingr'   Úpandas.tests.copy_view.utilr   ÚmarkÚparametrizer-   r9   r>   rE   rH   rK   rM   rO   rQ   rR   r   r   r   r   Ú<module>   s4    ý
ý
%
		