3
Ud8                 @   s  d dl Zd dlZd dlmZmZ d dlmZ d dlZ	d dlm
Z
mZmZmZ d dljZd dlmZmZmZmZmZmZ G dd dZejjdejd d	gejd
ejdfejddgejdfe	jddge	jdfe	jddgddedfe	j ddgddee	j!j"j"j#dfe	j$j%d d	dgedfej&e	jddgejdejj'dddgd ej&e	j(d`gejd"ejj'd#ddgd gd$d% Z)ejjd&ejd	dd'ggd(d) Z*d*d+ Z+ejjd,e	jddgd-fe	j!j,j-d.d/gd0dd1fe	j!j,j.d ej/gd1fej%d d	gd2fed d	gd3feejd	dgdd
d1feejd4d5gd6d
eddd
d1fgd7d8 Z0d9d: Z1ejjd;ejd	dgejd
ejd	dgejd
fe	jddgejddge2d
fe	j!j,j-d.d/gd0deje	j3d.d0de	j3d/d0dgfe	j!j,j.d ej/gejd e	j4ge2d
fej%d d	dgeje	j5d d	e	j5d	dge2d
fed d	gejd d	gejd
feejd.d/gd6d
ejd.d/gd6d
feejd<d=gd6d
eddd
eje	jd>dde	jd?ddgfeejd d@gdAd
dBdejd d@gd"d
fg	dCdD Z6ejjdEddFgejjd&ejd	dd'gdd
ejdddGge2d
gdHdI Z7ejjdEddFgdJdK Z8ejjdLd	ddgdMd dNdOdPgfe	jd.e	jd.e	j9gde	jd.ej:dQgd' fgdRdS Z;dTdU Z<ejjdVd	dd'gd	ddgdWejd	dd'gejd	dej/gdWe	jd	dd'ge	jd	ddgdWgejjdXe=ej/fe2dfgdYdZ Z>ejjd[de	jd	ddgiejdNgdOgej/gge=d
fd	dd'gd	dd'gdWejd	d	gddgd'd'gge=d
fgd\d] Z?d^d_ Z@dS )a    N)is_datetime64_dtypeis_timedelta64_dtype)DatetimeTZDtype)CategoricalIndexSeries	Timedelta	Timestamp)DatetimeArrayIntervalArrayPandasArrayPeriodArraySparseArrayTimedeltaArrayc               @   s  e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefgZej	j
deej	j
ddd dd dd dd gddddgddd Zej	j
ddedfded fd!edfd!ed fgej	j
dd"d d#d d$d d%d gddddgdd&d' Zej	j
ded(d) Zej	j
dedefd!efg d*d+ Zej	j
dd,d d-d d.d d/d gddddgdd0d1 Zd2d3 Zd4S )5TestToIterableZint8Zint16Zint32int64Zuint8Zuint16Zuint32Zuint64Zfloat16Zfloat32float64zdatetime64[ns]zdatetime64[ns, US/Eastern]ztimedelta64[ns]zdtype, rdtypemethodc             C   s   | j  S )N)tolist)x r   U/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/base/test_conversion.py<lambda>,   s    zTestToIterable.<lambda>c             C   s   | j  S )N)to_list)r   r   r   r   r   -   s    c             C   s   t | S )N)list)r   r   r   r   r   .   s    c             C   s   t | j S )N)r   __iter__)r   r   r   r   r   /   s    r   r   r   iter)idsc             C   s0   |}|dg|d}||d }t ||s,td S )N   )dtyper   )
isinstanceAssertionError)selfindex_or_seriesr   r   rdtypetypsresultr   r   r   test_iterable(   s    zTestToIterable.test_iterablezdtype, rdtype, objobjectar   categoryc             C   s   | j  S )N)r   )r   r   r   r   r   H   s    c             C   s   | j  S )N)r   )r   r   r   r   r   I   s    c             C   s   t | S )N)r   )r   r   r   r   r   J   s    c             C   s   t | j S )N)r   r   )r   r   r   r   r   K   s    c       	      C   s0   |}||g|d}||d }t ||s,td S )N)r   r   )r   r    )	r!   r"   r   r   r#   objr$   r%   r&   r   r   r   !test_iterable_object_and_category<   s    z0TestToIterable.test_iterable_object_and_categoryc             C   sV   t dg|d}t|j d \}}t||s0tt|j d \}}t||sRtd S )Nr   )r   r   )r   r   itemsr   r    )r!   r   r#   r%   _r&   r   r   r   test_iterable_itemsZ   s
    z"TestToIterable.test_iterable_itemsc             C   sD   |}|dg|d}|j td }t|ts4t|g}||ks@td S )Nr   )r   r   )maptyper   tupler    )r!   r"   r   r#   r$   r%   r&   r   r   r   test_iterable_mapf   s    

