o
    թZh                     @   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|r#J 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   Z/var/www/html/lang_env/lib/python3.10/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< | r%tt|dt|s$J ntt|dt|r2J d|jd< |jd dks@J 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r!J tdd}|j}||d< tt|d|r8J 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< | r-tt|dt|ds,J ntt|dt|dr;J 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< | r%tt|t|ds%J 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< | r(tt|t|ds(J 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< | r&tt|t|ds&J 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   st   t g dg dgtg dg dgd}tddg}||d< tt||dr,J | r6|j	ds8J d S 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 s#w   Y  t g dg dd}|d }t| |d7 }W d    d S 1 sLw   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    