o
    TiB                     @  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   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 r1   b/var/www/html/evchargy.com/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)r/   r3   msgr1   r1   r2   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 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  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 typer5   name)r8   r;   r<   r=   r/   r3   rD   r1   r1   r2    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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_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.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   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 )NrY   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  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 )Nrh   2   zdisplay.max_seq_itemsz...)r7   r   r8   r9   r=   r@   repeatpdZoption_contextrj   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  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   rS   TUTCF)ZordinalrS   Zsame)Z
check_samezstring[python]zstring[pyarrow]r1   )"r7   r   r$   r   r   r   r8   r9   r   rO   inferred_typer=   valuesr
   Ztz_localizeZ
tz_converttzr	   r   
_with_freqrT   rU   Zasi8assert_numpy_array_equalr   r   npre   r   Zshares_memoryr^   Z_maskZ_ndarrayrA   )r/   indexZinit_kwargsZ
index_typerW   r1   r1   r2   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deeprO   )_engineZclear_mappingZmemory_usageemptyget_locr7   r   r   r=   r   r   rx   rs   )r/   ry   rW   Zresult2Zresult3r1   r1   r2   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)Zcheck_dtype)r7   r   r8   r9   r=   r@   argsortrx   arrayrT   rw   )r/   ry   rW   rV   r1   r1   r2   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 )
NZ	mergesort)rc   %the 'axis' parameter is not supportedr5   r    Zaxisz&the 'order' parameter is not supported)r   r!   )order)
rx   r   rT   rw   r7   r   r   r8   r;   
ValueError)r/   ry   rW   rV   r>   r1   r1   r2   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   rF   )
rS   Z_constructorrt   rm   rG   rT   rU   rx   arangelen)r/   r3   reprD   Znew_index_clsrV   r1   r1   r2   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   r5   r   r   )rm   rT   rU   rx   r8   r;   r   )r/   r3   r   rD   rV   r>   r1   r1   r2   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 )NrY   TFr    r   )r7   r   r   r   r   r8   r9   r	   r   rv   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  sD   |dd }t |std |dd |d|d s J d S )Nr       Not applicable for empty indexr   )r   r8   r9   equalsinsert)r/   ry   rW   r1   r1   r2   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__ 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/   ry   errr>   r1   r1   r2   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 r5   )r   r8   r9   r7   r   r=   r@   deleter   rG   r;   r   )r/   ry   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 }|	|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    )r7   r   r8   r9   r=   r@   r   r   rx   r   rS   astyperO   listr   r   Znlevelsr   )r/   ry   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 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 broadcastr5   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r   appendr8   r;   r   rx   r   rT   rw   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  sj   

 






 zTestBase.test_equals_opc                 C  sD   t |js
t|trtd |}dd |D }| |ks J d S )NrY   c                 S     g | ]}t |qS r1   ro   .0xr1   r1   r2   
<listcomp>1      z(TestBase.test_format.<locals>.<listcomp>)r   r   r7   r	   r8   r9   formatr/   r3   rD   rV   r1   r1   r2   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 elsewhereTrF    )r7   r   r   r8   r9   r=   r   )r/   r3   Z	empty_idxr1   r1   r2   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 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<   re   rx   nanr=   assert_produces_warningFutureWarningr   rw   Z_isnanhasnans)r/   ry   rD   r>   rW   rt   Zmsg2rV   r1   r1   r2   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   r5   )r   rT   rw   r   rx   r   r   r7   r   rS   r8   r;   rA   r   zerosZnotnaZones)r/   ry   rD   r>   rW   r1   r1   r2   
test_nullsf  s   

""zTestBase.test_nullsc                 C  s$   |}|j rJ |d d j sJ d S Nr   )r~   rH   r1   r1   r2   
test_emptyx  s   
zTestBase.test_emptyc                 C  s0   |}|j r|j||d}||k sJ d S d S )N)how)	is_uniquer:   rd   )r/   Z	join_typer3   rD   Zjoinedr1   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>  s    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>  s    z%TestBase.<lambda>.<locals>.<dictcomp>)ziprt   ry   r1   r1   r2   r     r   zTestBase.<lambda>c                 C  s
   t | |S r+   )r   r   r1   r1   r2   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 )NrY   r   r   fr   )r7   r	   r   r   r8   r9   rt   r   rT   rU   r   rc   r   rx   r   r   )	r/   r   r3   r0   rD   identityrW   r   rV   r1   r1   r2   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   r1   r   r   r1   r1   r2   r     r   z)TestBase.test_map_str.<locals>.<listcomp>r   )
