o
    �¨Êhö›  ã                   @  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
 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 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)Úusing_pyarrow_string_dtype)Ú	Timestamp)Úis_integer_dtypeÚis_numeric_dtype)ÚCategoricalDtype)ÚCategoricalIndexÚDatetimeIndexÚDatetimeTZDtypeÚIndexÚIntervalIndexÚ
MultiIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚ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)ej j*e+ƒ d8d9�d:d;„ ƒZ,d<d=„ Z-ej  !d'¡d>d?„ ƒZ.d@dA„ Z/dBdC„ Z0dDdE„ Z1dFdG„ Z2dHdI„ Z3dJdK„ Z4dLdM„ Z5dNdO„ Z6ej  7dPdQdR„ dSdR„ g¡ej  !d'¡dTdU„ ƒƒZ8dVdW„ Z9ej  7dXdYdZg¡ej  7d[d\d]g¡ej  7d^dYdZg¡d_d`„ ƒƒƒZ:dadb„ Z;ej j<dcdd„ ƒZ=dedf„ Z>dgdh„ Z?didj„ Z@dkdl„ ZAdmdn„ ZBdodp„ ZCdqdr„ ZDdsdt„ ZEdudv„ ZFdwdx„ ZGdydz„ ZHd{d|„ ZId}d~„ ZJdd€„ ZKd\S )�ÚTestBaser   é   é   ©ÚstartÚstopÚstepé   ©ÚdtypeÚabcde)r   Úaé   Úbr   ÚcÚ20130101ÚD)Ú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  ó   |j S ©N©Úparam©ÚselfÚrequest© r5   úT/var/www/html/env/lib/python3.10/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   ƒ d S 1 s)w   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)r3   r7   Úmsgr5   r5   r6   Útest_pickle_compat_constructionK   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.w   Y  tjt	|d�� | 
dd¡ W d   ƒ d S 1 sLw   Y  d S )Nz"Tested in test_ops/test_arithmeticz\This method is only implemented for DatetimeIndex, PeriodIndex and TimedeltaIndex; Got type r9   r"   r   )r;   r
   r   r   r<   r=   rA   Ú__name__r?   ÚNotImplementedErrorÚshift©r3   r7   ÚidxrB   r5   r5   r6   Ú
test_shift^   s   
ÿÿÿ"ÿzTestBase.test_shiftc                 C  sH   |}t jtdd�� t|ƒ|g d� W d   ƒ d S 1 sw   Y  d S )Nz"Index.name must be a hashable typer9   ©Úname)r<   r?   r@   rA   ©r3   r7   rH   r5   r5   r6   Ú test_constructor_name_unhashablel   s   "ÿz)TestBase.test_constructor_name_unhashablec                 C  s¼   |  ¡ }t|tƒs'd|_t|ƒ}t ||¡ t|dd�}d|_t ||¡ d S d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ÚbarrJ   ))rN   Úone)rN   Útwo)rO   rP   )ÚbazrQ   )ÚquxrP   )rS   rQ   Úobjectr   )ÚnamesÚAÚB)Úcopyr;   r   rK   r   ÚtmÚassert_index_equalrU   )r3   r7   ÚexpectedÚresultr5   r5   r6   Útest_create_index_existing_names   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ƒr#t d¡ t|j	ƒj
}t|ƒj
}d d|› d�d|› d|› d�g¡}tjt|d�� |d	  W d   ƒ n1 sVw   Y  d d
|› d�d|› d|› d�g¡}tjt|d�� d	|  W d   ƒ n1 sƒw   Y  | dd¡}tjt|d�� |d	  W d   ƒ n1 s¤w   Y  | dd¡}tjt|d�� d	|  W d   ƒ n1 sÅw   Y  | dd¡}tjt|d�� |d	  W d   ƒ n1 sæw   Y  | dd¡}tjt|d�� d	|  W d   ƒ d S 1 �s	w   Y  d S )NzNot applicable for IndexúTested elsewhere.r8   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: (ú)r9   r"   z1unsupported operand type\(s\) for \*: 'int' and 'ú'zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (Ú*ú/z//)r;   r   rA   r   r<   r=   r   r   r   Ú_datarD   r>   r?   r@   Úreplace)	r3   r7   rH   ÚtypÚclsÚlmsgÚrmsgÚdiv_errÚfloordiv_errr5   r5   r6   Útest_numeric_compat§   sd   
ÿ


ÿÿþÿ
ÿ
ÿÿþÿ
ÿ
ÿ
ÿ
ÿ
$ÿzTestBase.test_numeric_compatc                 C  s  |j tdfv rt d¡ |}|j jdv rD| ¡ |j ¡ ksJ ‚| ¡ | ¡  ¡ ks+J ‚| ¡ |j ¡ ks6J ‚| ¡ | ¡  ¡ ksBJ ‚d S d}t	|t
ƒrMd}tjt|d�� | ¡  W d   ƒ n1 scw   Y  tjt|d�� | ¡  W d   ƒ d S 1 sw   Y  d S )NÚstringr^   Úiufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r9   )r   rT   r<   r=   ÚkindÚallÚ_valuesÚ	to_seriesÚanyr;   r   r?   r@   rG   r5   r5   r6   Ú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 )
r;   r   r<   r=   rA   rD   rY   rZ   ÚevalÚreprrL   r5   r5   r6   Útest_repr_roundtripë   s   
zTestBase.test_repr_roundtripc                 C  sx   t |tƒrt dt|ƒj› �¡ |}| d¡}t dd ¡� t	|ƒ dt
|ƒvs*J ‚W d   ƒ d S 1 s5w   Y  d S )Nrt   é2   zdisplay.max_seq_itemsz...)r;   r   r<   r=   rA   rD   ÚrepeatÚpdÚoption_contextrv   ÚstrrL   r5   r5   r6   Ú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ƒrt d¡ n|jt	kr*|j
dkr*|j|d< t|ƒ}||jfddi|¤Ž}t |jtƒrH| d¡ |j¡}t |ttfƒrT| d ¡}t ||¡ t |tƒr�d}tjt|d	�� |d|jd
dœ|¤Ž}W d   ƒ n1 s~w   Y  tj|j|jdd� d S t |tƒr–d S t|ƒtu �r't |jtjƒ�s'||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� d S |jdk�rt |jj"|jj"¡�sJ ‚tj|jj"|jj"dd� d S |jdv �r"t |j|j¡�s J ‚d S t#|jƒ‚||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Úbooleanr   rX   TÚUTCz2The 'ordinal' keyword in PeriodIndex is deprecatedr9   F)ÚordinalrX   Úsame)Ú
check_samezstring[python])zstring[pyarrow]zstring[pyarrow_numpy]r5   )$r;   r   r(   r   r   r	   r<   r=   r   rT   Úinferred_typerA   Úvaluesr   Útz_localizeÚ
tz_convertÚtzr
   r   Ú
_with_freqrY   rZ   Úassert_produces_warningÚFutureWarningÚasi8Úassert_numpy_array_equalr   r   Únprp   r   Úshares_memoryrc   Ú_maskÚ_ndarrayrE   )r3   ÚindexÚinit_kwargsÚ
index_typer\   Údepr_msgr5   r5   r6   Útest_ensure_copied_dataû   s\   
ÿ


ÿ
ÿ
ÿ
ÿ
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 r9t|j
tj
ƒr?||ks?J ‚|jdkrJ||ksLJ ‚d S d S )Nr   T©ÚdeeprT   )Ú_engineÚclear_mappingÚmemory_usageÚemptyÚget_locr;   r   r   rA   r   r   r�   rƒ   )r3   r‘   r\   Úresult2Úresult3r5   r5   r6   Útest_memory_usage7  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)Úcheck_dtype)r;   r	   r<   r=   rA   rD   Úargsortr�   ÚarrayrY   rŒ   )r3   r‘   r\   r[   r5   r5   r6   Útest_argsortO  s
   
zTestBase.test_argsortc                 C  sÜ   t  |¡}| ¡ }t ||¡ t j|dd�}|jdd�}t ||¡ t|ttfƒrld}tjt	|d�� t j|dd� W d   ƒ n1 sDw   Y  d}tjt	|d�� t j|dd	� W d   ƒ d S 1 sew   Y  d S d S )
NÚ	mergesort)rn   ú%the 'axis' parameter is not supportedr9   r"   ©Úaxisz&the 'order' parameter is not supported)r!   r#   )Úorder)
r�   r¡   rY   rŒ   r;   r	   r   r<   r?   Ú
ValueError)r3   r‘   r\   r[   rB   r5   r5   r6   Útest_numpy_argsortW  s    
	ÿ"ÿúzTestBase.test_numpy_argsortc                 C  sx   d}|  ¡ }|j}||j |¡|jd�}t | |¡|¡ |}t t	|ƒ¡}||j |¡|jd�}t | |¡|¡ d S )Nr   rJ   )
rX   Ú_constructorr„   ry   rK   rY   rZ   r�   ÚarangeÚlen)r3   r7   ÚreprH   Únew_index_clsr[   r5   r5   r6   Útest_repeatp  s   zTestBase.test_repeatc                 C  sn   d}|}|  |¡}t t  ||¡|¡ d}tjt|d�� tj ||dd� W d   ƒ d S 1 s0w   Y  d S )Nr   r¥   r9   r   r¦   )ry   rY   rZ   r�   r<   r?   r©   )r3   r7   r®   rH   r[   rB   r5   r5   r6   Ú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ƒr!| 	d ¡}dgt
|ƒ }| ||ƒ¡}|}t ||¡ dgdgt
|dd … ƒ  }t|jg|dd …  ¡  |jd�}| ||ƒ¡}t ||¡ d S )Nr^   TFr"   r   )r;   r   r   r   r   r<   r=   r
   r   rˆ   r­   ÚwhererY   rZ   r   Ú	_na_valueÚtolist)r3   Úlistlike_boxr7   ÚklassrH   Úcondr\   r[   r5   r5   r6   Ú
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 s9w   Y  |dd…  
|¡sIJ ‚d S )Nr"   é   úNot applicable for empty indexr~   z<The behavior of Index.insert with object-dtype is deprecatedr9   r   )r­   r<   r=   r   rT   rƒ   rŠ   rY   r‰   ÚinsertÚequals)r3   r‘   ÚtrimmedÚwarnrB   r\   r5   r5   r6   Útest_insert_baseœ  s   
ÿzTestBase.test_insert_basez.completely different behavior, tested elsewher)Úreasonc                 C  s   t |ƒdkr	t}nt}t |ƒdkrd}nd}tj||d�� | dd¡ W d   ƒ n1 s.w   Y  d dd	g¡}tjt|d�� | t |ƒd
 d
¡ W d   ƒ n1 sVw   Y  tjt|d�� | t |ƒ d
 d
¡ W d   ƒ d S 1 syw   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__ methodr9   g      à?rN   r8   z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr"   )r­   r@   Ú
IndexErrorr<   r?   r»   r>   )r3   r‘   ÚerrrB   r5   r5   r6   Útest_insert_out_of_bounds¬  s(   ÿþÿÿ"ÿz"TestBase.test_insert_out_of_boundsc                 C  sð   t |ƒs	t d¡ t|tƒrt t| ƒj› d�¡ |dd … }| d¡}| |¡s+J ‚|j	|j	ks3J ‚|d d… }| d¡}| |¡sEJ ‚|j	|j	ksMJ ‚t |ƒ}d|› d|› �}tj
t|d�� | |¡ W d   ƒ d S 1 sqw   Y  d S )	Nrº   ú tested elsewherer"   r   éÿÿÿÿzindex z' is out of bounds for axis 0 with size r9   )r­   r<   r=   r;   r   rA   rD   Údeleter¼   rK   r?   rÁ   )r3   r‘   r[   r\   ÚlengthrB   r5   r5   r6   Útest_delete_baseË  s"   



"ÿzTestBase.test_delete_basec                 C  sô   t |tƒrt t|ƒj› d�¡ t|ƒtu ot |jtjƒ }| 	|¡s%J ‚| 	| 
¡ ¡s.J ‚|s:| 	| t¡¡s:J ‚| 	t|ƒ¡rCJ ‚| 	t |¡¡rMJ ‚t |tƒsh|sht|td�}| 	|¡saJ ‚| 	|¡shJ ‚|jdkrv| 	t|ƒ¡rxJ ‚d S d S )NrÄ   r   r"   )r;   r   r<   r=   rA   rD   r   r   r�   r¼   rX   ÚastyperT   Úlistr¢   r   Únlevelsr   )r3   r‘   Ú	is_ea_idxÚsame_valuesr5   r5   r6   Ú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 s7w   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žw   Y  t ||
k|¡ t ||k|	¡ t	|
ƒ}t	|ƒ}t	|ƒ}t	|ƒ}tjt|d�� ||k W d   ƒ n1 sÙw   Y  t ||k|¡ t ||k|	¡ tjtd	d�� ||k W d   ƒ n	1 �sw   Y  tjtd	d�� ||k W d   ƒ n	1 �s!w   Y  tjtd	d�� ||k W d   ƒ n	1 �s=w   Y  d
}tjt|d�� ||k W d   ƒ n	1 �s[w   Y  tjtd	d�� ||k W d   ƒ n	1 �sww   Y  t
|tƒ�sªt dgt |ƒd  ddg ¡}|d }t ||k|¡ t ||kt	|ƒ¡ d S d S )Nr   rÅ   éþÿÿÿr"   z)Lengths must match|could not be broadcastr9   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r­   Úappendr<   r?   r©   r�   r¢   rY   rŒ   r   r;   r   Úassert_series_equal)r3   r7   Úindex_aÚnÚindex_bÚindex_cÚindex_drB   Ú	expected1Ú	expected2Úarray_aÚarray_bÚarray_cÚarray_dÚseries_aÚseries_bÚseries_cÚseries_dÚ	expected3Úitemr5   r5   r6   Útest_equals_opü  sj   
ÿ
 
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ ûzTestBase.test_equals_opc                 C  sx   t |jƒs
t|tƒrt d¡ |}dd„ |D ƒ}d}tjt|d�� | 	¡ |ks*J ‚W d   ƒ d S 1 s5w   Y  d S )Nr^   c                 S  ó   g | ]}t |ƒ‘qS r5   ©r|   ©Ú.0Úxr5   r5   r6   Ú
<listcomp>A  ó    z(TestBase.test_format.<locals>.<listcomp>úIndex\.format is deprecatedr9   )
r   r   r;   r
   r<   r=   rY   r‰   rŠ   Úformat©r3   r7   rH   r[   rB   r5   r5   r6   Útest_format:  s   ÿ
"ÿzTestBase.test_formatc                 C  s°   t |ttfƒrt d¡ t|ƒg ƒ}d}tjt|d�� | 	¡ g ks$J ‚W d   ƒ n1 s.w   Y  tjt|d�� |j	dd�dgksFJ ‚W d   ƒ d S 1 sQw   Y  d S )NúTested elsewhererë   r9   TrJ   Ú )
r;   r   r   r<   r=   rA   rY   r‰   rŠ   rì   )r3   r7   Ú	empty_idxrB   r5   r5   r6   Útest_format_emptyF  s   
ÿ"ÿzTestBase.test_format_emptyc              	   C  s  t |ƒdkrt d¡ d S |jtkrt |j› d�¡ d S t|tƒr2t|jƒr2t d|j› �¡ d S t|tƒr`|j	dd�}d}tj
t|d�� | |d ¡ W d   ƒ d S 1 sYw   Y  d S |j	dd�}| |d ¡}t ||¡ ||usyJ ‚d	}tj
t|d�� | |d g¡ W d   ƒ n1 s•w   Y  |j	dd�}|j}tj|d
< t|ƒ|ƒ}d}d}tjt|d��( tj
t|d�� |j|d dd� W d   ƒ n1 sÕw   Y  W d   ƒ n1 säw   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 MultiIndexr9   z"'value' must be a scalar, passed: r"   zdoes not support 'downcast'z7The 'downcast' keyword in .*Index\.fillna is deprecatedÚinfer)ÚdowncastFr   )r­   r<   r=   r   Úboolr;   r   r   r   rX   r?   rE   ÚfillnarY   rZ   r@   rp   r�   ÚnanrA   r‰   rŠ   r¢   rŒ   Ú_isnanÚhasnans)r3   r‘   rH   rB   r\   r„   Úmsg2r[   r5   r5   r6   Útest_fillnaQ  sH   

"ÿÿ
þ€ÿzTestBase.test_fillnac                 C  sð   t |ƒdkrt | ¡ tjg td�¡ d S t|tƒr>| 	¡ }d}t
jt|d�� | ¡  W d   ƒ d S 1 s7w   Y  d S |jsat | ¡ tjt |ƒtd�¡ t | ¡ tjt |ƒtd�¡ d S t|ƒ}t | ¡ |¡ t | ¡ | ¡ d S )Nr   r   ró   r9   )r­   rY   rŒ   r   r�   r¢   rö   r;   r   rX   r<   r?   rE   rú   ÚzerosÚnotnaÚones)r3   r‘   rH   rB   r\   r5   r5   r6   Ú
test_nulls{  s   

"ÿ"zTestBase.test_nullsc                 C  s$   |}|j rJ ‚|d d… j sJ ‚d S ©Nr   )r›   rL   r5   r5   r6   Ú
test_empty�  s   
zTestBase.test_emptyc                 C  sB   |}|j r|j||d�}|}|dkrt |¡}t ||¡ d S d S )N)ÚhowÚouter)Ú	is_uniquer>   ÚalgosÚ	safe_sortrY   rZ   )r3   Ú	join_typer7   rH   Újoinedr[   r5   r5   r6   Ú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 )Nr^   c                 S  s   | S r/   r5   )rè   r5   r5   r6   Ú<lambda>¢  s    z#TestBase.test_map.<locals>.<lambda>Úequiv©Úexact)r;   r   r   r<   r=   ÚmaprY   rZ   )r3   r7   rH   r\   r5   r5   r6   Útest_mapœ  s
   
