U
    >vf0                     @   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   s   | j S Nvaluesser r   E/tmp/pip-unpacked-wheel-vdrwu74i/pandas/tests/copy_view/test_array.py<lambda>       r   c                 C   s
   t | S r   npasarrayr
   r   r   r   r      r   r	   r   )idsc              	   C   s   t dddgdd}| }||}| rt|t|ds<t|jjdksLttj	t
dd d	|d	< W 5 Q R X t|| d	|jd	< |jd	 d	kstn*|jjd
kstd	|d	< |jd	 d	kstd S )N         namer   F	read-onlymatchr   T)r   copyr   shares_memoryr   AssertionError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   0   r   c                 C   s
   t | S r   r   r+   r   r   r   r   0   r   c              	   C   s   t dddgdddgd}| }||}| rt|t|dsDt|jjd	ksTttj	t
d
d d|d< W 5 Q R X t|| d|jd< |jd dkstn<|jjdkstd|d< |s|jd dkstnt|| d S )Nr   r   r            abr1   Fr   r   r   )r   r   T)r   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     
r4   c              	   C   sT  t dddgdd}| }| }| rt|t|ds<t|jjdksLtt	j
tdd d	|d	< W 5 Q R X t|| d	|jd	< |jd	 d	kstn*|jjd
kstd	|d	< |jd	 d	kstt dddgdd}|jd
d}t|t|drt|jjd
kstt dddgdd}|jdd}t|t|dr>t|jjd
ksPtd S )Nr   r   r   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   r   test_series_to_numpyO   s,    
r6   orderFCc                 C   sF   t dddg}|j|d}| r.|jjdks.ttt||sBtd S )Nr   r   r   )r7   F)r   Zravelr   r    r   r   r   r   )r'   r7   r   r)   r   r   r   test_ravel_read_onlyt   s
    r:   c                 C   s   t dddgdd}tj|dd}t|t|s4t| rJ|jjdksZtn|jjdksZtt|}t|t|rxt|jjdkstd S )	Nr   r   r   Int64r5   int64FT)r   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dddgidd}tj|dd}t|t|dr:t|jjdksJtt|}| rj|jjd	ksztn|jjdksztd S )
Nr1   r   r   r   r;   r5   r<   TFr   r   r   r   r   r   r   r    r'   r,   r)   r   r   r   test_dataframe_array_ea_dtypes   s    
r@   c                 C   sb   t dddgidd}t|}|s8t|t|ds8t| rN|jjdks^tn|jjdks^td S )Nr1   r2   stringr5   FTr>   )r'   r3   r,   r)   r   r   r   !test_dataframe_array_string_dtype   s    
rB   c                  C   sH   t dddgdd} t| }t|t| dr4t|jjdksDtd S )Nr   r   r   g      ?r0   r1   Tr>   r,   r)   r   r   r   $test_dataframe_multiple_numpy_dtypes   s    
rD   c                 C   sH   t dtdddi}t|}| r4|jjdksDtn|jjdksDtd S )Nr1   z
2012-01-01r   )ZperiodsFT)r   r   r   r   r   r    r   r?   r   r   r   test_values_is_ea   s
    
rE   c                  C   s$   t  } t| }|jjdks td S )NT)r   r   r   r   r    r   rC   r   r   r   test_empty_dataframe   s    
rF   )Znumpyr   r!   Zpandasr   r   r   Zpandas._testingZ_testingr$   Zpandas.tests.copy_view.utilr   markZparametrizer*   r4   r6   r:   r=   r@   rB   rD   rE   rF   r   r   r   r   <module>   s2   

%
	