o
    ҷh1                     @   s  d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ ejdddgdd Zdd	 Zejd
ddgejdddgejddejd dddgejdejg dddejg dddgdd Zejdg ddd Zejdeddgeededge	ededgeededggd d! Zd"d# Zejd
ddgejdddgejddejd dddgd$d% Zd&d' Zejd(d)d* d+d* gejd,dd-ggd.d/ Zejdg d0ejd1dg d2gejd,dd-d3gg d4gd5d6 Z ejdddgd7d8 Z!ejd9e
egejd:ddgdfddgdfd-d3gdfgd;d< Z"ejd9e
egd=d> Z#d?d@ Z$ejd1dg d2gdAdB Z%ejdg dCdDdE Z&dFdG Z'dHdI Z(dS )J    N)		DataFrameDatetimeIndexIndexPeriodPeriodIndexSeries	TimedeltaTimedeltaIndex	Timestamp)	get_arraydtypeint64c                 C   s  t g ddd}t || d}tt|t|sJ |r'|jjd j s'J |rDd|jd< |jd dks7J tt|t|rCJ nd|jd< |jd dksRJ tt|t|s^J t || d}|rvd|jd< |jd dkstJ d S d|jd< |jd dksJ d S )N         namer   r   r   r   )	r   npshares_memoryr   _mgrblocksrefshas_referenceiloc)r   using_copy_on_writeserresult r   [/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/copy_view/test_constructors.pytest_series_from_series   s$   



r!   c                 C   s   t g ddd}|j|j t|j|jdfD ],}t ||d}t|j|js+J d|jd< | r<|jd dks;J q|jd dksEJ qt |g dd}t|j|jrXJ | re|j	j
d j rgJ d S d S )	Nr   r   r   idx)indexr   r   )r   r   r   r   )r   r#   copylistrenamer   r   valuesr   r   r   r   r   )r   r   r#   r   r   r   r    $test_series_from_series_with_reindex@   s$   

r(   fastpathFTr"   r   r   )startstopsteparrr   r   Int64c           	      C   s   |d u s|d ur
d}t ||||d}| }t|d|}| r)tt||r(J n
tt||s3J d|d< | rAt|| d S t g d|d urK|n|jd}t|| d S )NF)r   r#   r)   _datad   r   r0   r   r   r   )	r   r$   getattrr   r   r   tmassert_series_equalr   )	r   r"   r   r)   r-   r   ser_origdataexpectedr   r   r    test_series_from_array]   s   r8   r$   )TFNc                 C   s8   t jg ddd}t|d|d}t t||rJ d S )Nr   r   r   int32)r   r$   )r   arrayr   r   r   )r   r$   r-   r   r   r   r    &test_series_from_array_different_dtypev   s   r;   r   
2019-12-31
2020-12-31z1 daysz2 daysc                 C   sz   t |}|jdd}| r!tt|t|sJ |jdr J ntt|t|r-J |jd |jd< t	|| d S )NTdeepr   r   )
r   r$   r   r   r   r   _has_no_referencer   r3   assert_index_equal)r   r"   r   r7   r   r   r    test_series_from_index}   s   
rB   c                 C   sP   t g ddd}t|dd}tt|t|rJ | r$|jds&J d S d S Nr   r   r   r9   r   )r   r   r   r   r   r   r@   )r   r"   r   r   r   r    'test_series_from_index_different_dtypes   s   rD   c                 C   s   t g ddd}| }t |j|||d}tt|t|s!J | r+|jdr+J d|jd< | r:t	|| d S t g d}t	|| d S )Nr   r   r   )r   r)   r#   r   r0   r1   )
r   r$   r   r   r   r   r@   r   r3   r4   )r   r"   r   r)   r   r5   ser2r7   r   r   r    test_series_from_block_manager   s   
rF   c                 C   sR   t g ddd}t |jdd}tt|t|rJ | r%|jds'J d S d S rC   )r   r   r   r   r   r@   )r   r   rE   r   r   r    .test_series_from_block_manager_different_dtype   s   rG   funcc                 C   s   | S Nr   xr   r   r    <lambda>   s    rL   c                 C   s   | j S rI   )r   rJ   r   r   r    rL      s    columnsac                 C   s   t dg di}| }t ||}tt|dt|ds J d|jd< | r=tt|dt|dr5J t|| d S tt|dt|dsKJ t|| d S )NrN   r   r0   r   )r   r$   r   r   r   r   r3   assert_frame_equal)r   rM   rH   dfdf_orignew_dfr   r   r    $test_dataframe_constructor_mgr_or_df   s   
rS   )Nr   r.   r#   )r   r   r   b)rN   rT   cc           
      C   s6  t g d}t g d}| }tg dg dd|||d}t||d|||dd}	tt|	dt|s8J d|	jd	< |rStt|	dt|rLJ t|| n	|jd
 dks\J t g d}t g d}t||d|||dd}	d|jd