zTestBase.test_mapÚmapperc                 C  s   dd„ t | |ƒD ƒS )Nc                 S  s   i | ]\}}||“qS r5   r5   )rç   ÚeÚir5   r5   r6   Ú
<dictcomp>©  s    z%TestBase.<lambda>.<locals>.<dictcomp>)Úzip©r„   r‘   r5   r5   r6   r  ©  rê   zTestBase.<lambda>c                 C  s
   t | |ƒS r/   )r   r  r5   r5   r6   r  ª  s   
 c           	      C  s’   |}t |tttfƒrt d¡ ||j|ƒ}| |¡}tj	||dd� d }|j
jdkr-|j
}ttjgt|ƒ |d�}| |||ƒ¡}t 	||¡ d S )Nr^   r  r  Úfr   )r;   r
   r   r   r<   r=   r„   r  rY   rZ   r   rn   r   r�   rø   r­   )	r3   r  r7   r4   rH   Úidentityr\   r   r[   r5   r5   r6   Ú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  rä   r5   rå   ræ   r5   r5   r6   ré   È  rê   z)TestBase.test_map_str.<locals>.<listcomp>)	r;   r	   r<   r=   r  r|   r   rY   rZ   )r3   r7   rH   r\   r[   r5   r5   r6   Útest_map_strÂ  s   


zTestBase.test_map_strrX   TFrK   NrN   Ú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 rb|jd	|d�}t||d
�}tj||dd� d S d S )N)r  )rX   )rK   r  Tr  rÅ   )rK   r   FÚcategoryrJ   )Úrenamer   rÉ   r	   rY   rZ   Úuniquer´   )	r3   rX   rK   r  r7   rH   r   r\   r[   r5   r5   r6   Útest_astype_categoryË  s    

üzTestBase.test_astype_categoryc                 C  sŠ   |  ¡ }|jdu sJ ‚|d d… }|jdu sJ ‚| d|d ¡}|jdu s'J ‚| dtj¡}|jdu s5J ‚| dtj¡}|jdu sCJ ‚d S )NTr   F)Údrop_duplicatesr  r»   r�   rø   )r3   r7   r‘   Úindex_emptyÚ	index_dupÚindex_naÚindex_na_dupr5   r5   r6   Útest_is_uniqueæ  s   zTestBase.test_is_uniquec                 C  s,   |  ¡ }t |¡}|j ~|ƒ d u sJ ‚d S r/   )rX   ÚweakrefÚrefr˜   )r3   r7   r‘   r'  r5   r5   r6   Útest_engine_reference_cycleû  s
   
