o
    ôT·j€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e#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   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/t	 
|¡� d|jd< W d   ƒ n1 sYw   Y  |jd dksgJ ‚t t|ƒt|ƒ¡ssJ ‚t || d�}|r‹d|jd< |jd dks‰J ‚d S t	 
|¡� d|jd< W d   ƒ n1 s w   Y  |jd dks®J ‚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"   úk/home/dinkstrade/pdmp-scanner/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 ]A}t ||d�}t |j|j¡s+J ‚t 	|¡� d|j
d< W d   ƒ n1 s@w   Y  | rQ|j
d dksPJ ‚q|j
d dksZJ ‚qt |g d¢d�}t |j|j¡rmJ ‚| rz|jjd j ¡ r|J ‚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!   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 s&w   Y  | ¡ }t|d|ƒ}| rBt t|ƒ|¡rAJ ‚n
t t|ƒ|¡sLJ ‚d|d< | rZt  	||¡ d S tg d¢|d urd|n|j
d	�}	t  	||	¡ d S )
NFú1The 'fastpath' keyword in pd.Series is deprecated©Úmatch)r   r&   r,   Ú_dataéd   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|ƒ|¡rJ ‚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�}| 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   r   Úassert_index_equal)r   r%   r    r?   r"   r"   r#   Útest_series_from_index‚   s   
rJ   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   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 s)w   Y  t t|ƒt|ƒ¡s:J ‚| rD|j 	d¡rDJ ‚d|j
d< | rSt ||¡ d S 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   ÿ
rM   c                 C   s„   t g d¢dd�}d}tjt|d�� t |jdd�}W d   ƒ n1 s#w   Y  t t|ƒt|ƒ¡r4J ‚| r>|j d¡s@J ‚d S 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 s1w   Y  t t|dƒt|	dƒ¡sDJ ‚t 	|oJ| ¡� d|	j
d< W d   ƒ n1 s\w   Y  | ryt t|dƒt|	dƒ¡rqJ ‚t ||¡ d S t t|dƒt|	dƒ¡s‡J ‚t ||	¡ d S )NrQ   r   z#Passing a BlockManager to DataFrameF)r4   Ú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<   Únew_dfr"   r"   r#   Ú$test_dataframe_constructor_mgr_or_df¿   s(   
ÿÿrX   )Nr   r1   r&   )r   r   r   Úb)rQ   rY   Úcc                 C   sŠ  t g d¢ƒ}t g d¢ƒ}| ¡ }tg d¢g d¢dœ|||d�}	t||dœ|||dd�}
t t|
dƒt|ƒ¡s8J ‚t |¡� d|
jd	< W d   ƒ n1 sMw   Y  |rht t|
dƒt|ƒ¡raJ ‚t 	||¡ n	|jd
 dksqJ ‚t g d¢ƒ}t g d¢ƒ}t||dœ|||dd�}
t |¡� d|jd
< W d   ƒ n1 sžw   Y  |rºt t|
dƒt|ƒ¡r²J ‚t 
|
|	¡ d S |
jd	 dksÃJ ‚d S )Nr   ©é   é   é   ©rQ   rY   )r&   rP   r   F)r&   rP   r   r'   rQ   é
   ©r   r   r   )r   r'   r   r   r   r   r   r   r   r;   rS   )Úrequestr   r   rP   r&   r   Ús1Ús2Ús1_origr?   r!   r"   r"   r#   Ú"test_dataframe_from_dict_of_seriesÝ   s:   	ÿÿÿÿÿrf   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   r[   r_   F©r&   r   r'   rQ   r6   ra   ©r   r   r   r   r   r   )r   rc   rd   rT   Ú
arr_beforeÚ	arr_afterr"   r"   r#   Ú/test_dataframe_from_dict_of_series_with_reindex  s   


rk   Úconszdata, dtypec                 C   sž   |||d�}|  ¡ }t||d�}t t|ƒt|dƒ¡sJ ‚| r'|j d¡r'J ‚t |¡� |d |j	d< W d   ƒ n1 s>w   Y  | rMt 
||¡ d S d S )Nr   r   éÿÿÿÿra   )r'   r   r   r   r   r   rH   r   r   r   Úassert_equal)r   r   r>   r   rl   ÚobjÚobj_origrT   r"   r"   r#   Ú#test_dataframe_from_series_or_index  s   ÿÿrq   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   rA   r   )r   r   r   r   r   rH   )r   rl   ro   rT   r"   r"   r#   Ú3test_dataframe_from_series_or_index_different_dtype2  s   ÿrr   c                 C   s„   t tdƒtdƒgtd�}tjtdd�� t|ƒ}W d   ƒ n1 s"w   Y  t t	|ƒt	|dƒ¡r4J ‚| r>|j
 d¡s@J ‚d S d S )NrD   rE   r   zDtype inferencer3   r   )r   r
   Úobjectr   r8   ÚFutureWarningr   r   r   r   r   rH   )r   r    rT   r"   r"   r#   Ú)test_dataframe_from_series_infer_datetime;  s   
ÿÿru   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      @r[   r_   r   Frg   rQ   r6   ra   rh   )r&   rc   rd   rT   ri   rj   r"   r"   r#   Ú-test_dataframe_from_dict_of_series_with_dtypeD  s   


rv   )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   r\   ©r'   FTr   )r   rB   r   r   r   )r   r'   Úusing_array_managerr0   rT   r"   r"   r#   Útest_frame_from_numpy_arrayU  s   ÿÿry   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 ‚t |¡� d|jd< W d   ƒ n1 sSw   Y  | rbt ||¡ d S t ||¡ d S )NrQ   r   r   r6   ra   )r   r'   r   r8   rt   Úfrom_recordsr   rH   r   r   r   r   r   rS   )r   r   rT   rU   Údf2r"   r"   r#   Ú*test_dataframe_from_records_with_dataframee  s   ÿÿr|   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   TrF   rQ   Frw   r   r6   ra   )r   r'   r   r   r   r   Ú_valuesr   rH   r   r   rI   )r   r%   r?   rT   r"   r"   r#   Útest_frame_from_dict_of_indexu  s   
ür~   )+Únumpyr   ÚpytestÚpandasÚpdr   r   r   r   r   r   r   r	   r
   Úpandas._testingÚ_testingr   Úpandas.tests.copy_view.utilr   ÚmarkÚparametrizer$   r+   Ú
RangeIndexrB   r@   rC   rJ   rK   ÚfilterwarningsrM   rN   rX   rf   rk   rs   rq   rr   ru   rv   ry   r|   r~   r"   r"   r"   r#   Ú<module>   sr    ,
*$ÿ

üþ
	

,
"ÿ
	

