o
    թZh                     @  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   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     |j S Nparamselfrequest r2   Y/var/www/html/lang_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)r0   r4   msgr2   r2   r3   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 r6   r!   r   )r8   r
   r   r   r9   r:   r>   __name__r<   NotImplementedErrorshiftr0   r4   idxr?   r2   r2   r3   
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 typer6   name)r9   r<   r=   r>   r0   r4   rE   r2   r2   r3    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barrG   ))rK   one)rK   two)rL   rM   )ZbazrN   )quxrM   )rO   rN   objectr   )namesAB)copyr8   r   rH   r   tmassert_index_equalrQ   )r0   r4   expectedresultr2   r2   r3   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 sw   Y  |dd}tjt|d |d	  W d    n1 sw   Y  |dd}tjt|d d	|  W d    n1 sw   Y  |dd}tjt|d |d	  W d    n1 sw   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.r5   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: ()r6   r!   z1unsupported operand type\(s\) for \*: 'int' and ''zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (*/z//)r8   r   r>   r   r9   r:   r   r   r   _datarA   r;   r<   r=   replace)	r0   r4   rE   typclsZlmsgZrmsgZdiv_errZfloordiv_errr2   r2   r3   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stringrZ   Ziufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r6   )r   rP   r9   r:   kindall_valuesZ	to_seriesanyr8   r   r<   r=   rD   r2   r2   r3   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 )
r8   r   r9   r:   r>   rA   rU   rV   evalreprrI   r2   r2   r3   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 )Nrj   2   zdisplay.max_seq_itemsz...)r8   r   r9   r:   r>   rA   repeatpdZoption_contextrl   strrI   r2   r2   r3   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rd}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rd S t|tu r't |jtjs'||jfdd
i|}t|| t |jtrt|jj |jj sJ tj|jj |jj dd t|jj!|jj!sJ 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   rT   TUTCz2The 'ordinal' keyword in PeriodIndex is deprecatedr6   F)ZordinalrT   Zsame)Z
check_samezstring[python])zstring[pyarrow]zstring[pyarrow_numpy]r2   )$r8   r   r%   r   r   r	   r9   r:   r   rP   inferred_typer>   valuesr   Ztz_localizeZ
tz_converttzr
   r   
_with_freqrU   rV   assert_produces_warningFutureWarningZasi8assert_numpy_array_equalr   r   nprg   r   Zshares_memoryr_   Z_maskZ_ndarrayrB   )r0   indexZinit_kwargsZ
index_typerX   Zdepr_msgr2   r2   r3   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deeprP   )_engineZclear_mappingZmemory_usageemptyget_locr8   r   r   r>   r   r   r|   ru   )r0   r}   rX   Zresult2Zresult3r2   r2   r3   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)Zcheck_dtype)r8   r	   r9   r:   r>   rA   argsortr|   arrayrU   r{   )r0   r}   rX   rW   r2   r2   r3   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 )
NZ	mergesort)re   %the 'axis' parameter is not supportedr6   r!   Zaxisz&the 'order' parameter is not supported)r    r"   )order)
r|   r   rU   r{   r8   r	   r   r9   r<   
ValueError)r0   r}   rX   rW   r?   r2   r2   r3   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   rG   )
rT   Z_constructorrv   ro   rH   rU   rV   r|   arangelen)r0   r4   reprE   Znew_index_clsrW   r2   r2   r3   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   r6   r   r   )ro   rU   rV   r|   r9   r<   r   )r0   r4   r   rE   rW   r?   r2   r2   r3   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 )NrZ   TFr!   r   )r8   r   r   r   r   r9   r:   r
   r   rx   r   whererU   rV   r   Z	_na_valuetolist)r0   Zlistlike_boxr4   klassrE   ZcondrX   rW   r2   r2   r3   
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 indexrs   z<The behavior of Index.insert with object-dtype is deprecatedr6   r   )r   r9   r:   r   rP   ru   rz   rU   ry   insertequals)r0   r}   Ztrimmedwarnr?   rX   r2   r2   r3   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__ methodr6   g      ?rK   r5   z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr!   )r   r=   
IndexErrorr9   r<   r   r;   )r0   r}   errr?   r2   r2   r3   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 r6   )r   r9   r:   r8   r   r>   rA   deleter   rH   r<   r   )r0   r}   rW   rX   lengthr?   r2   r2   r3   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!   )r8   r   r9   r:   r>   rA   r   r   r|   r   rT   astyperP   listr   r   Znlevelsr   )r0   r}   Z	is_ea_idxZsame_valuesr2   r2   r3   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 sw   Y  t||
k| t||k|	 t	|
}t	|}t	|}t	|}tjt|d ||k W d    n1 sw   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st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 broadcastr6   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r   appendr9   r<   r   r|   r   rU   r{   r   r8   r   assert_series_equal)r0   r4   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itemr2   r2   r3   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 )NrZ   c                 S     g | ]}t |qS r2   rq   .0xr2   r2   r3   
<listcomp>A      z(TestBase.test_format.<locals>.<listcomp>Index\.format is deprecatedr6   )
r   r   r8   r
   r9   r:   rU   ry   rz   formatr0   r4   rE   rW   r?   r2   r2   r3   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   r6   TrG    )