z TestToIterable.test_iterable_mapc             C   s   | j  S )N)r   )r   r   r   r   r   v   s    c             C   s   | j  S )N)r   )r   r   r   r   r   w   s    c             C   s   t | S )N)r   )r   r   r   r   r   x   s    c             C   s   t | j S )N)r   r   )r   r   r   r   r   y   s    c             C   s2   t tdtdg}||d }t|ts.td S )Nz
1999-12-31z
2000-12-31r   )r   r   r   r    )r!   r   ir&   r   r   r   test_categorial_datetimelikes   s    z+TestToIterable.test_categorial_datetimelikec             C   s  t dt dg}t|}|jdks&tx>t||D ]0\}}t|t sHt|jd ksVt||ks2tq2W t dddt dddg}t|}|jdkstx@t||D ]2\}}t|t st|j|jkst||kstqW tdtdg}t|}|jd	kstx6t||D ](\}}t|ts t||kstqW tj	dd
dtj	dd
dg}t|}|jdkshtxHt||D ]:\}}t|tj	st|j
d
kst||ksttqtW d S )Nz
2011-01-01z
2011-01-02zdatetime64[ns]z
US/Eastern)tzzdatetime64[ns, US/Eastern]z1 daysz2 daysztimedelta64[ns]M)freqz	Period[M])r   r   r   r    zipr   r6   r   pdPeriodr8   )r!   valsr%   resexpr   r   r   test_iter_box   s8    
zTestToIterable.test_iter_boxN)__name__
__module____qualname__intfloatr   r   dtypespytestmarkparametrizer'   r(   r,   r/   r3   r5   r?   r   r   r   r   r      s\   
 r   zarray, expected_type, dtyper   )r   r   r)   br(   r*   Z2017Z2018z
US/Central)r6   zdatetime64[ns, US/Central]i  i  A)r8   zA-DEC   intervalzdatetime64[ns]zdatetime _valuesT)reasonstrict)Zmarks
   zm8[ns]ztimedelta _valuesc             C   sL   t j| j}t j| j}t||ks(tt|t|ks<ttj|| d S )N)r:   r   Z_valuesIndexr1   r    tmZassert_equal)arrayexpected_typer   Zl_valuesZr_valuesr   r   r   test_values_consistent   s
    )rT   arr   c             C   s(   t j| }|j}t| }tj|| d S )N)r:   r   rR   r   rQ   Zassert_extension_array_equal)rU   serr&   expectedr   r   r   test_numpy_array   s    
rY   c             C   sT   t j| d}|j}t| r*t|tsPtn&t| rBt|tsPtnt|t	sPtd S )N)r   )
r:   r   rR   r   r   r	   r    r   r   r   )Zany_numpy_dtyperW   r&   r   r   r   test_numpy_array_all_dtypes   s    rZ   zarray, attr_codes20002001D_data_leftZ_sparse_valuesz2000-01-01T12:00:00z2000-01-02T12:00:00zM8[ns]c             C   sb   |}| j jdkr,|tjkr,tjd| j   || ddj}|rRt| |} t||}|| ks^td S )NInt64Sparse[int64, 0]zNo index type for F)copy)ra   rb   )	r   namer:   rP   rF   skiprR   getattrr    )rR   attrr"   boxr&   r   r   r   
test_array   s    

