U
    -e                     @   s   d Z 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 ddlmZ G dd dZdd Zdd	 Zd
d Zejjdddd Zdd Zejjdddd Zdd ZdS )z
Tests for values coercion in setitem-like operations on DataFrame.

For the most part, these should be multi-column DataFrames, otherwise
we would share the tests with Series.
    N)	DataFrame
MultiIndexNaTSeries	Timestamp
date_rangec                   @   s&   e Zd Zejdddgdd ZdS )TestDataFrameSetitemCoercionconsolidateTFc                 C   s   t tjdtjd}tj||gdddgd}|r8| }tjdtjd|jdddt	ddff< |j
tjk stttjdtjd|jd	d
dt	ddff< |j
tjk sttjdtjd|jd d dt	ddff< |j
tjk std S )N)      dtype      )Zaxiskeys)r   r      )r
   r   r   r   )r   npZzerosfloat32pdconcatZ_consolidateZoneslocslicedtypesallAssertionError)selfr	   A r   j/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/pandas/tests/frame/indexing/test_coercion.py#test_loc_setitem_multiindex_columns   s    (((z@TestDataFrameSetitemCoercion.test_loc_setitem_multiindex_columnsN)__name__
__module____qualname__pytestmarkZparametrizer   r   r   r   r   r      s   r   c                  C   s   t dddgdddgd} t dddgdddgd}|  }d|jd< t|| |  }d|jd< t|| |  }d|jd	< t|| |  }d|jd	< t|| d S )
Nr   r   r      r   )r   Bg333333?)r   r&   )r   r   )r   copyattmassert_frame_equalr   Ziatiloc)origexpecteddfr   r   r   
test_374770   s    



r/   c                 C   sx   t d}t d}t d}t|dd}t|ddgd}| }|| ||df< d	|d< ||j|df< |jd
 |ksttd S )Nz
2014-04-01z2014-04-23 12:42:38.883082z2014-04-24 01:33:30.040039r   )ZperiodsZtimenowLiveindexcolumnsT)r   r   )r   r   r   r'   r(   r+   r   )
indexer_alstartt1t2Zdtir,   r.   r   r   r   	test_6942F   s    r8   c                 C   s   t dddgd}d|d< d| |d< t ddddgidddgtjd	}t|| d
| |d< t dddd
gidddgtjd	}t|| d| |d< t ddddgidddgtd	}t|| d S )Nr   r&   Cr2   r   Dr   )r9   r;   )r2   r   g     @F@Zhello)r   r   int64r)   r*   float64object)r4   r.   r-   r   r   r   
test_26395X   s      r?   zunwanted upcast)reasonc                  C   s   t ddgddggddgd} tdd	d
| jd< | jtjk sDttddi| jd< ttjtjgt	ddgd}t
| j| d S )Nr   r   r   r%   ab)r3   r   r
   )rA   rB      )r   r2   )r   r   r   r   r   r<   r   r   r=   r>   r)   assert_series_equal)r.   
exp_dtypesr   r   r   
test_15231j   s    rF   c                  C   st   t tjddgtjdtjddgtjdddgd} |  }| d	 jdd}|| jd d d	df< t	| | d S )
Nr   r   r   r   r%   rA   rB   )r   r   r   r   )
r   r   arrayr   r'   valuesZreshaper+   r)   r*   )r.   r,   rH   r   r   r   .test_iloc_setitem_unnecesssary_float_upcastingw   s    rI   zunwanted casting to dt64c                  C   s   t ddd} d| dg}t|}| }tjtg|jd< tdtjgt| tgddd}t	|| d| dg}| }tjtg|jdd d f< t	|| d S )	Nz2016-03-01 03:13:22.98986UTC)tzr   )onetwor   zdatetime64[ns, UTC]r   )
r   r   r'   r   nanr   r   r   r)   r*   )tsdatar,   r.   r-   r   r   r   
test_12499   s    rQ   c               	   C   s   t ddgdddgg} tdtd| d}td	d
dggd tddddgd}||d< td	d	d	gd
d
d
gdddgdddgdddgdddgd}| |_tttjgd
 ttj	g ttjgd  | d}t
|j| d S )Nr   r&   rA   rB   cr   r1   r   r   g      @)r   r   r   r   r%   r   r:   )r   Zfrom_productr   ranger3   r   r   r   r<   r=   r)   rD   r   )mir.   Zfillerr-   rE   r   r   r   
test_20476   s&    $
0rV   )__doc__numpyr   r#   Zpandasr   r   r   r   r   r   r   Zpandas._testingZ_testingr)   r   r/   r8   r?   r$   ZxfailrF   rI   rQ   rV   r   r   r   r   <module>   s    

