a
    dB                     @  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  s   |j S Nparamselfrequest r0   k/var/www/html/stable-diffusion-webui/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.   r2   msgr0   r0   r1   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\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 r4   r    r   )r6   r	   r   r   r7   r8   r<   __name__r:   NotImplementedErrorshiftr.   r2   idxr=   r0   r0   r1   
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 typer4   name)r7   r:   r;   r<   r.   r2   rC   r0   r0   r1    test_constructor_name_unhashablei   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barrE   ))rI   one)rI   two)rJ   rK   )ZbazrL   )quxrK   )rM   rL   objectr   )namesAB)copyr6   r   rF   r   tmassert_index_equalrO   )r.   r2   expectedresultr0   r0   r1   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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.r3   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: ()r4   r    z1unsupported operand type\(s\) for \*: 'int' and ''zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (*/z//)r6   r   r<   r   r7   r8   r   r   r   _datar?   r9   r:   r;   replace)	r.   r2   rC   typclsZlmsgZrmsgZdiv_errZfloordiv_errr0   r0   r1   test_numeric_compat   sX    



&
((((zTestBase.test_numeric_compatc                 C  s  |j tkrtd |}|j jdv r| |j ks:J | |  ksRJ | |j kshJ | |  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 )NrX   Ziufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r4   )r   rN   r7   r8   kindall_valuesZ	to_seriesanyr6   r   r:   r;   rB   r0   r0   r1   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 )
r6   r   r7   r8   r<   r?   rS   rT   evalreprrG   r0   r0   r1   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 )Nrg   2   zdisplay.max_seq_itemsz...)r6   r   r7   r8   r<   r?   repeatpdZoption_contextri   strrG   r0   r0   r1   test_repr_max_seq_item_setting   s    

z'TestBase.test_repr_max_seq_item_settingz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C  sL  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|f |jdd	|}tj|j|jd
d n\t |trnNt|tu rt |jtjs||jfddi|}t|| t |jtrt|jj|jjsbJ 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rt|jj |jj sJ tj|jj |jj d
d n.|jdkrt|j|jsJ 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   rR   TUTCF)ZordinalrR   Zsame)Z
check_samezstring[python]zstring[pyarrow])"r6   r   r$   r   r   r   r7   r8   r   rN   inferred_typer<   valuesr
   Ztz_localizeZ
tz_converttzr	   r   
_with_freqrS   rT   Zasi8assert_numpy_array_equalr   r   nprd   r   Zshares_memoryr]   Z_maskZ_ndarrayr@   )r.   indexZinit_kwargsZ
index_typerV   r0   r0   r1   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 rrt|j
tj
r~||ks~J |jdkr||ksJ d S )Nr   TdeeprN   )_engineZclear_mappingZmemory_usageemptyget_locr6   r   r   r<   r   r   rw   rr   )r.   rx   rV   Zresult2Zresult3r0   r0   r1   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)r6   r   r7   r8   r<   r?   argsortrw   arrayrS   rv   )r.   rx   rV   rU   r0   r0   r1   test_argsortJ  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)rb   %the 'axis' parameter is not supportedr4   r    Zaxisz&the 'order' parameter is not supported)r   r!   )order)
rw   r   rS   rv   r6   r   r   r7   r:   
ValueError)r.   rx   rV   rU   r=   r0   r0   r1   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   rE   )
rR   Z_constructorrs   rl   rF   rS   rT   rw   arangelen)r.   r2   reprC   Znew_index_clsrU   r0   r0   r1   test_repeatk  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   r4   r   r   )rl   rS   rT   rw   r7   r:   r   )r.   r2   r   rC   rU   r=   r0   r0   r1   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rB|	d }dgt
| }|||}|}t|| dgdgt
|dd    }t|jg|dd    |jd}|||}t|| d S )NrX   TFr    r   )r6   r   r   r   r   r7   r8   r	   r   ru   r   whererS   rT   r   Z	_na_valuetolist)r.   Zlistlike_boxr2   klassrC   ZcondrV   rU   r0   r0   r1   
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   r7   r8   equalsinsert)r.   rx   rV   r0   r0   r1   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\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__ methodr4   g      ?rI   r3   z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr    )r   r;   
IndexErrorr7   r:   r   r9   )r.   rx   errr=   r0   r0   r1   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 r4   )r   r7   r8   r6   r   r<   r?   deleter   rF   r:   r   )r.   rx   rU   rV   lengthr=   r0   r0   r1   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    )r6   r   r7   r8   r<   r?   r   r   rw   r   rR   astyperN   listr   r   Znlevelsr   )r.   rx   Z	is_ea_idxZsame_valuesr0   r0   r1   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 broadcastr4   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r   appendr7   r:   r   rw   r   rS   rv   r   r6   r   assert_series_equal)r.   r2   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itemr0   r0   r1   test_equals_op  sX    &
 ((((((( zTestBase.test_equals_opc                 C  sD   t |jst|trtd |}dd |D }| |ks@J d S )NrX   c                 S  s   g | ]}t |qS r0   rn   .0xr0   r0   r1   
<listcomp>1      z(TestBase.test_format.<locals>.<listcomp>)r   r   r6   r	   r7   r8   formatr.   r2   rC   rU   r0   r0   r1   test_format*  s    
zTestBase.test_formatc                 C  sN   t |ttfrtd t|g }| g ks4J |jdddgksJJ d S )NTested elsewhereTrE    )r6   r   r   r7   r8   r<   r   )r.   r2   Z	empty_idxr0   r0   r1   test_format_empty4  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 Trz   "isna is not defined for MultiIndexr4   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   r7   r8   r   boolr6   r   r   r   rR   r:   r@   ZfillnarS   rT   r;   rd   rw   nanr<   assert_produces_warningFutureWarningr   rv   Z_isnanhasnans)r.   rx   rC   r=   rV   rs   Zmsg2rU   r0   r0   r1   test_fillna<  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   r4   )r   rS   rv   r   rw   r   r   r6   r   rR   r7   r:   r@   r   zerosZnotnaZones)r.   rx   rC   r=   rV   r0   r0   r1   
test_nullsf  s    
( zTestBase.test_nullsc                 C  s$   |}|j rJ |d d j s J d S Nr   )r}   rG   r0   r0   r1   
test_emptyx  s    
zTestBase.test_emptyc                 C  s,   |}|j r(|j||d}||k s(J d S )N)how)	is_uniquer9   rc   )r.   Z	join_typer2   rC   Zjoinedr0   r0   r1   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 )NrX   c                 S  s   | S r*   r0   )r   r0   r0   r1   <lambda>  r   z#TestBase.test_map.<locals>.<lambda>equivexact)r6   r   r   r7   r8   maprS   rT   )r.   r2   rC   rV   r0   r0   r1   test_map  s
    
