o
    թZh                     @   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   X/var/www/html/lang_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   )Z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br3   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   r.   Zdf_origr+   r   r   r   test_dataframe_values.   s"   

r6   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rJ |jjdu sJ t g ddd}|jd
d}t|t|drJ |jjdu sJ d S )Nr   r   r   Fr   r   r   T)r   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_numpyO   s.   

r8   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   )r9   F)
r   r&   Zassert_produces_warningFutureWarningZravelr!   r"   r   r    r   )r)   r9   r   r+   r   r   r   test_ravel_read_onlyt   s   r=   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   Int64r7   int64FT)r   r   r   r    r   r!   r"   )r)   r   r+   r   r   r   test_series_array_ea_dtypes~   s   
r@   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 )Nr3   r   r>   r7   r?   FTr   r   r   r    r   r!   r"   r)   r.   r+   r   r   r   test_dataframe_array_ea_dtypes   s   
rC   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 )Nr3   r4   stringr7   FTrA   )r)   r5   r.   r+   r   r   r   !test_dataframe_array_string_dtype   s   
rE   c                  C   sF   t g ddd} t| }t|t| drJ |jjdu s!J d S )Nr   g      ?r2   r3   TrA   r.   r+   r   r   r   $test_dataframe_multiple_numpy_dtypes   s   
rG   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 )Nr3   z
2012-01-01r   )ZperiodsFT)r   r   r   r   r!   r"   rB   r   r   r   test_values_is_ea   s
   
rH   c                  C   s$   t  } t| }|jjdu sJ d S )NT)r   r   r   r!   r"   rF   r   r   r   test_empty_dataframe   s   
rI   )numpyr   r#   Zpandasr   r   r   Zpandas._testingZ_testingr&   Zpandas.tests.copy_view.utilr   markZparametrizer,   r6   r8   r=   r@   rC   rE   rG   rH   rI   r   r   r   r   <module>   s4    

%
		