a
    Pf                     @   s   d dl Zd dlmZmZmZmZmZ d dlm	Z
 d dlmZ 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d ZdS )    N)	DataFrameIndex
MultiIndex
RangeIndexSeries)	get_arrayc                  C   sn   t g dg dd} tjg ddd}|| d< tt| d|rFJ d|d< t| d tg ddd d S )	N                  abZint64)Zdtypecr   name)r   nparrayshares_memoryr   tmassert_series_equalr   )dfarr r   \/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/copy_view/test_setitem.pytest_set_column_with_array   s    r   c                 C   s   t g dg dd}tg d}||d< | rJtt|dt|sdJ ntt|dt|rdJ d|jd< |jd dksJ t|d tg ddd d S )Nr   r   r   r   r   r   )r   r   r   r   r   ilocr   r   )using_copy_on_writer   serr   r   r   test_set_column_with_series   s    
r#   c                 C   st   t g dg dd}tg d}||d< tt|d|jrBJ tdd}|j}||d< tt|d|rpJ d S )Nr   r   r   r   r	   r   d)r   r   r   r   r   valuesr   )r!   r   idxr   r   r   r   test_set_column_with_index3   s    
r'   c                 C   s   t g dg dd}t g dg dd}||ddg< | rZtt|dt|dsvJ ntt|dt|drvJ d	|jd
< t|d tg ddd d S )Nr   r   r   )      	   )
         )r   r$   r   r$   r   r   r   r   )r   r   r   r   r    r   r   r   )r!   r   Zdf2r   r   r   test_set_columns_with_dataframeE   s    
r/   c                 C   sd   t dg di}tg d}| }||d< | rJtt|t|dsJJ d|jd< t|| d S )Nr   r   r   r   d   r   r	   	r   r   copyr   r   r   r    r   r   r!   r   rhsZrhs_origr   r   r   test_setitem_series_no_copyX   s    
r6   c                 C   sj   t g dg dd}tg d}| }||d< | rPtt|t|dsPJ d|jd< t|| d S )Nr   )g?g?g333333?r   r   r   r0   r.   r2   r4   r   r   r   (test_setitem_series_no_copy_single_blockg   s    
r7   c                 C   sf   t g ddd}tg d}| }||d< | rLtt|t|dsLJ d|jd< t|| d S )Nr   r	   r   r   r   r0   r1   r2   r4   r   r   r   'test_setitem_series_no_copy_split_blocku   s    
r8   c                 C   sp   t g dg dgtg dg dgd}tddg}||d< tt||drXJ | rl|j	dslJ d S )	Nr   )r   r   r   )r   r   r   )columnsr+   r,   r   r   )
r   r   Zfrom_arraysr   r   r   r   Z_get_column_arrayZ_mgrZ_has_no_reference)r!   r   r5   r   r   r   ,test_setitem_series_column_midx_broadcasting   s    r:   c                 C   s   t g dg dd}td   |d  d7  < W d    n1 sF0    Y  t g dg dd}|d }t| |d7 }W d    n1 s0    Y  d S )Nr   r   r   r   r	   )r   r   Zassert_produces_warningZassert_cow_warning)r!   Zwarn_copy_on_writer   r"   r   r   r   %test_set_column_with_inplace_operator   s    .r;   )numpyr   Zpandasr   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   r   r#   r'   r/   r6   r7   r8   r:   r;   r   r   r   r   <module>   s   