< |rtt|	dt|rJ t	|	| d S |	jd	 dksJ d S )Nr            rN   rT   )r#   rM   r   F)r#   rM   r   r$   rN   
   r   r   r   )
r   r$   r   r   r   r   r   r3   r4   rO   )
requestr   rM   r#   r   s1s2s1_origr7   r   r   r   r    "test_dataframe_from_dict_of_series   s2   	

ra   c                 C   sx   t g d}t g d}t||dg d| dd}t|d}t|t|r(J d|jd< t|d}t||s:J d S )	Nr   rV   rZ   Fr#   r   r$   rN   r0   r\   r   r   r   r   r   r   )r   r^   r_   rP   
arr_before	arr_afterr   r   r    /test_dataframe_from_dict_of_series_with_reindex   s   


rf   conszdata, dtypec                 C   st   |||d}|  }t||d}tt|t|dsJ | r'|jdr'J |d |jd< | r8t	|| d S d S )Nr   r   r\   )
r$   r   r   r   r   r   r@   r   r3   assert_equal)r   r6   r   rg   objobj_origrP   r   r   r    #test_dataframe_from_series_or_index  s   rl   c                 C   sR   |ddgdd}t |dd}tt|t|drJ | r%|jds'J d S d S )Nr   r   r   r   r9   r   )r   r   r   r   r   r@   )r   rg   rj   rP   r   r   r    3test_dataframe_from_series_or_index_different_dtype  s   rm   c                 C   sV   t tdtdgtd}t|}tt|t|drJ | r'|jds)J d S d S )Nr<   r=   r   r   )	r   r
   objectr   r   r   r   r   r@   )r   r   rP   r   r   r    )test_dataframe_from_series_infer_datetime!  s   ro   c                 C   st   t g d}t g d}t||d| ddd}t|d}t|t|r&J d|jd	< t|d}t||s8J d S )
N)g      ?g       @g      @rV   rZ   r   Frb   rN   r0   r\   rc   )r#   r^   r_   rP   rd   re   r   r   r    -test_dataframe_from_dict_of_series_with_dtype)  s   


rp   )FNTc                 C   sv   t ddgddgg}t||d}| r|dus!|du s!|r.|d u r.t t|d|r,J d S t t|d|s9J d S )	Nr   r   r   rW   r$   FTr   )r   r:   r   r   r   )r   r$   using_array_managerr-   rP   r   r   r    test_frame_from_numpy_array:  s   rs   c                 C   s   t dg di}| }tt t |}W d    n1 s!w   Y  | r0|jdr0J t	t
|dt
|ds>J d|jd< | rMt|| d S t|| d S )NrN   r   r   r0   r\   )r   r$   r3   assert_produces_warningFutureWarningfrom_recordsr   r@   r   r   r   r   rO   )r   rP   rQ   df2r   r   r    *test_dataframe_from_records_with_dataframeJ  s   
rx   c                 C   sr   t g d}|jdd}td|idd}tt|d|js J | r7|jdr*J d|j	d	< t
|| d S d S )
Nr   Tr>   rN   Frq   r   r0   r\   )r   r$   r   r   r   r   _valuesr   r@   r   r3   rA   )r   r"   r7   rP   r   r   r    test_frame_from_dict_of_indexY  s   
rz   ))numpyr   pytestpandaspdr   r   r   r   r   r   r   r	   r
   pandas._testing_testingr3   pandas.tests.copy_view.utilr   markparametrizer!   r(   
RangeIndexr:   r8   r;   rB   rD   rF   rG   rS   ra   rf   rl   rm   ro   rp   rs   rx   rz   r   r   r   r    <module>   sp    ,
($


	*
"