z$TestBase.test_engine_reference_cyclec                 C  sX  t |tƒr
t d¡ |}d}tjttf|d�� |d d …d f  W d   ƒ n1 s*w   Y  t |tƒsqtjttf|d�� |d  W d   ƒ n1 sLw   Y  tjttf|d�� |d  W d   ƒ d S 1 sjw   Y  d S d}tjt|d�� |d  W d   ƒ n1 s‰w   Y  tjt|d�� |d  W d   ƒ d S 1 s¥w   Y  d S )Nrï   z(Multi-dimensional indexing|too many|onlyr9   TFzonly integers, slices)r;   r   r<   r=   r?   r©   rÁ   r   rG   r5   r5   r6   Útest_getitem_2d_deprecated  s*   

ÿ

ÿ
"ÿ
ÿ
"ÿz#TestBase.test_getitem_2d_deprecatedc                 C  s.   |}|  |d ¡ | ¡ }|j|ju sJ ‚d S r  )rœ   rX   Ú_cache)r3   r7   rH   rX   r5   r5   r6   Útest_copy_shares_cache  s   zTestBase.test_copy_shares_cachec                 C  sX   |}|  |d ¡ | ¡ }|j|ju sJ ‚| |j¡}|j|jus#J ‚|ji ks*J ‚d S r  )rœ   Ú_viewr*  Ú_shallow_copyrc   )r3   r7   rH   Úshallow_copyr5   r5   r6   Ú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)   é   r   )r‡   z
2011-11-01z
2011-12-01)r�   r¢   rø   rY   Úassert_dict_equalÚgroupbyr
   r   rz   ÚNaTr„   r   )r3   r7   rH   Ú
