a
    é´«jµœ  ã                   @  sæ   d dl mZ d dlmZ d dlZd dlZd dlZd dlm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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!  m"Z# d dl$m%Z% G d	d
„ d
ƒZ&G dd„ dƒZ'dS )é    )Úannotations)ÚdatetimeN)Ú	Timestamp)Úis_integer_dtypeÚis_numeric_dtype)ÚCategoricalDtype)ÚCategoricalIndexÚDatetimeIndexÚDatetimeTZDtypeÚIndexÚIntervalIndexÚ
MultiIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚStringDtypeÚTimedeltaIndexÚisnaÚperiod_range)ÚBaseMaskedArrayc                   @  sú  e Zd Zejedddd�eejdej	d�ƒeejdej
d�ƒeejdejd�ƒeedddƒejd�eedddƒejd�eedddƒejd�eedddƒejd�eedƒƒeg d¢ƒed	dd
d�eg d¢dd
d�eg d¢dd
d�ejedƒdd�gd�dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zej  !d'¡d(d)„ ƒZ"d*d+„ Z#d,d-„ Z$d.d/„ Z%d0d1„ Z&d2d3„ Z'd4d5„ Z(d6d7„ Z)d8d9„ Z*d:d;„ Z+ej  !d<¡ej  !d'¡d=d>„ ƒƒZ,d?d@„ Z-dAdB„ Z.dCdD„ Z/dEdF„ Z0dGdH„ Z1dIdJ„ Z2dKdL„ Z3dMdN„ Z4ej  5dOdPdQ„ dRdQ„ g¡ej  !d'¡dSdT„ ƒƒZ6dUdV„ Z7ej  5dWdXdYg¡ej  5dZd[d\g¡ej  5d]dXdYg¡d^d_„ ƒƒƒZ8d`da„ Z9ej j:dbdc„ ƒZ;ddde„ Z<dfdg„ Z=dhdi„ Z>djdk„ Z?dldm„ Z@dndo„ ZAdpdq„ ZBdrds„ ZCdtdu„ ZDdvdw„ ZEdxdy„ ZFdzd{„ ZGd|d}„ ZHd~d„ ZId[S )€ÚTestBaser   é   é   ©ÚstartÚstopÚstepé   ©ÚdtypeZabcde)r   Úaé   Úbr   ÚcZ20130101ÚD)ZperiodsÚfreq)z0 days 01:00:00z1 days 01:00:00z2 days 01:00:00z3 days 01:00:00z4 days 01:00:00ztimedelta64[ns])r   r%   )z
2013-01-01z
2013-01-02z
2013-01-03z
2013-01-04z
2013-01-05zdatetime64[ns]é   Úright)Úclosed©Úparamsc                 C  s   |j S ©N©Úparam©ÚselfÚrequest© r1   úa/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/indexes/test_old_base.pyÚsimple_index'   s    !zTestBase.simple_indexc                 C  s^   t |tƒrt d¡ d g d¢¡}tjt|d�� t|ƒƒ  W d   ƒ n1 sP0    Y  d S )Nz#RangeIndex() is a valid constructorú|)zNIndex\(\.\.\.\) must be called with a collection of some kind, None was passedzPDatetimeIndex\(\) must be called with a collection of some kind, None was passedzQTimedeltaIndex\(\) must be called with a collection of some kind, None was passedz:__new__\(\) missing 1 required positional argument: 'data'z2__new__\(\) takes at least 2 arguments \(1 given\)©Úmatch)Ú
isinstancer   ÚpytestÚskipÚjoinÚraisesÚ	TypeErrorÚtype)r/   r3   Úmsgr1   r1   r2   Útest_pickle_compat_constructionJ   s    

ÿz(TestBase.test_pickle_compat_constructionc                 C  s¤   t |tttfƒrt d¡ |}dt|ƒj› �}tjt	|d�� | 
d¡ W d   ƒ n1 s\0    Y  tjt	|d�� | 
dd¡ W d   ƒ n1 s–0    Y  d S )Nz"Tested in test_ops/test_arithmeticz\This method is only implemented for DatetimeIndex, PeriodIndex and TimedeltaIndex; Got type r5   r!   r   )r7   r	   r   r   r8   r9   r=   Ú__name__r;   ÚNotImplementedErrorÚshift©r/   r3   Úidxr>   r1   r1   r2   Ú
test_shift]   s    
ÿÿ(zTestBase.test_shiftc                 C  sF   |}t jtdd��  t|ƒ|g d� W d   ƒ n1 s80    Y  d S )Nz"Index.name must be a hashable typer5   ©Úname)r8   r;   r<   r=   ©r/   r3   rD   r1   r1   r2   Ú test_constructor_name_unhashablek   s    z)TestBase.test_constructor_name_unhashablec                 C  sº   |  ¡ }t|tƒsLd|_t|ƒ}t ||¡ t|dd�}d|_t ||¡ njddg|_t|ƒ}t |ttg d¢dd�ddgd�¡ t|dd	gd�}t |ttg d¢dd�dd	gd�¡ d S )
NÚfooÚbarrF   ))rJ   Úone)rJ   Útwo)rK   rL   )ZbazrM   )ÚquxrL   )rN   rM   Úobjectr   )ÚnamesÚAÚB)Úcopyr7   r   rG   r   ÚtmÚassert_index_equalrP   )r/   r3   ÚexpectedÚresultr1   r1   r2   Útest_create_index_existing_namer   s>    

÷ôþ÷ôþz(TestBase.test_create_index_existing_namec           	      C  s&  |}t |tƒrJ ‚t|ƒtu r(t d¡ t|jƒs<t |tƒrFt d¡ t|j	ƒj
}t|ƒj
}d d|› d�d|› d|› d�g¡}tjt|d�� |d	  W d   ƒ n1 s¬0    Y  d d
|› d�d|› d|› d�g¡}tjt|d�� d	|  W d   ƒ n1 �s0    Y  | dd¡}tjt|d�� |d	  W d   ƒ n1 �sL0    Y  | dd¡}tjt|d�� d	|  W d   ƒ n1 �s�0    Y  | dd¡}tjt|d�� |d	  W d   ƒ n1 �sÔ0    Y  | dd¡}tjt|d�� d	|  W d   ƒ n1 �s0    Y  d S )NzNot applicable for IndexúTested elsewhere.r4   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: (ú)r5   r!   z1unsupported operand type\(s\) for \*: 'int' and 'ú'zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (Ú*ú/z//)r7   r   r=   r   r8   r9   r   r   r   Ú_datar@   r:   r;   r<   Úreplace)	r/   r3   rD   ÚtypÚclsZlmsgZrmsgZdiv_errZfloordiv_errr1   r1   r2   Útest_numeric_compat¦   sX    
ÿ


ÿÿþÿ&
ÿÿþÿ((((zTestBase.test_numeric_compatc                 C  s  |j tdfv rt d¡ |}|j jdv r†| ¡ |j ¡ ks>J ‚| ¡ | ¡  ¡ ksVJ ‚| ¡ |j ¡ kslJ ‚| ¡ | ¡  ¡ ks„J ‚n~d}t	|t
ƒr˜d}tjt|d�� | ¡  W d   ƒ n1 sÄ0    Y  tjt|d�� | ¡  W d   ƒ n1 sú0    Y  d S )NÚstringrY   Ziufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r5   )r   rO   r8   r9   ÚkindÚallÚ_valuesZ	to_seriesÚanyr7   r   r;   r<   rC   r1   r1   r2   Útest_logical_compatÕ   s     

ÿ&zTestBase.test_logical_compatc                 C  s<   t |tƒr t dt|ƒj› �¡ |}t tt	|ƒƒ|¡ d S )NúNot a valid repr for )
r7   r   r8   r9   r=   r@   rT   rU   ÚevalÚreprrH   r1   r1   r2   Útest_repr_roundtripê   s    
zTestBase.test_repr_roundtripc                 C  sv   t |tƒr t dt|ƒj› �¡ |}| d¡}t dd ¡�( t	|ƒ dt
|ƒvsTJ ‚W d   ƒ n1 sh0    Y  d S )Nri   é2   zdisplay.max_seq_itemsz...)r7   r   r8   r9   r=   r@   ÚrepeatÚpdZoption_contextrk   ÚstrrH   r1   r1   r2   Útest_repr_max_seq_item_settingð   s    

z'TestBase.test_repr_max_seq_item_settingz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C  s¢  i }t |tƒr|j|d< n:t |tttfƒr6t d¡ n|jt	krT|j
dv rT|j|d< t|ƒ}||jfddi|¤Ž}t |jtƒr�| d¡ |j¡}t |ttfƒr¨| d ¡}t ||¡ t |tƒ�r d}tjt|d	��& |f |jd
dœ|¤Ž}W d   ƒ n1 sþ0    Y  tj|j|jdd� �n~t |tƒ�r0�nnt|ƒtu �rtt |jtjƒ�st||jfdd
i|¤Ž}t ||¡ t |jtƒ�rät |jj |jj ¡�s˜J ‚tj|jj |jj dd� t |jj!|jj!¡�sÊJ ‚tj|jj!|jj!dd� nŽt |jt"ƒ�r4|jj#dk�r4t |jj$|jj$¡�sJ ‚tj|jj$|jj$dd� n>t |jt"ƒ�rh|jj#dk�rht |j|j¡�srJ ‚n
t%|jƒ‚n*||jfdd
i|¤Ž}tj|j|jdd� d S )Nr%   zaRangeIndex cannot be initialized from data, MultiIndex and CategoricalIndex are tested separately)Úbooleanrc   r   rS   TÚUTCz2The 'ordinal' keyword in PeriodIndex is deprecatedr5   F)ZordinalrS   Zsame)Z
check_sameÚpythonZpyarrow)&r7   r   r%   r   r   r   r8   r9   r   rO   Úinferred_typer=   Úvaluesr
   Ztz_localizeZ
tz_convertÚtzr	   r   Ú
_with_freqrT   rU   Úassert_produces_warningÚFutureWarningZasi8Úassert_numpy_array_equalr   r   Únprf   r   Zshares_memoryr^   Z_maskr   ZstorageZ_ndarrayrA   )r/   ÚindexZinit_kwargsZ
index_typerW   Zdepr_msgr1   r1   r2   Útest_ensure_copied_dataú   sf    
ÿ

4ÿÿ
ÿ
ÿÿ
ÿ
þz TestBase.test_ensure_copied_datac                 C  s˜   |j  ¡  | ¡ }|jr(|dks$J ‚d S | |d ¡ | ¡ }|jdd�}t|ttfƒs~t|ƒt	u rrt|j
tj
ƒr~||ks~J ‚|jdkr”||ks”J ‚d S )Nr   T©ÚdeeprO   )Ú_engineZclear_mappingZmemory_usageÚemptyÚget_locr7   r   r   r=   r   r   r|   ru   )r/   r}   rW   Zresult2Zresult3r1   r1   r2   Útest_memory_usage;  s     

ÿÿ
zTestBase.test_memory_usagec                 C  sJ   t |tƒr t t| ƒj› d�¡ | ¡ }t |¡ ¡ }t	j
||dd� d S )Nz separately testedF)Zcheck_dtype)r7   r   r8   r9   r=   r@   Úargsortr|   ÚarrayrT   r{   )r/   r}   rW   rV   r1   r1   r2   Útest_argsortS  s
    
zTestBase.test_argsortc                 C  sÖ   t  |¡}| ¡ }t ||¡ t j|dd�}|jdd�}t ||¡ t|ttfƒrÒd}tjt	|d�� t j|dd� W d   ƒ n1 sˆ0    Y  d}tjt	|d�� t j|dd	� W d   ƒ n1 sÈ0    Y  d S )
NZ	mergesort)rd   ú%the 'axis' parameter is not supportedr5   r!   ©Zaxisz&the 'order' parameter is not supported)r    r"   )Úorder)
r|   r…   rT   r{   r7   r   r   r8   r;   Ú
ValueError)r/   r}   rW   rV   r>   r1   r1   r2   Útest_numpy_argsort[  s    
	,zTestBase.test_numpy_argsortc                 C  sx   d}|  ¡ }|j}||j |¡|jd�}t | |¡|¡ |}t t	|ƒ¡}||j |¡|jd�}t | |¡|¡ d S )Nr   rF   )
rS   Z_constructorrv   rn   rG   rT   rU   r|   ÚarangeÚlen)r/   r3   ÚreprD   Znew_index_clsrV   r1   r1   r2   Útest_repeatt  s    zTestBase.test_repeatc                 C  sl   d}|}|  |¡}t t  ||¡|¡ d}tjt|d��  tj ||dd� W d   ƒ n1 s^0    Y  d S )Nr   rˆ   r5   r   r‰   )rn   rT   rU   r|   r8   r;   r‹   )r/   r3   r�   rD   rV   r>   r1   r1   r2   Útest_numpy_repeat€  s    
zTestBase.test_numpy_repeatc                 C  sÊ   t |ttfƒst|jƒr"t d¡ |}|}t |ttfƒrB| 	d ¡}dgt
|ƒ }| ||ƒ¡}|}t ||¡ dgdgt
|dd … ƒ  }t|jg|dd …  ¡  |jd�}| ||ƒ¡}t ||¡ d S )NrY   TFr!   r   )r7   r   r   r   r   r8   r9   r	   r   rx   rŽ   ÚwhererT   rU   r   Z	_na_valueÚtolist)r/   Zlistlike_boxr3   ÚklassrD   ZcondrW   rV   r1   r1   r2   Ú
test_whereŠ  s     ÿ

"zTestBase.test_wherec                 C  s–   |dd… }t |ƒst d¡ d }|jtkr:|jdkr:t}d}tj||d��  | 	d|d ¡}W d   ƒ n1 sr0    Y  |dd…  
|¡s’J ‚d S )Nr!   é   úNot applicable for empty indexrr   z<The behavior of Index.insert with object-dtype is deprecatedr5   r   )rŽ   r8   r9   r   rO   ru   rz   rT   ry   ÚinsertÚequals)r/   r}   ZtrimmedÚwarnr>   rW   r1   r1   r2   Útest_insert_base   s    
.zTestBase.test_insert_basec                 C  s<  t |ƒdkrt}nt}t |ƒdkr(d}nd}|rh|jdksD|jdkrJd}n|jdkrht |ƒdkrhd}t}tj||d�� | d	d
¡ W d   ƒ n1 s˜0    Y  d ddg¡}tjt|d��$ | t |ƒd d¡ W d   ƒ n1 sè0    Y  tjt|d��& | t |ƒ d d¡ W d   ƒ n1 �s.0    Y  d S )Nr   z5index (0|0.5) is out of bounds for axis 0 with size 0zBslice indices must be integers or None or have an __index__ methodrc   Úcategoryzloc must be an integer betweenrO   r5   g      à?rJ   r4   z5index -?\d+ is out of bounds for axis 0 with size \d+r!   )rŽ   r<   Ú
IndexErrorr   r8   r;   r˜   r:   )r/   r}   Úusing_infer_stringÚerrr>   r1   r1   r2   Útest_insert_out_of_bounds°  s.    *þÿ2z"TestBase.test_insert_out_of_boundsc                 C  sî   t |ƒst d¡ t|tƒr2t t| ƒj› d�¡ |dd … }| d¡}| |¡sVJ ‚|j	|j	ksfJ ‚|d d… }| d¡}| |¡sŠJ ‚|j	|j	ksšJ ‚t |ƒ}d|› d|› �}tj
t|d�� | |¡ W d   ƒ n1 sà0    Y  d S )	Nr—   ú tested elsewherer!   r   éÿÿÿÿzindex z' is out of bounds for axis 0 with size r5   )rŽ   r8   r9   r7   r   r=   r@   Údeleter™   rG   r;   r�   )r/   r}   rV   rW   Úlengthr>   r1   r1   r2   Útest_delete_baseÓ  s     



zTestBase.test_delete_basez$ignore:Dtype inference:FutureWarningc                 C  sð   t |tƒr t t|ƒj› d�¡ t|ƒtu o:t |jtjƒ }| 	|¡sJJ ‚| 	| 
¡ ¡s\J ‚|st| 	| t¡¡stJ ‚| 	t|ƒ¡r†J ‚| 	t |¡¡ršJ ‚t |tƒsÐ|sÐt|td�}| 	|¡sÂJ ‚| 	|¡sÐJ ‚|jdkrì| 	t|ƒ¡rìJ ‚d S )Nr¡   r   r!   )r7   r   r8   r9   r=   r@   r   r   r|   r™   rS   ÚastyperO   Úlistr†   r   Znlevelsr   )r/   r}   Z	is_ea_idxZsame_valuesr1   r1   r2   Útest_equalsê  s    

zTestBase.test_equalsc                 C  sX  |}t |ƒ}|dd… }|dd…  |dd… ¡}|dd… }d}tjt|d�� ||k W d   ƒ n1 sn0    Y  t dg| ¡}t dg|d  dg ¡}	t ||k|¡ t ||k|	¡ t |¡}
t |dd… ¡}t |dd…  |dd… ¡¡}t |dd… ¡}tjt|d�� ||k W d   ƒ n1 �s>0    Y  t ||
k|¡ t ||k|	¡ t	|
ƒ}t	|ƒ}t	|ƒ}t	|ƒ}tjt|d�� ||k W d   ƒ n1 �s¶0    Y  t ||k|¡ t ||k|	¡ tjtd	d�� ||k W d   ƒ n1 �s0    Y  tjtd	d�� ||k W d   ƒ n1 �sF0    Y  tjtd	d�� ||k W d   ƒ n1 �s~0    Y  d
}tjt|d�� ||k W d   ƒ n1 �sº0    Y  tjtd	d�� ||k W d   ƒ n1 �sò0    Y  t
|tƒ�sTt dgt |ƒd  ddg ¡}|d }t ||k|¡ t ||kt	|ƒ¡ d S )Nr   r¢   éþÿÿÿr!   z)Lengths must match|could not be broadcastr5   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )rŽ   Úappendr8   r;   r‹   r|   r†   rT   r{   r   r7   r   Úassert_series_equal)r/   r3   Zindex_aÚnZindex_bZindex_cZindex_dr>   Z	expected1Z	expected2Zarray_aZarray_bZarray_cZarray_dZseries_aZseries_bZseries_cZseries_dZ	expected3Úitemr1   r1   r2   Útest_equals_op  sX    &
 ((((((( zTestBase.test_equals_opc                 C  sv   t |jƒst|tƒrt d¡ |}dd„ |D ƒ}d}tjt|d��  | 	¡ |ksTJ ‚W d   ƒ n1 sh0    Y  d S )NrY   c                 S  s   g | ]}t |ƒ‘qS r1   ©rp   ©Ú.0Úxr1   r1   r2   Ú
<listcomp>J  ó    z(TestBase.test_format.<locals>.<listcomp>úIndex\.format is deprecatedr5   )
r   r   r7   r	   r8   r9   rT   ry   rz   Úformat©r/   r3   rD   rV   r>   r1   r1   r2   Útest_formatC  s    ÿ
zTestBase.test_formatc                 C  s®   t |ttfƒrt d¡ t|ƒg ƒ}d}tjt|d��  | 	¡ g ksHJ ‚W d   ƒ n1 s\0    Y  tjt|d��& |j	dd�dgksŒJ ‚W d   ƒ n1 s 0    Y  d S )NúTested elsewhererµ   r5   TrF   Ú )
r7   r   r   r8   r9   r=   rT   ry   rz   r¶   )r/   r3   Z	empty_idxr>   r1   r1   r2   Útest_format_emptyO  s    
.zTestBase.test_format_emptyc              	   C  s  t |ƒdkrt d¡ �nú|jtkr:t |j› d�¡ �nÚt|tƒrdt|jƒrdt d|j› �¡ �n°t|tƒr¾|j	dd�}d}tj
t|d�� | |d ¡ W d   ƒ n1 s°0    Y  �nV|j	dd�}| |d ¡}t ||¡ ||usðJ ‚d	}tj
t|d��  | |d g¡ W d   ƒ n1 �s*0    Y  |j	dd�}|j}tj|d
< t|ƒ|ƒ}d}d}tjt|d��R tj
t|d��" |j|d dd� W d   ƒ n1 �s¬0    Y  W d   ƒ n1 �sÌ0    Y  tjdgt |ƒ td�}d|d
< t |j|¡ |jdu �sJ ‚d S )Nr   zNot relevant for empty indexz cannot hold NAszNot relevant for Index with Tr   ú"isna is not defined for MultiIndexr5   z"'value' must be a scalar, passed: r!   zdoes not support 'downcast'z7The 'downcast' keyword in .*Index\.fillna is deprecatedZinfer)ZdowncastFr   )rŽ   r8   r9   r   Úboolr7   r   r   r   rS   r;   rA   ZfillnarT   rU   r<   rf   r|   Únanr=   ry   rz   r†   r{   Z_isnanÚhasnans)r/   r}   rD   r>   rW   rv   Zmsg2rV   r1   r1   r2   Útest_fillnaZ  s>    

00
RzTestBase.test_fillnac                 C  sè   t |ƒdkr(t | ¡ tjg td�¡ n¼t|tƒrv| 	¡ }d}t
jt|d�� | ¡  W d   ƒ qä1 sj0    Y  nn|jsºt | ¡ tjt |ƒtd�¡ t | ¡ tjt |ƒtd�¡ n*t|ƒ}t | ¡ |¡ t | ¡ | ¡ d S )Nr   r   r¼   r5   )rŽ   rT   r{   r   r|   r†   r½   r7   r   rS   r8   r;   rA   r¿   ÚzerosZnotnaZones)r/   r}   rD   r>   rW   r1   r1   r2   Ú
test_nulls„  s    
( zTestBase.test_nullsc                 C  s$   |}|j rJ ‚|d d… j s J ‚d S ©Nr   )r‚   rH   r1   r1   r2   Ú
test_empty–  s    
zTestBase.test_emptyc                 C  s>   |}|j r:|j||d�}|}|dkr.t |¡}t ||¡ d S )N)ÚhowÚouter)Ú	is_uniquer:   ÚalgosZ	safe_sortrT   rU   )r/   Z	join_typer3   rD   ZjoinedrV   r1   r1   r2   Útest_join_self_uniqueœ  s    
zTestBase.test_join_self_uniquec                 C  s>   t |ttfƒrt d¡ |}| dd„ ¡}tj||dd� d S )NrY   c                 S  s   | S r+   r1   )r²   r1   r1   r2   Ú<lambda>«  r´   z#TestBase.test_map.<locals>.<lambda>Úequiv©Úexact)r7   r   r   r8   r9   ÚmaprT   rU   )r/   r3   rD   rW   r1   r1   r2   Útest_map¥  s
    
zTestBase.test_mapÚmapperc                 C  s   dd„ t | |ƒD ƒS )Nc                 S  s   i | ]\}}||“qS r1   r1   )r±   ÚeÚir1   r1   r2   Ú
<dictcomp>²  r´   z%TestBase.<lambda>.<locals>.<dictcomp>)Úzip©rv   r}   r1   r1   r2   rÊ   ²  r´   zTestBase.<lambda>c                 C  s
   t | |ƒS r+   )r   rÕ   r1   r1   r2   rÊ   ³  r´   c           	      C  s’   |}t |tttfƒrt d¡ ||j|ƒ}| |¡}tj	||dd� d }|j
jdkrZ|j
}ttjgt|ƒ |d�}| |||ƒ¡}t 	||¡ d S )NrY   rË   rÌ   Úfr   )r7   r	   r   r   r8   r9   rv   rÎ   rT   rU   r   rd   r   r|   r¾   rŽ   )	r/   rÐ   r3   r0   rD   ÚidentityrW   r   rV   r1   r1   r2   Útest_map_dictlike¯  s    	

zTestBase.test_map_dictlikec                 C  sD   t |tƒrt d¡ |}| t¡}tdd„ |D ƒƒ}t ||¡ d S )NzSee test_map.pyc                 S  s   g | ]}t |ƒ‘qS r1   r¯   r°   r1   r1   r2   r³   Ñ  r´   z)TestBase.test_map_str.<locals>.<listcomp>)	r7   r   r8   r9   rÎ   rp   r   rT   rU   )r/   r3   rD   rW   rV   r1   r1   r2   Útest_map_strË  s    


zTestBase.test_map_strrS   TFrG   NrJ   Úorderedc           	      C  sÄ   |}|r|  |¡}t|d�}|j||d�}t|||d�}tj||dd� t| ¡  ¡ d d… |ƒ}|j||d�}t|||d�}tj||dd� |du rÀ|jd	|d�}t||d
�}tj||dd� d S )N)rÚ   )rS   )rG   rÚ   TrÌ   r¢   )rG   r   Frœ   rF   )Úrenamer   r¦   r   rT   rU   Úuniquer“   )	r/   rS   rG   rÚ   r3   rD   r   rW   rV   r1   r1   r2   Útest_astype_categoryÔ  s    

zTestBase.test_astype_categoryc                 C  sŠ   |  ¡ }|jdu sJ ‚|d d… }|jdu s0J ‚| d|d ¡}|jdu sNJ ‚| dtj¡}|jdu sjJ ‚| dtj¡}|jdu s†J ‚d S )NTr   F)Zdrop_duplicatesrÇ   r˜   r|   r¾   )r/   r3   r}   Zindex_emptyZ	index_dupZindex_naZindex_na_dupr1   r1   r2   Útest_is_uniqueï  s    zTestBase.test_is_uniquec                 C  s,   |  ¡ }t |¡}|j ~|ƒ d u s(J ‚d S r+   )rS   ÚweakrefÚrefr�   )r/   r3   r}   rà   r1   r1   r2   Útest_engine_reference_cycle  s
    
z$TestBase.test_engine_reference_cyclec                 C  sV  t |tƒrt d¡ |}d}tjttf|d��  |d d …d f  W d   ƒ n1 sT0    Y  t |tƒsÞtjttf|d�� |d  W d   ƒ n1 s˜0    Y  tjttf|d�� |d  W d   ƒ n1 sÒ0    Y  ntd}tjt|d�� |d  W d   ƒ n1 �s0    Y  tjt|d�� |d  W d   ƒ n1 �sH0    Y  d S )Nr¹   z(Multi-dimensional indexing|too many|onlyr5   TFzonly integers, slices)r7   r   r8   r9   r;   r‹   r�   r   rC   r1   r1   r2   Útest_getitem_2d_deprecated  s     

.
&((z#TestBase.test_getitem_2d_deprecatedc                 C  s.   |}|  |d ¡ | ¡ }|j|ju s*J ‚d S rÃ   )rƒ   rS   Ú_cache)r/   r3   rD   rS   r1   r1   r2   Útest_copy_shares_cache#  s    zTestBase.test_copy_shares_cachec                 C  sX   |}|  |d ¡ | ¡ }|j|ju s*J ‚| |j¡}|j|jusFJ ‚|ji ksTJ ‚d S rÃ   )rƒ   Z_viewrã   Z_shallow_copyr^   )r/   r3   rD   Zshallow_copyr1   r1   r2   Útest_shallow_copy_shares_cache+  s    z'TestBase.test_shallow_copy_shares_cachec              	   C  sÎ   |d d… }t  ddt jddg¡}t | |¡|ddg |ddg dœ¡ ttdd	dƒtdd
dƒtj	tdd
dƒtdd	dƒgdd�j
}tdƒtdƒg}|d |ddg |d |ddg i}t | |¡|¡ d S )Nr   r!   r   r   r–   é   )g      ð?g       @iÛ  r&   é   rs   )rw   z
2011-11-01z
2011-12-01)r|   r†   r¾   rT   Zassert_dict_equalÚgroupbyr	   r   ro   ÚNaTrv   r   )r/   r3   rD   Z
to_groupbyZex_keysrV   r1   r1   r2   Útest_index_groupby7  s"     ÿ



ûø$zTestBase.test_index_groupbyc                 C  s€   |}t |ƒ}| |¡}|j|jks&J ‚tj|d |… |dd� tj||d … |dd� | tt|ƒƒd ¡}tj||dd� d S )NT)Zcheck_exactr   )rŽ   rª   r   rT   rU   Ztaker§   Úrange)r/   r3   r}   ÚNrW   Zaltr1   r1   r2   Útest_append_preserves_dtypeM  s    
z$TestBase.test_append_preserves_dtypec                 C  sÖ   |}|j jdv rP| }t|j |jd�}t ||¡ t|ƒ }t |t|ƒ¡ n‚|j jdkrbd}nd}t	j
t|d�� |  W d   ƒ n1 s�0    Y  t	j
t|d�� t|ƒ  W d   ƒ n1 sÈ0    Y  d S )N)rÒ   ÚurF   rÖ   z0ufunc 'invert' not supported for the input typesz8bad operand|__invert__ is not supported for string dtyper5   )r   rd   r   rv   rG   rT   rU   r   r«   r8   r;   r<   )r/   r3   rž   rD   ÚresrV   Zres2r>   r1   r1   r2   Útest_invZ  s    
$zTestBase.test_invc                 C  s:   |}t  t¡� | ¡  W d   ƒ n1 s,0    Y  d S r+   )rT   ry   rz   Z
is_booleanrH   r1   r1   r2   Útest_is_boolean_is_deprecatedq  s    z&TestBase.test_is_boolean_is_deprecatedc                 C  s:   |}t  t¡� | ¡  W d   ƒ n1 s,0    Y  d S r+   )rT   ry   rz   Zis_floatingrH   r1   r1   r2   Útest_is_floating_is_deprecatedw  s    z'TestBase.test_is_floating_is_deprecatedc                 C  s:   |}t  t¡� | ¡  W d   ƒ n1 s,0    Y  d S r+   )rT   ry   rz   Ú
is_integerrH   r1   r1   r2   Útest_is_integer_is_deprecated}  s    z&TestBase.test_is_integer_is_deprecatedc                 C  sN   |}t |ƒj› d�}tjt|d�� | ¡  W d   ƒ n1 s@0    Y  d S )Nz.holds_integer is deprecated. r5   )r=   r@   rT   ry   rz   Zholds_integerrC   r1   r1   r2   Útest_holds_integer_deprecatedƒ  s    z&TestBase.test_holds_integer_deprecatedc                 C  sJ   |}t jtt|ƒj› d�d�� | ¡  W d   ƒ n1 s<0    Y  d S )Nz.is_numeric is deprecated. r5   )rT   ry   rz   r=   r@   Z
is_numericrH   r1   r1   r2   Útest_is_numeric_is_deprecatedŠ  s    þz&TestBase.test_is_numeric_is_deprecatedc                 C  s>   |}t jtdd�� | ¡  W d   ƒ n1 s00    Y  d S )Nz4Use pandas\.api\.types\.is_categorical_dtype insteadr5   )rT   ry   rz   Zis_categoricalrH   r1   r1   r2   Ú!test_is_categorical_is_deprecated“  s    þz*TestBase.test_is_categorical_is_deprecatedc                 C  s:   |}t  t¡� | ¡  W d   ƒ n1 s,0    Y  d S r+   )rT   ry   rz   Zis_intervalrH   r1   r1   r2   Útest_is_interval_is_deprecatedœ  s    z'TestBase.test_is_interval_is_deprecatedc                 C  s:   |}t  t¡� | ¡  W d   ƒ n1 s,0    Y  d S r+   )rT   ry   rz   Z	is_objectrH   r1   r1   r2   Útest_is_object_is_deprecated¢  s    z%TestBase.test_is_object_is_deprecated)Jr@   Ú
__module__Ú__qualname__r8   Úfixturer   r   r|   r�   Úfloat64Úfloat32Úuint64rë   Úint64Úint32Úint16Úint8r§   r   r   r	   r   Zfrom_breaksr3   r?   rE   rI   rX   rb   rh   rl   rq   ÚmarkÚfilterwarningsr~   r„   r‡   rŒ   r�   r‘   r•   r›   r    r¥   r¨   r®   r¸   r»   rÀ   rÂ   rÄ   rÉ   rÏ   ÚparametrizerØ   rÙ   rÝ   rÞ   Zarm_slowrá   râ   rä   rå   rê   rí   rð   rñ   rò   rô   rõ   rö   r÷   rø   rù   r1   r1   r1   r2   r   &   s¬   

÷ýäÿ 
4/


@
#

>*	
þþ
	
		r   c                   @  s  e Zd Zejedddd�eejdej	d�ƒeejdej
d�ƒeejdejd�ƒeedddƒejd�eedddƒejd�eedddƒejd�eedddƒejd�gd�dd	„ ƒZd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej dejejg¡dd„ ƒZdd„ ZdS )ÚTestNumericBaser   r   r   r   r   r   r)   c                 C  s   |j S r+   r,   r.   r1   r1   r2   r3   ª  s    zTestNumericBase.simple_indexc                 C  s`   t |tƒrt d¡ t|ƒ}|j}tddg|d�}||ƒ}tjddg|jd�}t	 
|j|¡ d S )NrY   r!   r   r   )r7   r   r8   r9   r=   r   r   r|   r†   rT   r{   r^   )r/   r3   Ú	index_clsr   rD   rW   rV   r1   r1   r2   Útest_constructor_unwraps_index¹  s    