r8   r   r   r9   r:   r>   rU   ry   rz   r   )r0   r4   Z	empty_idxr?   r2   r2   r3   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 sw   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 sw   Y  W d    n1 sw   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 MultiIndexr6   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   r9   r:   r   boolr8   r   r   r   rT   r<   rB   ZfillnarU   rV   r=   rg   r|   nanr>   ry   rz   r   r{   Z_isnanhasnans)r0   r}   rE   r?   rX   rv   Zmsg2rW   r2   r2   r3   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   r6   )r   rU   r{   r   r|   r   r   r8   r   rT   r9   r<   rB   r   zerosZnotnaZones)r0   r}   rE   r?   rX   r2   r2   r3   
test_nulls{  s   

""zTestBase.test_nullsc                 C  s$   |}|j rJ |d d j sJ d S Nr   )r   rI   r2   r2   r3   
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;   algosZ	safe_sortrU   rV   )r0   Z	join_typer4   rE   ZjoinedrW   r2   r2   r3   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 )NrZ   c                 S  s   | S r,   r2   )r   r2   r2   r3   <lambda>  s    z#TestBase.test_map.<locals>.<lambda>equivexact)r8   r   r   r9   r:   maprU   rV   )r0   r4   rE   rX   r2   r2   r3   test_map  s
   
zTestBase.test_mapmapperc                 C  s   dd t | |D S )Nc                 S  s   i | ]\}}||qS r2   r2   )r   eir2   r2   r3   
<dictcomp>  s    z%TestBase.<lambda>.<locals>.<dictcomp>)ziprv   r}   r2   r2   r3   r     r   zTestBase.<lambda>c                 C  s
   t | |S r,   )r   r   r2   r2   r3   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 )NrZ   r   r   fr   )r8   r
   r   r   r9   r:   rv   r   rU   rV   r   re   r   r|   r   r   )	r0   r   r4   r1   rE   identityrX   r   rW   r2   r2   r3   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   r2   r   r   r2   r2   r3   r     r   z)TestBase.test_map_str.<locals>.<listcomp>)	r8   r	   r9   r:   r   rq   r   rU   rV   )r0   r4   rE   rX   rW   r2   r2   r3   test_map_str  s   


zTestBase.test_map_strrT   TFrH   NrK   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   )rT   )rH   r   Tr   r   )rH   r   FcategoryrG   )renamer   r   r	   rU   rV   uniquer   )	r0   rT   rH   r   r4   rE   r   rX   rW   r2   r2   r3   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)Zdrop_duplicatesr   r   r|   r   )r0   r4   r}   Zindex_emptyZ	index_dupZindex_naZindex_na_dupr2   r2   r3   test_is_unique  s   zTestBase.test_is_uniquec                 C  s,   |  }t|}|j ~| d u sJ d S r,   )rT   weakrefrefr   )r0   r4   r}   r   r2   r2   r3   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 sw   Y  tjt|d |d  W d    d S 1 sw   Y  d S )Nr   z(Multi-dimensional indexing|too many|onlyr6   TFzonly integers, slices)r8   r   r9   r:   r<   r   r   r   rD   r2   r2   r3   test_getitem_2d_deprecated  s*   




"

"z#TestBase.test_getitem_2d_deprecatedc                 C  s.   |}| |d  | }|j|ju sJ d S r   )r   rT   _cache)r0   r4   rE   rT   r2   r2   r3   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   Z_viewr   Z_shallow_copyr_   )r0   r4   rE   Zshallow_copyr2   r2   r3   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&      rt   )rw   z
2011-11-01z
2011-12-01)r|   r   r   rU   Zassert_dict_equalgroupbyr
   r   rp   NaTrv   r   )r0   r4   rE   Z