ri   c           	   C   s>   t jjdgddgg} d}tjt|d | j W d Q R X d S )NrJ   r)   rI   z&MultiIndex has no single backing array)match)r:   Z
MultiIndexZfrom_productrF   raises
ValueErrorrR   )idxmsgr   r   r   test_array_multiindex_raises  s    ro   zarray, expectedz2000-01-01T06:00:00z2000-01-02T06:00:00z
2000-01-01z
2000-01-02l     qai8Hc             C   sL   |}|| }| j jdkr4|tjkr4tjd| j   |j }tj|| d S )Nra   Sparse[int64, 0]zNo index type for )ra   rr   )	r   rd   r:   rP   rF   re   to_numpyrQ   assert_numpy_array_equal)rR   rX   r"   rh   thingr&   r   r   r   test_to_numpy  s    .rv   	as_seriesFcc             C   s   t j| dd}|r"t j|jdd}|j }tj| |dks>t|jdd}tj| |dks^t|jdd}tj| |dks~td S )NF)rc   T)r:   rP   r   valuesrs   npZshares_memoryr    )rU   rw   r+   r&   r   r   r   test_to_numpy_copyO  s    r{   c             C   s   d}t jddg|d}| r$t j|}|j }tjt jd|dt jd|dgtd}tj	|| |jdd}tj	|| |jdd}tjdd	gdd}tj	|| d S )
Nz
US/Easternr\   r]   )r6   )r   r(   zM8[ns]z2000-01-01T05z2001-01-01T05)
r:   DatetimeIndexr   rs   rz   rR   r   r(   rQ   rt   )rw   r6   r+   r&   rX   r   r   r   test_to_numpy_dtyped  s    
"r}   z!values, dtype, na_value, expectedr   g      ?g       @g        z2000-01-01T00:00:00.000000000c             C   s0   | |}|j ||d}tj|}tj|| d S )N)r   na_value)rs   rz   rR   rQ   rt   )r"   ry   r   r~   rX   r+   r&   r   r   r   "test_to_numpy_na_value_numpy_dtypez  s    
r   c              C   sx   t jdddg} d}tjt|d | jdd W d Q R X t jdddgdd	} tjt|d | jdd W d Q R X d S )
Nr   rK   rV   z5to_numpy\(\) got an unexpected keyword argument 'foo')rj   T)Zfoora   )r   )r:   r   rF   rk   	TypeErrorrs   )r%   rn   r   r   r   test_to_numpy_kwargs_raises  s    r   data)r)   rI   zdtype, na_valuec             C   sH   t j| }|j||d}tjddgddgd|gg|d}tj|| d S )N)r   r~   r   rK   rV   )r   )r:   	DataFramers   rz   rR   rQ   rt   )r   r   r~   dfr&   rX   r   r   r    test_to_numpy_dataframe_na_value  s    
 r   zdata, expectedc             C   s*   t j| }|jttjd}tj|| d S )N)r   r~   )r:   r   rs   rD   rz   nanrQ   rt   )r   rX   r   r&   r   r   r   $test_to_numpy_dataframe_single_block  s    
r   c              C   sL   t jtjddtjg} t jtjddtjg}| jdd tj| | d S )Ng      ?g       @g        )r~   )r:   r   rz   rR   r   rs   rQ   Zassert_frame_equal)r&   rX   r   r   r   .test_to_numpy_dataframe_single_block_no_mutate  s    r   l    d(	 )AZnumpyrz   rF   Zpandas.core.dtypes.commonr   r   Zpandas.core.dtypes.dtypesr   Zpandasr:   r   r   r   r   Zpandas._testingZ_testingrQ   Zpandas.core.arraysr	   r
   r   r   r   r   r   rG   rH   rR   r   ZndarrayZCategoricalr|   ZPeriodIndexcorerE   ZPeriodDtypeZIntervalIndexZfrom_breaksparamZxfailZTimedeltaIndexrT   rY   rZ   ZarraysZperiod_arrayZinteger_arrayr   ri   ro   r(   r;   ZNAZIntervalrv   r{   r}   ZNaTZ
datetime64r   r   rD   r   r   r   r   r   r   r   <module>   s   
 
 

"$&"" 6"$&	.