to_groupbyÚex_keysr[   r5   r5   r6   Útest_index_groupby.  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)Úcheck_exactr   )r­   rÐ   r   rY   rZ   ÚtakerÊ   Úrange)r3   r7   r‘   ÚNr\   Úaltr5   r5   r6   Útest_append_preserves_dtypeD  s   
z$TestBase.test_append_preserves_dtypec           
      C  s  |}|j jdv r)| }t|j |jd�}t ||¡ t|ƒ }t |t|ƒ¡ d S |j jdkr4t	}d}n|rF|j dkrFdd l
}	|	jj}d}nt	}d}tj||d	�� |  W d   ƒ n1 s_w   Y  tj||d	�� t|ƒ  W d   ƒ d S 1 s|w   Y  d S )
N)r  ÚurJ   r  z0ufunc 'invert' not supported for the input typesrl   r   zhas no kernelzbad operandr9   )r   rn   r   r„   rK   rY   rZ   r   rÑ   r@   ÚpyarrowÚlibÚArrowNotImplementedErrorr<   r?   )
r3   r7   Úusing_infer_stringrH   Úresr[   Úres2rÂ   rB   Úpar5   r5   r6   Útest_invQ  s,   
ÿ"ÿzTestBase.test_invc                 C  ó<   |}t  t¡� | ¡  W d   ƒ d S 1 sw   Y  d S r/   )rY   r‰   rŠ   Ú
is_booleanrL   r5   r5   r6   Útest_is_boolean_is_deprecatedo  ó   
"ÿz&TestBase.test_is_boolean_is_deprecatedc                 C  rG  r/   )rY   r‰   rŠ   Úis_floatingrL   r5   r5   r6   Útest_is_floating_is_deprecatedu  rJ  z'TestBase.test_is_floating_is_deprecatedc                 C  rG  r/   )rY   r‰   rŠ   Ú
is_integerrL   r5   r5   r6   Útest_is_integer_is_deprecated{  rJ  z&TestBase.test_is_integer_is_deprecatedc                 C  sP   |}t |ƒj› d�}tjt|d�� | ¡  W d   ƒ d S 1 s!w   Y  d S )Nz.holds_integer is deprecated. r9   )rA   rD   rY   r‰   rŠ   Úholds_integerrG   r5   r5   r6   Útest_holds_integer_deprecated�  s
   