to_groupbyZex_keysrW   r2   r2   r3   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)Zcheck_exactr   )r   r   r   rU   rV   Ztaker   range)r0   r4   r}   NrX   Zaltr2   r2   r3   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   urG   r   z0ufunc 'invert' not supported for the input typesrd   r   zhas no kernelzbad operandr6   )r   re   r   rv   rH   rU   rV   r   r   r=   ZpyarrowlibZArrowNotImplementedErrorr9   r<   )
r0   r4   Zusing_infer_stringrE   resrW   Zres2r   r?   par2   r2   r3   test_invQ  s,   
"zTestBase.test_invc                 C  <   |}t t |  W d    d S 1 sw   Y  d S r,   )rU   ry   rz   Z
is_booleanrI   r2   r2   r3   test_is_boolean_is_deprecatedo     
"z&TestBase.test_is_boolean_is_deprecatedc                 C  r   r,   )rU   ry   rz   Zis_floatingrI   r2   r2   r3   test_is_floating_is_deprecatedu  r   z'TestBase.test_is_floating_is_deprecatedc                 C  r   r,   )rU   ry   rz   
is_integerrI   r2   r2   r3   test_is_integer_is_deprecated{  r   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. r6   )r>   rA   rU   ry   rz   Zholds_integerrD   r2   r2   r3   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. r6   )rU   ry   rz   r>   rA   Z
is_numericrI   r2   r2   r3   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 insteadr6   )rU   ry   rz   Zis_categoricalrI   r2   r2   r3   !test_is_categorical_is_deprecated  s   
"z*TestBase.test_is_categorical_is_deprecatedc                 C  r   r,   )rU   ry   rz   Zis_intervalrI   r2   r2   r3   test_is_interval_is_deprecated  r   z'TestBase.test_is_interval_is_deprecatedc                 C  r   r,   )rU   ry   rz   Z	is_objectrI   r2   r2   r3   test_is_object_is_deprecated  r   z%TestBase.test_is_object_is_deprecated)LrA   
__module____qualname__r9   fixturer   r   r|   r   float64float32uint64r   int64int32int16int8r   r   r   r
   r   Zfrom_breaksr4   r@   rF   rJ   rY   rc   ri   rm   rr   markfilterwarningsr~   r   r   r   r   r   r   r   Zskipifr   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   r2   r2   r2   r3   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,   r-   r/   r2   r2   r3   r4     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 )NrZ   r!   r   r   )r8   r   r9   r:   r>   r   r   r|   r   rU   r{   r_   )r0   r4   	index_clsr   rE   rX   rW   r2   r2   r3   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)r0   r4   rE   keyr2   r2   r3   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 )	NrZ   ZFoo)r   rH   rG   Tr   z,Passing a type in .*Index.view is deprecatedr6   )r8   r   r9   r:   r>   r   viewrH   rU   rV   ry   rz   )r0   r4   r  r   rE   Zidx_viewr?   r2   r2   r3   	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   rq   r   r2   r2   r3   	<genexpr>  s    z.TestNumericBase.test_format.<locals>.<genexpr>c                   s   g | ]	}t | qS r2   )rq   ljustr   	max_widthr2   r3   r     s    z/TestNumericBase.test_format.<locals>.<listcomp>r   r6   )	r8   r
   r9   r:   maxrU   ry   rz   r   r   r2   r  r3   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   rU   rV   )r0   r4   r}   rX   rW   r2   r2   r3   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   )rp   r   r   r   rP   r|   r   r   re   r   rU   rV   )r0   Znulls_fixturer4   r}   Zna_valrW   rX   r2   r2   r3   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  rU   rV   r   )	r0   r4   r  rE   ZarrrW   Zfidxr    rX   r2   r2   r3   $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   )r0   r  r4   rX   r2   r2   r3   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   )r8   r   r9   r:   r>   r   rU   rV   )r0   r4   rX   rW   r2   r2   r3   test_cast_string   s
   

z TestNumericBase.test_cast_stringN)rA   r   r   r9   r  r   r   r|   r   r  r  r  r   r  r  r  r  r4   r  r  r  r   r  r  r  r	  r  Z	complex64Z
complex128r  r   r2   r2   r2   r3   r    s.    


r  ))
__future__r   r   r   numpyr|   r9   Zpandas._configr   Zpandas._libs.tslibsr   Zpandas.core.dtypes.commonr   r   Zpandas.core.dtypes.dtypesr   Zpandasrp   r	   r
   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingrU   Zpandas.core.algorithmscoreZ
algorithmsr   Zpandas.core.arraysr   r   r  r2   r2   r2   r3   <module>   s.    8       