o
    d0                     @   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   U/app/.heroku/python/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   sD   t g d}|j|d}| r|jjdu sJ tt||s J d S )Nr   )r9   F)r   Z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|r;J |jjdu sCJ 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rJ |jjdu s$J t|}| r5|jjdu s3J d S |jjdu s=J d S )Nr3   r   r=   r7   r>   TFr   r   r   r    r   r!   r"   r)   r.   r+   r   r   r   test_dataframe_array_ea_dtypes   s   
rB   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   FTr@   )r)   r5   r.   r+   r   r   r   !test_dataframe_array_string_dtype   s   
rD   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   Tr@   r.   r+   r   r   r   $test_dataframe_multiple_numpy_dtypes   s   
rF   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"   rA   r   r   r   test_values_is_ea   s
   
rG   c                  C   s$   t  } t| }|jjdu sJ d S )NT)r   r   r   r!   r"   rE   r   r   r   test_empty_dataframe   s   
rH   )numpyr   r#   Zpandasr   r   r   Zpandas._testingZ_testingr&   Zpandas.tests.copy_view.utilr   markZparametrizer,   r6   r8   r<   r?   rB   rD   rF   rG   rH   r   r   r   r   <module>   s4    

%
	