o
    ҷhB                     @  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 d dl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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'd<d= Z,d>d? Z-d@dA Z.dBdC Z/dDdE Z0dFdG Z1dHdI Z2dJdK Z3dLdM Z4ej 5dNdOdP dQdP gej !d'dRdS Z6dTdU Z7ej 5dVdWdXgej 5dYdZd[gej 5d\dWdXgd]d^ Z8d_d` Z9ej j:dadb Z;dcdd Z<dedf Z=dgdh Z>didj Z?dkdl Z@dmdn ZAdodp ZBdqdr ZCdsdt ZDdudv ZEdwdx ZFdydz ZGd{d| ZHd}d~ ZIdZS )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 r4   U/var/www/html/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)r2   r6   msgr4   r4   r5   test_pickle_compat_constructionH   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 r8   r!   r   )r:   r	   r   r   r;   r<   r@   __name__r>   NotImplementedErrorshiftr2   r6   idxrA   r4   r4   r5   
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 typer8   name)r;   r>   r?   r@   r2   r6   rG   r4   r4   r5    test_constructor_name_unhashablei   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barrI   ))rM   one)rM   two)rN   rO   )bazrP   )quxrO   )rR   rP   objectr   )namesAB)copyr:   r   rJ   r   tmassert_index_equalrT   )r2   r6   expectedresultr4   r4   r5   test_create_index_existing_namep   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.r7   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: ()r8   r!   z1unsupported operand type\(s\) for \*: 'int' and ''zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (*/z//)r:   r   r@   r   r;   r<   r   r   r   _datarC   r=   r>   r?   replace)	r2   r6   rG   typclslmsgrmsgdiv_errfloordiv_errr4   r4   r5   test_numeric_compat   sd   










$zTestBase.test_numeric_compatc                 C  s  |j tkr
td |}|j jdv rB| |j ksJ | |  ks)J | |j ks4J | |  ks@J d S d}t	|t
rKd}tjt|d |  W d    n1 saw   Y  tjt|d |  W d    d S 1 s}w   Y  d S )Nr]   iufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r8   )r   rS   r;   r<   kindall_values	to_seriesanyr:   r   r>   r?   rF   r4   r4   r5   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<   r@   rC   rX   rY   evalreprrK   r4   r4   r5   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 )Nrr   2   zdisplay.max_seq_itemsz...)r:   r   r;   r<   r@   rC   repeatpdoption_contextrt   strrK   r4   r4   r5   test_repr_max_seq_item_setting   s   

"z'TestBase.test_repr_max_seq_item_settingz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C  sF  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rv|d|jdd	|}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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rt|jj |jj sJ tj|jj |jj d
d d S |jdk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   rW   TUTCF)ordinalrW   same)
check_samezstring[python]zstring[pyarrow]r4   )"r:   r   r'   r   r   r   r;   r<   r   rS   inferred_typer@   valuesr
   tz_localize
tz_converttzr	   r   
_with_freqrX   rY   asi8assert_numpy_array_equalr   r   nprn   r   shares_memoryrb   _mask_ndarrayrD   )r2   indexinit_kwargs
index_typer[   r4   r4   r5   test_ensure_copied_data   sV   








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deeprS   )_engineclear_mappingmemory_usageemptyget_locr:   r   r   r@   r   r   r   r   )r2   r   r[   result2result3r4   r4   r5   test_memory_usage2  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<   r@   rC   argsortr   arrayrX   r   )r2   r   r[   rZ   r4   r4   r5   test_argsortJ  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)rl   %the 'axis' parameter is not supportedr8   r!   axisz&the 'order' parameter is not supported)r    r"   )order)
r   r   rX   r   r:   r   r   r;   r>   
ValueError)r2   r   r[   rZ   rA   r4   r4   r5   test_numpy_argsortR  s    
	"zTestBase.test_numpy_argsortc                 C  sx   d}|  }|j}||j||jd}t||| |}tt	|}||j||jd}t||| d S )Nr   rI   )
rW   _constructorr   rw   rJ   rX   rY   r   arangelen)r2   r6   reprG   new_index_clsrZ   r4   r4   r5   test_repeatk  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   r8   r   r   )rw   rX   rY   r   r;   r>   r   )r2   r6   r   rG   rZ   rA   r4   r4   r5   test_numpy_repeatw  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   whererX   rY   r   	_na_valuetolist)r2   listlike_boxr6   klassrG   condr[   rZ   r4   r4   r5   
test_where  s    

"zTestBase.test_wherec                 C  sD   |dd }t |std |dd |d|d s J d S )Nr!      Not applicable for empty indexr   )r   r;   r<   equalsinsert)r2   r   r[   r4   r4   r5   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}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__ methodr8   g      ?rM   r7   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=   )r2   r   errrA   r4   r4   r5   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 r8   )r   r;   r<   r:   r   r@   rC   deleter   rJ   r>   r   )r2   r   rZ   r[   lengthrA   r4   r4   r5   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<   r@   rC   r   r   r   r   rW   astyperS   listr   r   nlevelsr   )r2   r   	is_ea_idxsame_valuesr4   r4   r5   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 broadcastr8   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r   appendr;   r>   r   r   r   rX   r   r   r:   r   assert_series_equal)r2   r6   index_anindex_bindex_cindex_drA   	expected1	expected2array_aarray_barray_carray_dseries_aseries_bseries_cseries_d	expected3itemr4   r4   r5   test_equals_op  sj   

 






 zTestBase.test_equals_opc                 C  sD   t |js
t|trtd |}dd |D }| |ks J d S )Nr]   c                 S     g | ]}t |qS r4   rz   .0xr4   r4   r5   
<listcomp>1      z(TestBase.test_format.<locals>.<listcomp>)r   r   r:   r	   r;   r<   formatr2   r6   rG   rZ   r4   r4   r5   test_format*  s   
zTestBase.test_formatc                 C  sN   t |ttfrtd t|g }| g ksJ |jdddgks%J d S )NTested elsewhereTrI    )r:   r   r   r;   r<   r@   r   )r2   r6   	empty_idxr4   r4   r5   test_format_empty4  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 MultiIndexr8   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   rW   r>   rD   fillnarX   rY   r?   rn   r   nanr@   assert_produces_warningFutureWarningr   r   _isnanhasnans)r2   r   rG   rA   r[   r   msg2rZ   r4   r4   r5   test_fillna<  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   r8   )r   rX   r   r   r   r   r   r:   r   rW   r;   r>   rD   r   zerosnotnaones)r2   r   rG   rA   r[   r4   r4   r5   
test_nullsf  s   

""zTestBase.test_nullsc                 C  s$   |}|j rJ |d d j sJ d S Nr   )r   rK   r4   r4   r5   
test_emptyx  s   
zTestBase.test_emptyc                 C  s0   |}|j r|j||d}||k sJ d S d S )N)how)	is_uniquer=   rm   )r2   	join_typer6   rG   joinedr4   r4   r5   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.   r4   )r   r4   r4   r5   <lambda>  s    z#TestBase.test_map.<locals>.<lambda>equivexact)r:   r   r   r;   r<   maprX   rY   )r2   r6   rG   r[   r4   r4   r5   test_map  s
   
zTestBase.test_mapmapperc                 C  s   dd t | |D S )Nc                 S  s   i | ]\}}||qS r4   r4   )r   eir4   r4   r5   
<dictcomp>  s    z%TestBase.<lambda>.<locals>.<dictcomp>)zipr   r   r4   r4   r5   r    r   zTestBase.<lambda>c                 C  s
   t | |S r.   )r   r  r4   r4   r5   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  rX   rY   r   rl   r   r   r   r   )	r2   r  r6   r3   rG   identityr[   r   rZ   r4   r4   r5   test_map_dictlike  s   	

zTestBase.test_map_dictlikec                 C  sH   t |tr
td |}|t}tdd |D td}t	|| d S )NzSee test_map.pyc                 S  r   r4   r   r   r4   r4   r5   r     r   z)TestBase.test_map_str.<locals>.<listcomp>r   )
r:   r   r;   r<   r  rz   r   rS   rX   rY   )r2   r6   rG   r[   rZ   r4   r4   r5   test_map_str  s   


zTestBase.test_map_strrW   TFrJ   NrM   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  )rW   )rJ   r  Tr  r   )rJ   r   FcategoryrI   )renamer   r   r   rX   rY   uniquer   )	r2   rW   rJ   r  r6   rG   r   r[   rZ   r4   r4   r5   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   )r2   r6   r   index_empty	index_dupindex_naindex_na_dupr4   r4   r5   test_is_unique  s   zTestBase.test_is_uniquec                 C  s2   |}t t|}|j t t||ksJ d S r.   )r   gcget_referrersr   )r2   r6   r   	nrefs_prer4   r4   r5   test_engine_reference_cycle  s   z$TestBase.test_engine_reference_cyclec                 C  sL  t |tr
td |}d}tjt|d |d d d f  W d    n1 s(w   Y  t |tsktjt|d |d  W d    n1 sHw   Y  tjt|d |d  W d    d S 1 sdw   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 indexingr8   TFzonly integers, slices)r:   r   r;   r<   r>   r   r   r   rF   r4   r4   r5   test_getitem_2d_deprecated  s*   




"

"z#TestBase.test_getitem_2d_deprecatedc                 C  s.   |}| |d  | }|j|ju sJ d S r   )r   rW   _cache)r2   r6   rG   rW   r4   r4   r5   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_copyrb   )r2   r6   rG   shallow_copyr4   r4   r5   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   rX   assert_dict_equalgroupbyr	   r   rx   NaTr   r   )r2   r6   rG   
to_groupbyex_keysrZ   r4   r4   r5   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   rX   rY   taker   range)r2   r6   r   Nr[   altr4   r4   r5   test_append_preserves_dtype+  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	  urI   r  z0ufunc 'invert' not supported for the input typeszbad operandr8   )r   rl   r   r   rJ   rX   rY   r   r   r;   r>   r?   )r2   r6   rG   resrZ   res2rA   r4   r4   r5   test_inv8  s    
"zTestBase.test_invc                 C  <   |}t t |  W d    d S 1 sw   Y  d S r.   )rX   r   r   
is_booleanrK   r4   r4   r5   test_is_boolean_is_deprecatedO     
"z&TestBase.test_is_boolean_is_deprecatedc                 C  r9  r.   )rX   r   r   is_floatingrK   r4   r4   r5   test_is_floating_is_deprecatedU  r<  z'TestBase.test_is_floating_is_deprecatedc                 C  r9  r.   )rX   r   r   
is_integerrK   r4   r4   r5   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. r8   )r@   rC   rX   r   r   holds_integerrF   r4   r4   r5   test_holds_integer_deprecateda  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. r8   )rX   r   r   r@   rC   
is_numericrK   r4   r4   r5   test_is_numeric_is_deprecatedh  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 insteadr8   )rX   r   r   is_categoricalrK   r4   r4   r5   !test_is_categorical_is_deprecatedq  s   
"z*TestBase.test_is_categorical_is_deprecatedc                 C  r9  r.   )rX   r   r   is_intervalrK   r4   r4   r5   test_is_interval_is_deprecatedz  r<  z'TestBase.test_is_interval_is_deprecatedc                 C  r9  r.   )rX   r   r   	is_objectrK   r4   r4   r5   test_is_object_is_deprecated  r<  z%TestBase.test_is_object_is_deprecated)JrC   
__module____qualname__r;   fixturer   r   r   r   float64float32uint64r1  int64int32int16int8r   r   r   r	   r   from_breaksr6   rB   rH   rL   r\   rj   rq   ru   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"  r&  r.  r4  r8  r;  r>  r@  rB  rD  rF  rH  rJ  r4   r4   r4   r5   r   $   s    


 4/


9
	

>
*

	
		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/   r1   r4   r4   r5   r6     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<   r@   r   r   r   r   rX   r   rb   )r2   r6   	index_clsr   rG   r[   rZ   r4   r4   r5   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)r2   r6   rG   keyr4   r4   r5   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 ||}tj	|||dddd d S )Nr]   Foo)r   rJ   rI   Tr  )
r:   r   r;   r<   r@   r   viewrJ   rX   rY   )r2   r6   r[  r   rG   idx_viewr4   r4   r5   	test_view  s   



zTestNumericBase.test_viewc                   sP   t |tr
td |}tdd |D   fdd|D }| |ks&J d S )Nr   c                 s  s    | ]	}t t|V  qd S r.   )r   rz   r   r4   r4   r5   	<genexpr>  s    z.TestNumericBase.test_format.<locals>.<genexpr>c                   s   g | ]	}t | qS r4   )rz   ljustr   	max_widthr4   r5   r     s    z/TestNumericBase.test_format.<locals>.<listcomp>)r:   r	   r;   r<   maxr   r   r4   rf  r5   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   rX   rY   )r2   r6   r   r[   rZ   r4   r4   r5   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  )rx   r+  r   r   rS   r   r   r   rl   r   rX   rY   )r2   nulls_fixturer6   r   na_valrZ   r[   r4   r4   r5   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   rQ  r   g	@rN  )	r@   r   r   r   r   rN  rX   rY   r   )	r2   r6   r[  rG   arrrZ   fidxr    r[   r4   r4   r5   $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   )r2   rp  r6   r[   r4   r4   r5   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<   r@   r   rX   rY   )r2   r6   r[   rZ   r4   r4   r5   test_cast_string  s
   

z TestNumericBase.test_cast_stringN)rC   rK  rL  r;   rM  r   r   r   r   rN  rO  rP  r1  rQ  rR  rS  rT  r6   r\  r_  rc  r   ri  rl  ro  rV  rX  	complex64
complex128rq  ru  r4   r4   r4   r5   rZ    s.    
	

rZ  )#
__future__r   r   r  numpyr   r;   pandas._libs.tslibsr   pandas.core.dtypes.commonr   r   pandas.core.dtypes.dtypesr   pandasrx   r   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingrX   pandas.core.arraysr   r   rZ  r4   r4   r4   r5   <module>   s(    8      i