"ÿz&TestBase.test_holds_integer_deprecatedc                 C  sL   |}t jtt|ƒj› d�d�� | ¡  W d   ƒ d S 1 sw   Y  d S )Nz.is_numeric is deprecated. r9   )rY   r‰   rŠ   rA   rD   Ú
is_numericrL   r5   r5   r6   Útest_is_numeric_is_deprecatedˆ  s   þ
"üz&TestBase.test_is_numeric_is_deprecatedc                 C  s@   |}t jtdd�� | ¡  W d   ƒ d S 1 sw   Y  d S )Nz4Use pandas\.api\.types\.is_categorical_dtype insteadr9   )rY   r‰   rŠ   Úis_categoricalrL   r5   r5   r6   Ú!test_is_categorical_is_deprecated‘  s   þ
"üz*TestBase.test_is_categorical_is_deprecatedc                 C  rG  r/   )rY   r‰   rŠ   Úis_intervalrL   r5   r5   r6   Útest_is_interval_is_deprecatedš  rJ  z'TestBase.test_is_interval_is_deprecatedc                 C  rG  r/   )rY   r‰   rŠ   Ú	is_objectrL   r5   r5   r6   Útest_is_object_is_deprecated   rJ  z%TestBase.test_is_object_is_deprecated)LrD   Ú
__module__Ú__qualname__r<   Úfixturer   r   r�   r¬   Úfloat64Úfloat32Úuint64r:  Úint64Úint32Úint16Úint8rÊ   r   r   r
   r   Úfrom_breaksr7   rC   rI   rM   r]   rk   rs   rw   r}   ÚmarkÚfilterwarningsr•   rŸ   r£   rª   r°   r±   r¸   r¿   Úskipifr   rÃ   rÈ   rÎ   rã   rî   rò   rü   r   r  r
  r  Úparametrizer  r  r  r%  Úarm_slowr(  r)  r+  r/  r7  r=  rF  rI  rL  rN  rP  rR  rT  rV  rX  r5   r5   r5   r6   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  r.   r/   r0   r2   r5   r5   r6   r7   ¨  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 )Nr^   r"   r   r   )r;   r   r<   r=   rA   r   r   r�   r¢   rY   rŒ   rc   )r3   r7   Ú	index_clsr   rH   r\   r[   r5   r5   r6   Útest_constructor_unwraps_index·  s   