z.TestNumericBase.test_constructor_unwraps_indexc                 C  s"   |}|d }|  |¡du sJ ‚d S )Nr   F)Z$_can_hold_identifiers_and_holds_name)r/   r3   rD   Úkeyr1   r1   r2   Útest_can_hold_identifiersÄ  s    z)TestNumericBase.test_can_hold_identifiersc                 C  sÀ   t |tƒrt d¡ t|ƒ}|j}|g |dd�}| ¡ }|jdksFJ ‚| |¡}tj	|||dd�dd� d}tj
t|d�� | |¡}W d   ƒ n1 sš0    Y  tj	|||dd�dd� d S )	NrY   ZFoo)r   rG   rF   TrÌ   z,Passing a type in .*Index.view is deprecatedr5   )r7   r   r8   r9   r=   r   ÚviewrG   rT   rU   ry   rz   )r/   r3   r  r   rD   Zidx_viewr>   r1   r1   r2   Ú	test_viewÉ  s    


(zTestNumericBase.test_viewc                   s‚   t |tƒrt d¡ |}tdd„ |D ƒƒ‰ ‡ fdd„|D ƒ}d}tjt|d��  | ¡ |ks`J ‚W d   ƒ n1 st0    Y  d S )Nr¹   c                 s  s   | ]}t t|ƒƒV  qd S r+   )rŽ   rp   r°   r1   r1   r2   Ú	<genexpr>à  r´   z.TestNumericBase.test_format.<locals>.<genexpr>c                   s   g | ]}t |ƒ ˆ ¡‘qS r1   )rp   Úljustr°   ©Ú	max_widthr1   r2   r³   á  r´   z/TestNumericBase.test_format.<locals>.<listcomp>rµ   r5   )	r7   r	   r8   r9   ÚmaxrT   ry   rz   r¶   r·   r1   r  r2   r¸   Û  s    

zTestNumericBase.test_formatc                 C  sD   |}|  d|d ¡}t|d gt|ƒ |jd�}tj||dd� d S )Nr   r   TrÌ   )r˜   r   r§   r   rT   rU   )r/   r3   r}   rW   rV   r1   r1   r2   Útest_insert_non_naæ  s    z"TestNumericBase.test_insert_non_nac                 C  s–   |}|}|t ju r:t|d t jgt|dd … ƒ td�}n<t|d tjgt|dd … ƒ ƒ}|jjdkrvt||jd�}| 	d|¡}t
j||dd� d S )Nr   r!   r   rÖ   TrÌ   )ro   ré   r   r§   rO   r|   r¾   r   rd   r˜   rT   rU   )r/   Znulls_fixturer3   r}   Zna_valrV   rW   r1   r1   r2   Útest_insert_nað  s    
("zTestNumericBase.test_insert_nac           	      C  sÚ   t |ƒ}|tu rtdƒ}n|tjddd�ƒ}tjddd�d }t|tjd�}|d }t ||¡ d| }t ||¡ t|tjd�}tjddd�}|| }t ||¡ t| tjd�}tjddd�}|| }t ||¡ d S )Nr   r   r   gš™™™™™	@rý   )	r=   r   r|   r�   r   rý   rT   rU   rÁ   )	r/   r3   r  rD   ZarrrV   Zfidxr    rW   r1   r1   r2   Ú$test_arithmetic_explicit_conversions   s$    
z4TestNumericBase.test_arithmetic_explicit_conversionsÚcomplex_dtypec                 C  s(   |  |¡}t|ƒtu r |j|ks$J ‚d S r+   )r¦   r=   r   r   )r/   r  r3   rW   r1   r1   r2   Útest_astype_to_complex  s    
z&TestNumericBase.test_astype_to_complexc                 C  sP   t |tƒrt d¡ t|ƒg d¢|jd�}t|ƒg d¢|jd�}t ||¡ d S )Nz.casting of strings not relevant for RangeIndex)Ú0Ú1Ú2r   )r   r!   r   )r7   r   r8   r9   r=   r   rT   rU   )r/   r3   rW   rV   r1   r1   r2   Útest_cast_string"  s
    

z TestNumericBase.test_cast_stringN)r@   rú   rû   r8   rü   r   r   r|   r�   rý   rþ   rÿ   rë   r   r  r  r  r3   r	  r  r  r¸   r  r  r  r  r  Z	complex64Z
complex128r  r  r1   r1   r1   r2   r  ©  s,   øÿ


r  )(Ú
__future__r   r   rß   Únumpyr|   r8   Zpandas._libs.tslibsr   Zpandas.core.dtypes.commonr   r   Zpandas.core.dtypes.dtypesr   Zpandasro   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingrT   Zpandas.core.algorithmsÚcoreZ
algorithmsrÈ   Zpandas.core.arraysr   r   r  r1   r1   r1   r2   Ú<module>   s*   <       