r7   r   r8   r9   r   ro   r   rO   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 rb|jd	|d}t||d
}tj||dd d S 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 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   rx   r   )r/   r3   ry   Zindex_emptyZ	index_dupZindex_naZindex_na_dupr1   r1   r2   test_is_unique  s   zTestBase.test_is_uniquec                 C  s2   |}t t|}|j t t||ksJ d S r+   )r   gcZget_referrersr}   )r/   r3   ry   Z	nrefs_prer1   r1   r2   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 indexingr5   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s#J |ji ks*J 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%      rr   )ru   z
2011-11-01z
2011-12-01)rx   r   r   rT   Zassert_dict_equalgroupbyr	   r   rn   NaTrt   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   ry   NrW   Zaltr1   r1   r2   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   urF   r   z0ufunc 'invert' not supported for the input typeszbad operandr5   )r   rc   r   rt   rG   rT   rU   r   r   r8   r;   r<   )r/   r3   rD   resrV   Zres2r>   r1   r1   r2   test_inv8  s    
"zTestBase.test_invc                 C  <   |}t t |  W d    d S 1 sw   Y  d S r+   )rT   r   r   Z
is_booleanrH   r1   r1   r2   test_is_boolean_is_deprecatedO     
"z&TestBase.test_is_boolean_is_deprecatedc                 C  r   r+   )rT   r   r   Zis_floatingrH   r1   r1   r2   test_is_floating_is_deprecatedU  r   z'TestBase.test_is_floating_is_deprecatedc                 C  r   r+   )rT   r   r   
is_integerrH   r1   r1   r2   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. r5   )r=   r@   rT   r   r   Zholds_integerrC   r1   r1   r2   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. r5   )rT   r   r   r=   r@   Z
is_numericrH   r1   r1   r2   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 insteadr5   )rT   r   r   Zis_categoricalrH   r1   r1   r2   !test_is_categorical_is_deprecatedq  s   
"z*TestBase.test_is_categorical_is_deprecatedc                 C  r   r+   )rT   r   r   Zis_intervalrH   r1   r1   r2   test_is_interval_is_deprecatedz  r   z'TestBase.test_is_interval_is_deprecatedc                 C  r   r+   )rT   r   r   Z	is_objectrH   r1   r1   r2   test_is_object_is_deprecated  r   z%TestBase.test_is_object_is_deprecated)Jr@   
__module____qualname__r8   fixturer   r   rx   r   float64float32uint64r   int64int32int16int8r   r   r   r	   r   Zfrom_breaksr3   r?   rE   rI   rX   rb   rg   rk   rp   markfilterwarningsrz   r   r   r   r   r   r   r   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/


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,   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   rx   r   rT   rw   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s#J ||}tj	|||dddd ||}tj	|||dddd d S )NrY   ZFoo)r   rG   rF   Tr   )
r7   r   r8   r9   r=   r   viewrG   rT   rU   )r/   r3   r  r   rD   Zidx_viewr1   r1   r2   	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   ro   r   r1   r1   r2   	<genexpr>  s    z.TestNumericBase.test_format.<locals>.<genexpr>c                   s   g | ]	}t | qS r1   )ro   ljustr   	max_widthr1   r2   r     s    z/TestNumericBase.test_format.<locals>.<listcomp>)r7   r	   r8   r9   maxr   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   ry   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r;t||jd}|	d|}t
j||dd d S )Nr   r    r   r   Tr   )rn   r   r   r   rO   rx   r   r   rc   r   rT   rU   )r/   Znulls_fixturer3   ry   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   rx   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   rx   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   numpyrx   r8   Zpandas._libs.tslibsr   Zpandas.core.dtypes.commonr   r   Zpandas.core.dtypes.dtypesr   Zpandasrn   r   r	   r
   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingrT   Zpandas.core.arraysr   r   r  r1   r1   r1   r2   <module>   s(    8      i