a
    Pf~6                     @   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$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gejd*dd+ggd,d- Z ejdg d.ejd/dg d0gejd*dd+d1gg d2gd3d4 Z!ejdddgd5d6 Z"ejd7e
egejd8ddgdfddgdfd+d1gdfgd9d: Z#ejd7e
egd;d< Z$d=d> Z%ejd/dg d0gd?d@ Z&ejdg dAdBdC Z'dDdE Z(dFdG Z)dS )H    N)		DataFrameDatetimeIndexIndexPeriodPeriodIndexSeries	TimedeltaTimedeltaIndex	Timestamp)	get_arraydtypeint64c                 C   sf  t g ddd}t || d}tt|t|s4J |rN|jjd j sNJ |rd|jd< |jd dksnJ tt|t|rJ n^t	
| d|jd< W d    n1 s0    Y  |jd dksJ tt|t|sJ t || d}|rd|jd< |jd dksbJ nJt	
| d|jd< W d    n1 sD0    Y  |jd dksbJ d S )N         namer   r   r   r   )r   npshares_memoryr   _mgrblocksrefshas_referenceiloctmassert_cow_warning)r   using_copy_on_writewarn_copy_on_writeserresult r"   a/var/www/ai-form-bot/venv/lib/python3.9/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sVJ t	| d|j
d< W d    n1 s0    Y  | r|j
d dksJ q2|j
d dks2J q2t |g dd}t|j|jrJ | r|jjd j rJ 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!   r"   r"   r#   $test_series_from_series_with_reindexB   s"    
(r+   fastpathFTr%   r   r   )startstopsteparrr   r   Int64c           
      C   s   |d u s|d urd}d}t jt|d  t||||d}W d    n1 sL0    Y  | }t|d|}| rtt||rJ ntt||sJ d|d< | rt 	|| n*tg d|d ur|n|j
d	}	t 	||	 d S )
NF1The 'fastpath' keyword in pd.Series is deprecatedmatch)r   r&   r,   _datad   r   r6   r   r   r   )r   assert_produces_warningDeprecationWarningr   r'   getattrr   r   r   assert_series_equalr   )
r   r%   r   r,   r0   msgr    ser_origdataexpectedr"   r"   r#   test_series_from_array`   s    .r@   r'   )TFNc                 C   s8   t jg ddd}t|d|d}t t||r4J d S )Nr   r   r   int32)r   r'   )r   arrayr   r   r   )r   r'   r0   r    r"   r"   r#   &test_series_from_array_different_dtype{   s    rC   r   
2019-12-31
2020-12-31z1 daysz2 daysc                 C   sz   t |}|jdd}| rBtt|t|s0J |jdrZJ ntt|t|rZJ |jd |jd< t	|| d S )NTdeepr   r   )
r   r'   r   r   r   r   _has_no_referencer   r   assert_index_equal)r   r%   r    r?   r"   r"   r#   test_series_from_index   s    
rJ   c                 C   sL   t g ddd}t|dd}tt|t|r4J | rH|jdsHJ d S )Nr   r   r   rA   r   )r   r   r   r   r   r   rH   )r   r%   r    r"   r"   r#   'test_series_from_index_different_dtypes   s
    rK   z.ignore:Setting a value on a view:FutureWarningc           	      C   s   t g ddd}| }d}tjt|d" t |j|||d}W d    n1 sR0    Y  tt|t|stJ | r|j	drJ d|j
d< | rt|| nt g d	}t|| d S )
Nr   r   r   r2   r3   )r   r,   r&   r   r6   r7   )r   r'   r   r8   r9   r   r   r   r   rH   r   r;   )	r   r%   r   r,   r    r=   r<   ser2r?   r"   r"   r#   test_series_from_block_manager   s    0
rM   c                 C   s   t g ddd}d}tjt|d t |jdd}W d    n1 sF0    Y  tt|t|rhJ | r||jds|J d S )Nr   r   r   z&Passing a SingleBlockManager to Seriesr3   rA   r   )	r   r   r8   r9   r   r   r   r   rH   )r   r    r<   rL   r"   r"   r#   .test_series_from_block_manager_different_dtype   s    ,rN   use_mgrcolumnsac           
      C   s  t dg di}| }|r(|j}t}n|}d }d}tj||dd t |}	W d    n1 sb0    Y  tt|dt|	dsJ t	|o|  d|	j