z.TestNumericBase.test_constructor_unwraps_indexc                 C  s"   |}|d }|  |¡du sJ ‚d S )Nr   F)Ú$_can_hold_identifiers_and_holds_name)r3   r7   rH   Úkeyr5   r5   r6   Ú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s#J ‚| |¡}tj	|||dd�dd� d}tj
t|d�� | |¡}W d   ƒ n1 sMw   Y  tj	|||dd�dd� d S )	Nr^   ÚFoo)r   rK   rJ   Tr  z,Passing a type in .*Index.view is deprecatedr9   )r;   r   r<   r=   rA   r   ÚviewrK   rY   rZ   r‰   rŠ   )r3   r7   rj  r   rH   Úidx_viewrB   r5   r5   r6   Ú	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s0J ‚W d   ƒ d S 1 s;w   Y  d S )Nrï   c                 s  s   � | ]	}t t|ƒƒV  qd S r/   )r­   r|   ræ   r5   r5   r6   Ú	<genexpr>Þ  s   € z.TestNumericBase.test_format.<locals>.<genexpr>c                   s   g | ]	}t |ƒ ˆ ¡‘qS r5   )r|   Úljustræ   ©Ú	max_widthr5   r6   ré   ß  s    z/TestNumericBase.test_format.<locals>.<listcomp>rë   r9   )	r;   r
   r<   r=   ÚmaxrY   r‰   rŠ   rì   rí   r5   ru  r6   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   rY   rZ   )r3   r7   r‘   r\   r[   r5   r5   r6   Ú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r;t||jd�}| 	d|¡}t
