o
    ŀg                     @   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bint64)dtypecr   name)r   nparrayshares_memoryr   tmassert_series_equalr   )dfarr r   W/var/www/html/myenv/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   df2r   r   r    test_set_columns_with_dataframeE   s   
 r2   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   rhsrhs_origr   r   r    test_setitem_series_no_copyX   s   
r:   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   r3   r0   r5   r7   r   r   r    (test_setitem_series_no_copy_single_blockg   s   
r;   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   r3   r4   r5   r7   r   r   r    'test_setitem_series_no_copy_split_blocku   s   
r<   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   from_arraysr   r   r   r   _get_column_array_mgr_has_no_reference)r#   r   r8   r   r   r    ,test_setitem_series_column_midx_broadcasting   s   rB   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   assert_produces_warningassert_cow_warning)r#   warn_copy_on_writer   r$   r   r   r    %test_set_column_with_inplace_operator   s   
"rF   )numpyr   pandasr   r   r   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r!   r%   r)   r2   r:   r;   r<   rB   rF   r   r   r   r    <module>   s    