d< W d    n1 s0    Y  | rtt|dt|	drJ t|| n*tt|dt|	dsJ t||	 d S )NrQ   r   z#Passing a BlockManager to DataFrameF)r4   Zcheck_stacklevelr6   r   )r   r'   r   r9   r   r8   r   r   r   r   r   assert_frame_equal)
r   r   rP   rO   dfdf_origr>   warnr<   Znew_dfr"   r"   r#   $test_dataframe_constructor_mgr_or_df   s$    &(rV   )Nr   r1   r&   )r   r   r   b)rQ   rW   cc                 C   s  t g d}t g d}| }tg dg dd|||d}	t||d|||dd}
tt|
dt|spJ t| d|
jd	< W d    n1 s0    Y  |rtt|
dt|rJ t	|| n|jd
 dksJ t g d}t g d}t||d|||dd}
t| d|jd
< W d    n1 s>0    Y  |rxtt|
dt|rjJ t
|
|	 n|
jd	 dksJ d S )Nr            rQ   rW   )r&   rP   r   F)r&   rP   r   r'   rQ   
   r   r   r   )r   r'   r   r   r   r   r   r   r   r;   rR   )requestr   r   rP   r&   r   s1s2Zs1_origr?   r!   r"   r"   r#   "test_dataframe_from_dict_of_series   s6    	(*rc   c                 C   sx   t g d}t g d}t||dg d| dd}t|d}t|t|rPJ d|jd< t|d}t||stJ d S )	Nr   rY   r]   Fr&   r   r'   rQ   r6   r_   r   r   r   r   r   r   )r   ra   rb   rS   
arr_before	arr_afterr"   r"   r#   /test_dataframe_from_dict_of_series_with_reindex  s    


rh   conszdata, dtypec                 C   s   |||d}|  }t||d}tt|t|ds:J | rN|jdrNJ t| |d |j	d< W d    n1 s|0    Y  | rt
|| d S )Nr   r   r_   )r'   r   r   r   r   r   rH   r   r   r   Zassert_equal)r   r   r>   r   ri   objZobj_origrS   r"   r"   r#   #test_dataframe_from_series_or_index  s    ,rl   c                 C   sN   |ddgdd}t |dd}tt|t|dr6J | rJ|jdsJJ d S )Nr   r   r   r   rA   r   )r   r   r   r   r   rH   )r   ri   rk   rS   r"   r"   r#   3test_dataframe_from_series_or_index_different_dtype2  s
    rm   c                 C   s   t tdtdgtd}tjtdd t|}W d    n1 sD0    Y  tt	|t	|drhJ | r||j
ds|J d S )NrD   rE   r   zDtype inferencer3   r   )r   r
   objectr   r8   FutureWarningr   r   r   r   r   rH   )r   r    rS   r"   r"   r#   )test_dataframe_from_series_infer_datetime;  s    &rp   c                 C   st   t g d}t g d}t||d| ddd}t|d}t|t|rLJ d|jd	< t|d}t||spJ d S )
N)g      ?g       @g      @rY   r]   r   Frd   rQ   r6   r_   re   )r&   ra   rb   rS   rf   rg   r"   r"   r#   -test_dataframe_from_dict_of_series_with_dtypeD  s    


rq   )FNTc                 C   st   t ddgddgg}t||d}| r.|dusB|du sB|rZ|d u rZt t|d|rpJ nt t|d|spJ d S )	Nr   r   r   rZ   r'   FTr   )r   rB   r   r   r   )r   r'   Zusing_array_managerr0   rS   r"   r"   r#   test_frame_from_numpy_arrayU  s    rs   c                 C   s   t dg di}| }tt t |}W d    n1 sB0    Y  | r`|jdr`J t	t
|dt
|ds|J t| d|jd< W d    n1 s0    Y  | rt|| nt|| d S )NrQ   r   r   r6   r_   )r   r'   r   r8   ro   Zfrom_recordsr   rH   r   r   r   r   r   rR   )r   r   rS   rT   Zdf2r"   r"   r#   *test_dataframe_from_records_with_dataframee  s    ((rt   c                 C   sn   t g d}|jdd}td|idd}tt|d|js@J | rj|jdrTJ d|j	d	< t
|| d S )
Nr   TrF   rQ   Frr   r   r6   r_   )r   r'   r   r   r   r   Z_valuesr   rH   r   r   rI   )r   r%   r?   rS   r"   r"   r#   test_frame_from_dict_of_indexu  s    
ru   )*numpyr   ZpytestZpandaspdr   r   r   r   r   r   r   r	   r
   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   markZparametrizer$   r+   Z
RangeIndexrB   r@   rC   rJ   rK   filterwarningsrM   rN   rV   rc   rh   rl   rm   rp   rq   rs   rt   ru   r"   r"   r"   r#   <module>   sp   ,
*$

	


,
"
	