zTestBase.test_mapmapperc                 C  s   dd t | |D S )Nc                 S  s   i | ]\}}||qS r0   r0   )r   eir0   r0   r1   
<dictcomp>  r   z%TestBase.<lambda>.<locals>.<dictcomp>)ziprs   rx   r0   r0   r1   r     r   zTestBase.<lambda>c                 C  s
   t | |S r*   )r   r   r0   r0   r1   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 )NrX   r   r   fr   )r6   r	   r   r   r7   r8   rs   r   rS   rT   r   rb   r   rw   r   r   )	r.   r   r2   r/   rC   identityrV   r   rU   r0   r0   r1   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  s   g | ]}t |qS r0   r   r   r0   r0   r1   r     r   z)TestBase.test_map_str.<locals>.<listcomp>r   )
r6   r   r7   r8   r   rn   r   rN   rS   rT   )r.   r2   rC   rV   rU   r0   r0   r1   test_map_str  s    


zTestBase.test_map_strrR   TFrF   NrI   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   )rR   )rF   r   Tr   r   )rF   r   FcategoryrE   )renamer   r   r   rS   rT   uniquer   )	r.   rR   rF   r   r2   rC   r   rV   rU   r0   r0   r1   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   rw   r   )r.   r2   rx   Zindex_emptyZ	index_dupZindex_naZindex_na_dupr0   r0   r1   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.   r2   rx   Z	nrefs_prer0   r0   r1   test_engine_reference_cycle  s    z$TestBase.test_engine_reference_cyclec                 C  sJ  t |trtd |}d}tjt|d  |d d d f  W d    n1 sP0    Y  t |tstjt|d |d  W d    n1 s0    Y  tjt|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 s<0    Y  d S )Nr   zMulti-dimensional indexingr4   TFzonly integers, slices)r6   r   r7   r8   r:   r   r   r   rB   r0   r0   r1   test_getitem_2d_deprecated  s     

