
    Pi*                     \    d Z ddlZddlZddlmZmZmZmZm	Z	 ddl
mZ  G d d          ZdS )z
test_insert is specifically for the DataFrame.insert method; not to be
confused with tests with "insert" in their names that are really testing
__setitem__.
    N)	DataFrameIndex
MultiIndexNaT	Timestampc                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestDataFrameInsertc                    t          t          j                            d                              d          t          j        d          g d          }|                    dd|d                    t          j        |j	        t          g d	                     t          j        |d         |d         d
           |                    dd|d                    t          j        |j	        t          g d                     t          j        |d         |d         d
           t          j        t          d          5  |                    dd|d                    d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    dd|d                    d d d            n# 1 swxY w Y   d|j	        _        |                    dd|d                    |j	        j        dk    sJ d S )N   )      r   )cba)indexcolumnsr   foor   )r   r   r   r   F)check_namesbarr   )r   r   r   r   r   zalready existsmatch   r   zcannot insert c, already exists	some_namebaz)r   nprandomdefault_rngstandard_normalarangeinserttmassert_index_equalr   r   assert_series_equalassert_almost_equalpytestraises
ValueErrornameselfdfmsgs      {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/indexing/test_insert.pytest_insertzTestDataFrameInsert.test_insert   sW   I!!!$$44V<<)A,,#OO
 
 
 			!UBsG$$$
bj%0F0F0F*G*GHHH
r#w5	uEEEE
		!UBsG$$$
bj%0M0M0M*N*NOOO
r#w5	uEEEE]:-=>>> 	' 	'IIabg&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 0]:S111 	' 	'IIabg&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' &

		!UBsG$$$z+------s$   E..E25E2G  GGc                    t          dddgi          }|                    i           }|                    ddddg           |                    i           }t          ddgddggddg          }t          j        ||           |                    dd	d
dg           |                    i           }t          g dg dgg d          }t          j        ||           d S )Nr   皙?皙@r   r   r   r   r   r   ?ffffff@)r3   r   r0   )r4   r   r1   )r   r   r   )r   renamer    r!   assert_frame_equal)r*   r+   resultexpecteds       r-   test_insert_column_bug_4032z/TestDataFrameInsert.test_insert_column_bug_40320   s    c3Z())YYrY""
		!S1a&!!!2&&q#hC1C:FFF
fh///
		!S3*%%%2&&mmm]]];___UUU
fh/////    c                 &   t                      }|                    ddg dd           |                    ddg dd           |                    ddg dd           t          g dg d	g d
gg d          }t          j        ||           d S )Nr   A)ghiT)allow_duplicates)def)r   r   r   )r   rA   r=   )r   rB   r>   )r   rC   r?   )r<   r<   r<   r2   )r   r    r!   r6   )r*   r+   exps      r-   test_insert_with_columns_dupsz1TestDataFrameInsert.test_insert_with_columns_dupsA   s    [[
		!S///D	AAA
		!S///D	AAA
		!S///D	AAA__ooo?
 
 
 	b#&&&&&r:   c                    t          t          j                            d                              ddd          d          }t          j        d           5  t          j        g d          |d	<   d d d            d S # 1 swxY w Y   d S )
Nr   r   d   )r   rG   )sizeInt64)dtype)r   r   r   r   )r   r   r   r   integersr!   assert_produces_warningarrayr*   r+   s     r-   test_insert_EA_no_warningz-TestDataFrameInsert.test_insert_EA_no_warningL   s     I!!!$$--a8-DDG
 
 
 '-- 	* 	*hyyy))BsG	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   B  BBc                     t          ddgddgd          }d}t          j        t          |          5  |                    dd|           d d d            d S # 1 swxY w Y   d S )	Nr   r   r      )col1col2zJExpected a one-dimensional object, got a DataFrame with 2 columns instead.r   newcol)r   r%   r&   r'   r    r)   s      r-   test_insert_framez%TestDataFrameInsert.test_insert_frameU   s    AA7788 Y 	 ]:S111 	' 	'IIa2&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   AA Ac                     t          dddgi          }|                    t          j        d          dd           t	          j        |t          ddgddgd                     d S )Nr   r   r   r   r   )r   r   )r   r    r   int64r!   r6   rN   s     r-   test_insert_int64_locz)TestDataFrameInsert.test_insert_int64_loc_   sf    aV}%%
		"(1++sA&&&
b)1a&1v,F,F"G"GHHHHHr:   c           	         t          dt          d          fdgi          }|                    dddg           t          ddggt          j        dt          d          fdt
          fg                    }t          j        ||           |d= t          dt          d          fdgi          }t          j        ||           d S )Nr<   z
2024-01-01r   r   Br2   )r   r   r    r   from_tuplesr   r!   r6   )r*   r+   r8   s      r-   +test_insert_delete_mixed_multiindex_columnsz?TestDataFrameInsert.test_insert_delete_mixed_multiindex_columnse   s     i556<==
		!S1#VH*y../#s< 
 
 
 	b(+++ sGsIl$;$;<qcBCC
b(+++++r:   N)
__name__
__module____qualname__r.   r9   rE   rO   rU   rX   r\    r:   r-   r	   r	      s        . . .60 0 0"	' 	' 	'* * *' ' 'I I I, , , , ,r:   r	   )__doc__numpyr   r%   pandasr   r   r   r   r   pandas._testing_testingr!   r	   r`   r:   r-   <module>rf      s                            c, c, c, c, c, c, c, c, c, c,r:   