a
    Pf                     @   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 ddgf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ejjddd dd dd dd dd dd d d d!d d"d d#d g
g d$d%d&d' Zd(d) Zd*d+ Zd,d- ZdS ).    N)	DataFrameIndexSeries)	get_array      c                 C   s6   t | dd}|d d  }|jddd}|j}||fS )N      ?abr
   TZdrop)r   	set_indexindex)Z
index_datadfviewidx r   `/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/copy_view/index/test_index.py
index_view   s
    r   c                 C   s   t ddgdd}|jddd}|jjdd}t| d	|jd
< W d    n1 sX0    Y  | rvt|j| nt|jtd	dgdd d S )Nr   r   r	   r
   Fr   Tdeepd   r   r   name)	r   r   r   copytmassert_cow_warningilocassert_index_equalr   )using_copy_on_writewarn_copy_on_writer   expectedr   r   r   test_set_index_update_column   s    (r#   c                 C   sV   t ddgdd}|d d  }|jddd}|jjdd}d	|jd
< t|j| d S )Nr   r   r   r	   r
   Tr   r   r   r   )r   r   r   r   r   r   r   )r    r   r   r"   r   r   r   !test_set_index_drop_update_column"   s    
r$   c                 C   s   t ddgdd}tddg}||}|jjdd}t| d	|jd
< W d    n1 s`0    Y  | r~t|j| nt|jt	d	dg d S Nr   r   r   r	   
      Tr   r   r   )
r   r   r   r   r   r   r   r   r   r   r    r!   r   serr"   r   r   r   test_set_index_series+   s    
(r*   c                 C   s   t ddgdd}tddg}||_|jjdd}t| d	|jd
< W d    n1 s\0    Y  | rzt|j| nt|jtd	dg d S r%   )	r   r   r   r   r   r   r   r   r   r(   r   r   r   test_assign_index_as_series8   s    (r+   c                 C   s   t ddgdd}tddg}t|}||_d }|jjdd}t| d	|jd
< W d    n1 sh0    Y  | rt|j| nt|jtd	dg d S r%   )	r   r   r   r   r   r   r   r   r   )r    r!   r   r)   Z	rhs_indexr"   r   r   r   test_assign_index_as_indexE   s    (r,   c                 C   s~   t ddg}t|}|jdd}t| d|jd< W d    n1 sJ0    Y  | rft|| nt|tddg d S Nr   r   Tr   r   r   r   r   r   r   r   r   r   r    r!   r)   r   r"   r   r   r   test_index_from_seriesT   s    (r0   c                 C   sB   t ddg}t|dd}t|}d|jd< tt||s>J d S )Nr   r   Tr   r   r   )r   r   r   r   npshares_memory)r    r)   r   Zarrr   r   r   test_index_from_series_copy`   s
    
r4   c                 C   s   t ddg}t|}t|}|jdd}t| d|jd< W d    n1 sR0    Y  | rnt|| nt|tddg d S r-   r.   r/   r   r   r   test_index_from_indexh   s    (r5   funcc                 C   s   |  | jS N)_shallow_copy_valuesxr   r   r   <lambda>x       r<   c                 C   s   |   S r7   )r   r:   r   r   r   r<   y   r=   c                 C   s   |  ddgS Nr   r   )taker:   r   r   r   r<   z   r=   c                 C   s   |  ddgS )Nr   )repeatr:   r   r   r   r<   {   r=   c                 C   s   | t dd S Nr   r   )slicer:   r   r   r   r<   |   r=   c                 C   s   | ddg S r>   r   r:   r   r   r   r<   }   r=   c                 C   s   |  tddS rA   )_getitem_slicerB   r:   r   r   r   r<   ~   r=   c                 C   s
   |  g S r7   )deleter:   r   r   r   r<      r=   c                 C   s
   |  dS )Nr   )renamer:   r   r   r   r<      r=   c                 C   s   | j dddS )NInt64Fr1   )astyper:   r   r   r   r<      r=   )
r8   r   r?   r@   Zgetitem_sliceZgetitem_listrC   rD   rE   rG   )Zidsc                 C   sX   t  \}}|jdd}d|jjjv r.|d}||}d|jd< | rTtj||dd d S )	NTr   rG   rF   r   r   FZcheck_names)	r   r   nodeZcallspecidrG   r   r   r   )r    r6   requestr   view_r"   r   r   r   test_index_opsu   s    


rM   c                 C   sJ   t ddg\}}|jdd}|jdd}d|jd< | rFtj||dd	 d S )
Nr
   r   Tr   Fr1   Zaaaar   rH   )r   r   Zinfer_objectsr   r   r   )r    r   rL   r"   r   r   r   test_infer_objects   s    
rN   c                 C   s   t g ddd}|jdd}| }| rRtt|d|js@J |jdrjJ ntt|d|jrjJ d|j	d< t
|| d S )	Nr   r      r
   r   Tr   r   r   r   )r   r   Zto_framer2   r3   r   r9   Z_mgrZ_has_no_referencer   r   r   )r    r   r"   r   r   r   r   test_index_to_frame   s    
rQ   c                 C   s<   t g d}|j}| r(|jjdu s8J n|jjdu s8J d S )NrO   FT)r   valuesflagsZ	writeable)r    r   resultr   r   r   test_index_values   s
    rU   )numpyr2   ZpytestZpandasr   r   r   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   r   r#   r$   r*   r+   r,   r0   r4   r5   markZparametrizerM   rN   rQ   rU   r   r   r   r   <module>   s@   		
	