.
&((z#TestBase.test_getitem_2d_deprecatedc                 C  s.   |}| |d  | }|j|ju s*J d S r   )r~   rR   _cache)r.   r2   rC   rR   r0   r0   r1   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.   r2   rC   Zshallow_copyr0   r0   r1   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%      rq   )rt   z
2011-11-01z
2011-12-01)rw   r   r   rS   Zassert_dict_equalgroupbyr	   r   rm   NaTrs   r   )r.   r2   rC   Z
to_groupbyZex_keysrU   r0   r0   r1   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   rS   rT   Ztaker   range)r.   r2   rx   NrV   Zaltr0   r0   r1   test_append_preserves_dtype+  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rbd}nd}t	j
t|d |  W d    n1 s0    Y  t	j
t|d t|  W d    n1 s0    Y  d S )N)r   urE   r   z0ufunc 'invert' not supported for the input typeszbad operandr4   )r   rb   r   rs   rF   rS   rT   r   r   r7   r:   r;   )r.   r2   rC   resrU   Zres2r=   r0   r0   r1   test_inv8  s    
$zTestBase.test_invc                 C  s:   |}t t |  W d    n1 s,0    Y  d S r*   )rS   r   r   Z
is_booleanrG   r0   r0   r1   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*   )rS   r   r   Zis_floatingrG   r0   r0   r1   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*   )rS   r   r   
is_integerrG   r0   r0   r1   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. r4   )r<   r?   rS   r   r   Zholds_integerrB   r0   r0   r1   test_holds_integer_deprecateda  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. r4   )rS   r   r   r<   r?   Z
is_numericrG   r0   r0   r1   test_is_numeric_is_deprecatedh  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 insteadr4   )rS   r   r   Zis_categoricalrG   r0   r0   r1   !test_is_categorical_is_deprecatedq  s    z*TestBase.test_is_categorical_is_deprecatedc                 C  s:   |}t t |  W d    n1 s,0    Y  d S r*   )rS   r   r   Zis_intervalrG   r0   r0   r1   test_is_interval_is_deprecatedz  s    z'TestBase.test_is_interval_is_deprecatedc                 C  s:   |}t t |  W d    n1 s,0    Y  d S r*   )rS   r   r   Z	is_objectrG   r0   r0   r1   test_is_object_is_deprecated  s    z%TestBase.test_is_object_is_deprecated)Jr?   
__module____qualname__r7   fixturer   r   rw   r   float64float32uint64r   int64int32int16int8r   r   r   r	   r   Zfrom_breaksr2   r>   rD   rH   rW   ra   rf   rj   ro   markfilterwarningsry   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   r0   r0   r0   r1   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  s   |j S r*   r+   r-   r0   r0   r1   r2     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 )NrX   r    r   r   )r6   r   r7   r8   r<   r   r   rw   r   rS   rv   r]   )r.   r2   	index_clsr   rC   rV   rU   r0   r0   r1   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.   r2   rC   keyr0   r0   r1   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 ||}tj	|||dddd d S )NrX   ZFoo)r   rF   rE   Tr   )
r6   r   r7   r8   r<   r   viewrF   rS   rT   )r.   r2   r   r   rC   Zidx_viewr0   r0   r1   	test_view  s    



zTestNumericBase.test_viewc                   sP   t |trtd |}tdd |D   fdd|D }| |ksLJ d S )Nr   c                 s  s   | ]}t t|V  qd S r*   )r   rn   r   r0   r0   r1   	<genexpr>  r   z.TestNumericBase.test_format.<locals>.<genexpr>c                   s   g | ]}t | qS r0   )rn   ljustr   	max_widthr0   r1   r     r   z/TestNumericBase.test_format.<locals>.<listcomp>)r6   r	   r7   r8   maxr   r   r0   r  r1   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   rS   rT   )r.   r2   rx   rV   rU   r0   r0   r1   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   )rm   r   r   r   rN   rw   r   r   rb   r   rS   rT   )r.   Znulls_fixturer2   rx   Zna_valrU   rV   r0   r0   r1   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   rw   r   r   r   rS   rT   r   )	r.   r2   r   rC   ZarrrU   Zfidxr   rV   r0   r0   r1   $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  r2   rV   r0   r0   r1   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   )r6   r   r7   r8   r<   r   rS   rT   )r.   r2   rV   rU   r0   r0   r1   test_cast_string  s
    

z TestNumericBase.test_cast_stringN)r?   r   r   r7   r   r   r   rw   r   r   r   r   r   r   r   r   r   r2   r   r  r  r   r
  r  r  r   r   Z	complex64Z
complex128r  r  r0   r0   r0   r1   r     s,   
	

r   )#
__future__r   r   r   numpyrw   r7   Zpandas._libs.tslibsr   Zpandas.core.dtypes.commonr   r   Zpandas.core.dtypes.dtypesr   Zpandasrm   r   r	   r
   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingrS   Zpandas.core.arraysr   r   r   r0   r0   r0   r1   <module>   s&   8      i