o
    Û­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   ó   | j S ©N©Úvalues©Úser© r   ú^/var/www/html/CropPilot/venv/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      ó   
 c                 C   ó   t j| dd�S ©NF©Úcopy©r   Úarrayr   r   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   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   

ÿ
r4   c                 C   r   r	   r
   ©Údfr   r   r   r   7   r   c                 C   r   r	   r   r5   r   r   r   r   8   r   c                 C   r   r   r   r   r   r   r   r   9   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Úbr<   Fr%   r&   r   )r   r   T)r   r   r   r(   r   r)   r*   r+   r,   r-   r.   Úassert_frame_equalr0   r   )r1   Úusing_array_managerr   r6   Údf_origr3   r   r   r   Útest_dataframe_values4   s"   

ÿ
rA   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   Tr   Úfloat64©Údtype)r   r   Úto_numpyr   r(   r   r)   r*   r+   r,   r-   r.   r/   r0   r   )r1   r   r2   r3   r   r   r   Útest_series_to_numpyY   s.   
ÿ
rF   Ú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&   )rG   F)
r   r.   Úassert_produces_warningÚFutureWarningÚravelr)   r*   r   r(   r   )r1   rG   r   r3   r   r   r   Útest_ravel_read_only~   s   ÿrM   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   ÚInt64rC   Úint64FT)r   r   r   r(   r   r)   r*   )r1   r   r3   r   r   r   Útest_series_array_ea_dtypesˆ   s   
rP   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 )Nr<   r   rN   rC   rO   FT©r   r   r   r(   r   r)   r*   ©r1   r6   r3   r   r   r   Útest_dataframe_array_ea_dtypes™   s   
rS   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 )Nr<   r=   ÚstringrC   FTrQ   )r1   r?   r6   r3   r   r   r   Ú!test_dataframe_array_string_dtypeª   s   
rU   c                  C   s¨   t g d¢ddœƒ} t | ¡}t |t| dƒ¡rJ ‚|jjdu s!J ‚trCd}tj	t
|d�� tj| dd	�}W d   ƒ n1 s>w   Y  tj| dd	�}|jjdu sRJ ‚d S )
Nr   g      ø?r;   r<   TzGStarting with NumPy 2.0, the behavior of the 'copy' keyword has changedr&   Fr   )r   r   r   r(   r   r)   r*   r   r+   r,   rK   r   )r6   r3   Úmsgr   r   r   Ú$test_dataframe_multiple_numpy_dtypesµ   s   
ÿrW   c                  C   sN   t g d¢g d¢dœƒ} tj| dd�}t |t| dƒ¡rJ ‚|jjdu s%J ‚d S )Nr   r7   r;   Tr   r<   )r   r   r   r(   r   r)   r*   ©r6   r3   r   r   r   Ú%test_dataframe_single_block_copy_trueÆ   s   rY   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 )Nr<   z
2012-01-01r"   )ÚperiodsFT)r   r   r   r   r)   r*   rR   r   r   r   Útest_values_is_eaÎ   s
   
r[   c                  C   s$   t ƒ } t | ¡}|jjdu sJ ‚d S )NT)r   r   r   r)   r*   rX   r   r   r   Útest_empty_dataframe×   s   
r\   )Únumpyr   r+   Úpandas.compat.numpyr   Úpandasr   r   r   Úpandas._testingÚ_testingr.   Úpandas.tests.copy_view.utilr   ÚmarkÚparametrizer4   rA   rF   rM   rP   rS   rU   rW   rY   r[   r\   r   r   r   r   Ú<module>   sD    ýù
	ýù
	%
		