o
    Û­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é   ©Ú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   ú_/var/www/html/CropPilot/venv/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_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.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_unhashablek   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_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ƒ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v 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 �r7t |jtjƒ�s7||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 t |jt"ƒ�r|jj#dk�rt |jj$|jj$¡�s	J ‚tj|jj$|jj$dd� d S t |jt"ƒ�r2|jj#dk�r2t |j|j¡�s0J ‚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)Úbooleanrl   r   rX   TÚUTCz2The 'ordinal' keyword in PeriodIndex is deprecatedr9   F)ÚordinalrX   Úsame)Ú
check_sameÚpythonÚpyarrowr5   )&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   Ú_maskr   ÚstorageÚ_ndarrayrE   )r3   ÚindexÚinit_kwargsÚ
index_typer\   Údepr_msgr5   r5   r6   Útest_ensure_copied_dataú   sd   
ÿ


ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
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_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)Úcheck_dtype)r;   r   r<   r=   rA   rD   Úargsortr�   ÚarrayrY   rŽ   )r3   r”   r\   r[   r5   r5   r6   Útest_argsortS  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_argsort[  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_repeatt  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_basec                 C  s<  t |ƒdkr	t}nt}t |ƒdkrd}nd}|r4|jdks"|jdkr%d}n|jdkr4t |ƒdkr4d}t}tj||d�� | d	d
¡ W d   ƒ n1 sLw   Y  d ddg¡}tjt|d�� | t |ƒd d¡ W d   ƒ n1 stw   Y  tjt|d�� | t |ƒ d d¡ W d   ƒ d S 1 s—w   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__ methodrl   Úcategoryzloc must be an integer betweenrT   r9   g      à?rN   r8   z5index -?\d+ is out of bounds for axis 0 with size \d+r"   )r°   r@   Ú
IndexErrorr   r<   r?   r¾   r>   )r3   r”   Úusing_infer_stringÚerrrB   r5   r5   r6   Útest_insert_out_of_bounds°  s4   ÿþÿÿ"ÿ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_basez$ignore:Dtype inference:FutureWarningc                 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>J  ó    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_formatC  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_emptyO  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_fillnaZ  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   FrÃ   rJ   )Ú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_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)Úcheck_exactr   )r°   rÔ   r   rY   rZ   ÚtakerÎ   Úrange)r3   r7   r”   ÚNr\   Úaltr5   r5   r6   Útest_append_preserves_dtypeM  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r2d}nd}t	j
t|d�� |  W d   ƒ n1 sIw   Y  t	j
t|d�� t|ƒ  W d   ƒ d S 1 sfw   Y  d S )N)r  ÚurJ   r  z0ufunc 'invert' not supported for the input typesz8bad operand|__invert__ is not supported for string dtyper9   )r   rn   r   r†   rK   rY   rZ   r   rÕ   r<   r?   r@   )r3   r7   rÅ   rH   Úresr[   Úres2rB   r5   r5   r6   Útest_invZ  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_deprecatedq  ó   
"ÿz&TestBase.test_is_boolean_is_deprecatedc                 C  rE  r/   )rY   r‹   rŒ   Úis_floatingrL   r5   r5   r6   Útest_is_floating_is_deprecatedw  rH  z'TestBase.test_is_floating_is_deprecatedc                 C  rE  r/   )rY   r‹   rŒ   Ú
is_integerrL   r5   r5   r6   Útest_is_integer_is_deprecated}  rH  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  rE  r/   )rY   r‹   rŒ   Úis_intervalrL   r5   r5   r6   Útest_is_interval_is_deprecatedœ  rH  z'TestBase.test_is_interval_is_deprecatedc                 C  rE  r/   )rY   r‹   rŒ   Ú	is_objectrL   r5   r5   r6   Útest_is_object_is_deprecated¢  rH  z%TestBase.test_is_object_is_deprecated)JrD   Ú
__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Â   rÇ   rÌ   rÒ   rç   rò   rö   r   r  r  r  r  Úparametrizer  r  r"  r(  Úarm_slowr+  r,  r.  r2  r:  r@  rD  rG  rJ  rL  rN  rP  rR  rT  rV  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   rg  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   rr  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   r7  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š™™™™™	@rZ  )	rA   r   r�   r¯   r   rZ  rY   rZ   r  )	r3   r7   rg  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   rW  rX  r<   rY  r   r   r�   r¯   rZ  r[  r\  r=  r]  r^  r_  r`  r7   rh  rk  ro  rò   ru  rx  r{  rb  rd  Ú	complex64Ú
complex128r}  r�  r5   r5   r5   r6   rf  ©  s.    øÿ


rf  )(Ú
__future__r   r   r)  Únumpyr�   r<   Ú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   r   Úpandas._testingÚ_testingrY   Úpandas.core.algorithmsÚcoreÚ
algorithmsr
  Úpandas.core.arraysr   r   rf  r5   r5   r5   r6   Ú<module>   s,    <       
