a
    Pf                     @  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  s   |j S Nparamselfrequest r1   [/var/www/ai-form-bot/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_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\0    Y  tjt	|d |
dd W d    n1 s0    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_unhashablel   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_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rFtd t|j	j
}t|j
}dd| dd| d| dg}tjt|d |d	  W d    n1 s0    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 s0    Y  |dd}tjt|d |d	  W d    n1 s0    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sJ n~d}t	|t
rd}tjt|d |  W d    n1 s0    Y  tjt|d |  W d    n1 s0    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k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 s0    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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 nn|jdkr$t|jj"|jj"s
J tj|jj"|jj"dd n.|jdv 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booleanr   rS   TUTCz2The 'ordinal' keyword in PeriodIndex is deprecatedr5   F)ZordinalrS   Zsame)Z
check_samezstring[python])zstring[pyarrow]zstring[pyarrow_numpy])$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_maskZ_ndarrayrA   )r/   indexZinit_kwargsZ
index_typerW   Zdepr_msgr1   r1   r2   test_ensure_copied_data   sZ    


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sJ d S )Nr   TdeeprO   )_engineZclear_mappingZmemory_usageemptyget_locr7   r   r   r=   r   r   r{   rt   )r/   r|   rW   Zresult2Zresult3r1   r1   r2   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)r7   r	   r8   r9   r=   r@   argsortr{   arrayrT   rz   )r/   r|   rW   rV   r1   r1   r2   test_argsortO  s
    
zTestBase.test_argsortc                 C  s   t |}| }t|| t j|dd}|jdd}t|| t|ttfrd}tjt	|d t j|dd W d    n1 s0    Y  d}tjt	|d t j|dd	 W d    n1 s0    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   rz   r7   r	   r   r8   r;   
ValueError)r/   r|   rW   rV   r>   r1   r1   r2   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   rF   )
rS   Z_constructorru   rn   rG   rT   rU   r{   arangelen)r/   r3   reprD   Znew_index_clsrV   r1   r1   r2   test_repeatp  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   rw   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 
|sJ 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   rt   ry   rT   rx   insertequals)r/   r|   Ztrimmedwarnr>   rW   r1   r1   r2   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\0    Y  ddd	g}tjt|d$ |t |d
 d
 W d    n1 s0    Y  tjt|d& |t | d
 d
 W d    n1 s0    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__ methodr5   g      ?rJ   r4   z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr!   )r   r<   
IndexErrorr8   r;   r   r:   )r/   r|   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}||sJ |j	|j	ksJ t |}d| d| }tj
t|d || W d    n1 s0    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_basec                 C  s   t |tr tt|j d t|tu o:t |jtj }|	|sJJ |	|
 s\J |st|	|tstJ |	t|rJ |	t|rJ t |ts|st|td}|	|sJ |	|sJ |jdkr|	t|rJ 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 s0    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 s0    Y  tjtd	d ||k W d    n1 s0    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   rz   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>A      z(TestBase.test_format.<locals>.<listcomp>Index\.format is deprecatedr5   )
r   r   r7   r
   r8   r9   rT   rx   ry   formatr/   r3   rD   rV   r>   r1   r1   r2   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sHJ W d    n1 s\0    Y  tjt|d& |j	dddgksJ W d    n1 s0    Y  d S )NTested elsewherer   r5   TrF    )
r7   r   r   r8   r9   r=   rT   rx   ry   r   )r/   r3   Z	empty_idxr>   r1   r1   r2   test_format_emptyF  s    
.zTestBase.test_format_emptyc              	   C  s  t |dkrtd n|jtkr:t|j d nt|trdt|jrdtd|j  nt|tr|j	dd}d}tj
t|d ||d  W d    n1 s0    Y  nV|j	dd}||d }t|| ||usJ 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 s0    Y  W d    n1 s0    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=   rx   ry   r   rz   Z_isnanhasnans)r/   r|   rD   r>   rW   ru   Zmsg2rV   r1   r1   r2   test_fillnaQ  s>    

00
RzTestBase.test_fillnac                 C  s   t |dkr(t| tjg td nt|trv|	 }d}t
jt|d |  W d    q1 sj0    Y  nn|jst| tjt |td t| tjt |td n*t|}t| | t| |  d S )Nr   r   r   r5   )r   rT   rz   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ru   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   ru   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   FcategoryrF   )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 sJ 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stjttf|d |d  W d    n1 s0    Y  tjttf|d |d  W d    n1 s0    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   )rv   z
2011-11-01z
2011-12-01)r{   r   r   rT   Zassert_dict_equalgroupbyr
   r   ro   NaTru   r   )r/   r3   rD   Z
to_groupbyZex_keysrV   r1   r1   r2   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   rT   rU   Ztaker   range)r/   r3   r|   NrW   Zaltr1   r1   r2   test_append_preserves_dtypeD  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rft	}d}n,|r|j dkrdd l
}	|	jj}d}nt	}d}tj||d	 |  W d    n1 s0    Y  tj||d	 t|  W d    n1 s0    Y  d S )
N)r   urF   r   z0ufunc 'invert' not supported for the input typesrc   r   zhas no kernelzbad operandr5   )r   rd   r   ru   rG   rT   rU   r   r   r<   ZpyarrowlibZArrowNotImplementedErrorr8   r;   )
r/   r3   Zusing_infer_stringrD   resrV   Zres2r   r>   par1   r1   r2   test_invQ  s(    
$zTestBase.test_invc                 C  s:   |}t t |  W d    n1 s,0    Y  d S r+   )rT   rx   ry   Z
is_booleanrH   r1   r1   r2   test_is_boolean_is_deprecatedo  s    z&TestBase.test_is_boolean_is_deprecatedc                 C  s:   |}t t |  W d    n1 s,0    Y  d S r+   )rT   rx   ry   Zis_floatingrH   r1   r1   r2   test_is_floating_is_deprecatedu  s    z'TestBase.test_is_floating_is_deprecatedc                 C  s:   |}t t |  W d    n1 s,0    Y  d S r+   )rT   rx   ry   
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   rx   ry   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   rx   ry   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   rx   ry   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   rx   ry   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   rx   ry   Z	is_objectrH   r1   r1   r2   test_is_object_is_deprecated  s    z%TestBase.test_is_object_is_deprecated)Lr@   
__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   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   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   rz   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 s0    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   rx   ry   )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   rx   ry   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._configr   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   Zpandas._testingZ_testingrT   Zpandas.core.algorithmscoreZ
algorithmsr   Zpandas.core.arraysr   r   r  r1   r1   r1   r2   <module>   s,   8       