j||dd� d S )Nr   r"   r   r  Tr  )rz   r4  r   rÊ   rT   r�   rø   r   rn   r»   rY   rZ   )r3   Únulls_fixturer7   r‘   Úna_valr[   r\   r5   r5   r6   Ú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\  )	rA   r   r�   r¬   r   r\  rY   rZ   rý   )	r3   r7   rj  rH   Úarrr[   Úfidxr!   r\   r5   r5   r6   Ú$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É   rA   r   r   )r3   r  r7   r\   r5   r5   r6   Ú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   )r;   r   r<   r=   rA   r   rY   rZ   )r3   r7   r\   r[   r5   r5   r6   Útest_cast_string   s
   

z TestNumericBase.test_cast_stringN)rD   rY  rZ  r<   r[  r   r   r�   r¬   r\  r]  r^  r:  r_  r`  ra  rb  r7   rk  rn  rr  rî   rx  r{  r~  rd  rg  Ú	complex64Ú
complex128r€  r„  r5   r5   r5   r6   ri  §  s.    øÿ


ri  ))Ú
__future__r   r   r&  Únumpyr�   r<   Úpandas._configr   Úpandas._libs.tslibsr   Úpandas.core.dtypes.commonr   r   Úpandas.core.dtypes.dtypesr   Úpandasrz   r	   r
   r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingrY   Úpandas.core.algorithmsÚcoreÚ
algorithmsr  Úpandas.core.arraysr   r   ri  r5   r5   r5   r6   Ú<module>   s.    8       