
    o[weB                        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
          Z! G 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                     e Zd Z ej         eddd           e ej        dej	                             e ej        dej
                             e ej        dej                             e eddd          ej                   e eddd          ej                   e eddd          ej                   e eddd          ej                   e ed                     eg d           ed	dd
           eg ddd
           eg ddd
           ej         ed          d          g          d             Zd Zd Zd Zd Zd Zd Zd Zd Zej         !                    d          d             Z"d  Z#d! Z$d" Z%d# Z&d$ Z'd% Z(d& Z)d' Z*d( Z+ej         !                    d          d)             Z,d* Z-d+ Z.d, Z/d- Z0d. Z1d/ Z2d0 Z3d1 Z4ej         5                    d2d3 d4 g          ej         !                    d          d5                         Z6d6 Z7ej         5                    d7d8d9g          ej         5                    d:d;d<g          ej         5                    d=d8d9g          d>                                     Z8d? Z9ej         j:        d@             Z;dA Z<dB Z=dC Z>dD Z?dE Z@dF ZAdG ZBdH ZCdI ZDdJ ZEdK ZFdL ZGdM ZHdN ZId;S )O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                    |j         S Nparamselfrequests     Blib/python3.11/site-packages/pandas/tests/indexes/test_old_base.pysimple_indexzTestBase.simple_index%   s    B }    c                   t          |t                    rt          j        d           d                    g d          }t          j        t          |          5   t          |                       d d d            d S # 1 swxY 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)r4   r7   msgs      r6   test_pickle_compat_constructionz(TestBase.test_pickle_compat_constructionH   s    lJ// 	?K=>>>hh	 	 	
 
 ]9C000 	! 	!D   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   BBBc                   t          |t          t          t          f          rt	          j        d           |}dt          |          j         }t	          j        t          |          5  |
                    d           d d d            n# 1 swxY w Y   t	          j        t          |          5  |
                    dd           d d d            d S # 1 swxY w Y   d S )Nz"Tested in test_ops/test_arithmeticz\This method is only implemented for DatetimeIndex, PeriodIndex and TimedeltaIndex; Got type r;   r#   r   )r=   r
   r   r   r>   r?   rC   __name__rA   NotImplementedErrorshiftr4   r7   idxrD   s       r6   
test_shiftzTestBase.test_shift[   sX   l]NK$PQQ 	>K<====(,S		(:= = 	 ].c::: 	 	IIaLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	].c::: 	 	IIaOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   +BBB3CCCc                    |}t          j        t          d          5   t          |          |g            d d d            d S # 1 swxY w Y   d S )Nz"Index.name must be a hashable typer;   name)r>   rA   rB   rC   r4   r7   rK   s      r6    test_constructor_name_unhashablez)TestBase.test_constructor_name_unhashablei   s     ]9,PQQQ 	$ 	$DIIc####	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   AA
A
c           	     >   |                                 }t          |t                    sZd|_        t	          |          }t          j        ||           t	          |d          }d|_        t          j        ||           d S ddg|_        t	          |          }t          j        |t	          t	          g dd          ddg                     t	          |dd	g          }t          j        |t	          t	          g dd          dd	g                     d S )
NfoobarrN   ))rS   one)rS   two)rT   rU   )bazrV   )quxrU   )rX   rV   objectr   )namesAB)copyr=   r   rO   r   tmassert_index_equalrZ   )r4   r7   expectedresults       r6   test_create_index_existing_namez(TestBase.test_create_index_existing_namep   sh     $$&&(J// .	!HM8__F!&(3338%000F!HM!&(33333#U^HN8__F!   '
 
 
 !%.    $ 8C:666F!   '
 
 
 *      r8   c                :   |}t          |t                    rJ t          |          t          u rt	          j        d           t          |j                  st          |t                    rt	          j        d           t          |j	                  j
        }t          |          j
        }d                    d| dd| d| dg          }t	          j        t          |          5  |d	z   d d d            n# 1 swxY w Y   d                    d
| dd| d| dg          }t	          j        t          |          5  d	|z   d d d            n# 1 swxY w Y   |                    dd          }t	          j        t          |          5  |d	z   d d d            n# 1 swxY w Y   |                    dd          }t	          j        t          |          5  d	|z   d d d            n# 1 swxY w Y   |                    dd          }t	          j        t          |          5  |d	z   d d d            n# 1 swxY w Y   |                    dd          }t	          j        t          |          5  d	|z   d d d            d S # 1 swxY w Y   d S )NzNot applicable for IndexTested elsewhere.r:   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: ()r;   r#   z1unsupported operand type\(s\) for \*: 'int' and ''zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (*/z//)r=   r   rC   r   r>   r?   r   r    r   _datarG   r@   rA   rB   replace)	r4   r7   rK   typclslmsgrmsgdiv_errfloordiv_errs	            r6   test_numeric_compatzTestBase.test_numeric_compat   sD    c:.....99K2333L.// 	-:.4
 4
 	- K+,,,39oo&3ii xxK3KKK2%(2 2+.2 2 2
 
 ]9D111 	 	!GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	xxKSKKK2%(2 2+.2 2 2
 
 ]9D111 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ,,sC((]9G444 	 	!GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	,,sC((]9G444 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ||C..]9L999 	 	1HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	||C..]9L999 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   +C==DDEEEF%%F),F)!G33G7:G7/III=JJJc                ~   |j         t          k    rt          j        d           |}|j         j        dv r|                                |j                                        k    sJ |                                |                                                                k    sJ |                                |j                                        k    sJ |                                |                                                                k    sJ d S d}t          |t                    rd}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )Nrd   iufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r;   )r    rY   r>   r?   kindall_values	to_seriesanyr=   r   rA   rB   rJ   s       r6   test_logical_compatzTestBase.test_logical_compat   s   ''K+,,,9>X%%7799 1 111117799 3 3 5 555557799 1 111117799 3 3 5 5555555,C#}-- 8  y444  			              y444  			                 s$   	E**E.1E.F22F69F6c                    t          |t                    r)t          j        dt	          |          j                    |}t          j        t          t          |                    |           d S )NNot a valid repr for )
r=   r   r>   r?   rC   rG   r^   r_   evalreprrP   s      r6   test_repr_roundtripzTestBase.test_repr_roundtrip   sc    lM22 	OKM\0B0B0KMMNNN
d499oos33333r8   c                R   t          |t                    r)t          j        dt	          |          j                    |}|                    d          }t          j        dd           5  t          |           dt          |          vsJ 	 d d d            d S # 1 swxY w Y   d S )Nr{   2   zdisplay.max_seq_itemsz...)r=   r   r>   r?   rC   rG   repeatpdoption_contextr}   strrP   s      r6   test_repr_max_seq_item_settingz'TestBase.test_repr_max_seq_item_setting   s    lM22 	OKM\0B0B0KMMNNNjjnn6== 	) 	)IIIC(((((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   +#BB #B z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                   i }t          |t                    r|j        |d<   n\t          |t          t          t
          f          rt          j        d           n%|j        t          k    r|j
        dk    r
|j        |d<   t          |          } ||j        fddi|}t          |j        t                    r-|                    d                              |j                  }t          |t"          t$          f          r|                    d           }t)          j        ||           t          |t                    r3 |d|j        dd	|}t)          j        |j        |j        d
           d S t          |t0                    rd S t          |          t2          u rt          |j        t4          j                  s ||j        fddi|}t)          j        ||           t          |j        t8                    rt5          j        |j        j        |j        j                  sJ t)          j        |j        j        |j        j        d
           t5          j        |j        j        |j        j                  sJ t)          j        |j        j        |j        j        d
           d S |j        dk    rXt5          j        |j        j         |j        j                   sJ t)          j        |j        j         |j        j         d
           d S |j        dk    r#t)          j        |j        |j                  sJ d S tC          |j                   ||j        fddi|}t)          j        |j        |j        d
           d S )Nr)   zaRangeIndex cannot be initialized from data, MultiIndex and CategoricalIndex are tested separatelybooleanr    r]   TUTCF)ordinalr]   same)
check_samezstring[python]zstring[pyarrow] )"r=   r   r)   r   r   r	   r>   r?   r    rY   inferred_typerC   valuesr   tz_localize
tz_converttzr
   r   
_with_freqr^   r_   asi8assert_numpy_array_equalr   r   nprv   r   shares_memoryri   _mask_ndarrayrH   )r4   indexinit_kwargs
index_typera   s        r6   test_ensure_copied_dataz TestBase.test_ensure_copied_data   s    e[)) 		/"'*K
J8HIJJ 	/KH    [F""u':i'G'G#(;K %[[
ELCCtC{CCek?33 	D''..99%(CCFem^<== 	+$$T**E
eV,,,e[)) 	XZN
NN+NNF'
FKFSSSSSS}-- 	XD%[[E!!*U["(*K*K!ZHH5HKHHF!&%000%-99 7'(;V^=QRRRRR+M')=&    '(;V^=QRRRRR+M')=&       000'(>@WXXXXX+M*FN,CPV       111'FFFFFFF)%+666ZHH5HKHHF'fmPVWWWWWWr8   c                   |j                                          |                                }|j        r
|dk    sJ d S |                    |d                    |                                }|                    d          }t          |t          t          f          s=t          |          t          u rt          |j
        t          j
                  r||k    sJ |j        dk    r||k    sJ d S d S )Nr   TdeeprY   )_engineclear_mappingmemory_usageemptyget_locr=   r   r   rC   r   r    r   r   )r4   r   ra   result2result3s        r6   test_memory_usagezTestBase.test_memory_usage2  s    ##%%%##%%; 	Q;;;;F 	eAh$$&&$$$$//
 %*m!<== 	$KK5  EK)J)J V####(**W$$$$ +*$$r8   c                $   t          |t                    r)t          j        t	          |           j         d           |                                }t          j        |                                          }t          j
        ||d           d S )Nz separately testedF)check_dtype)r=   r	   r>   r?   rC   rG   argsortr   arrayr^   r   )r4   r   ra   r`   s       r6   test_argsortzTestBase.test_argsortJ  s|    e-.. 	DK4::.BBBCCC8E??**,,
#FH%HHHHHHr8   c                l   t          j        |          }|                                }t          j        ||           t          j        |d          }|                    d          }t          j        ||           t	          |t
          t          f          rd}t          j        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          j        |d	           d d d            d S # 1 swxY w Y   d S d S )
N	mergesort)rt   %the 'axis' parameter is not supportedr;   r#   axisz&the 'order' parameter is not supported)r"   r$   )order)
r   r   r^   r   r=   r	   r   r>   rA   
ValueError)r4   r   ra   r`   rD   s        r6   test_numpy_argsortzTestBase.test_numpy_argsortR  s   E""==??
#FH555E444==k=22
#FH555 e.
;<< 	49Cz555 * *
5q))))* * * * * * * * * * * * * * * ;Cz555 4 4
5
33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4	4 	4s$   8CC"CD''D+.D+c                   d}|                                 }|j        } ||j                            |          |j                  }t          j        |                    |          |           |}t          j        t          |                    } ||j                            |          |j                  }t          j        |                    |          |           d S )Nr   rN   )
r]   _constructorr   r   rO   r^   r_   r   arangelen)r4   r7   reprK   new_index_clsr`   s         r6   test_repeatzTestBase.test_repeatk  s    !!( =!2!23!7!7chGGG
cjjoox888iC!! =!2!23!7!7chGGG
cjjoox88888r8   c                "   d}|}|                     |          }t          j        t          j         ||          |           d}t	          j        t          |          5  t          j         ||d           d d d            d S # 1 swxY w Y   d S )Nr   r   r;   r   r   )r   r^   r_   r   r>   rA   r   )r4   r7   r   rK   r`   rD   s         r6   test_numpy_repeatzTestBase.test_numpy_repeatw  s    ::c??
biS118<<<5]:S111 	( 	(Ic3Q''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   BBBc                   t          |t          t          f          st          |j                  rt          j        d           |}|}t          |t          t          f          r|	                    d           }dgt          |          z  }|                     ||                    }|}t          j        ||           dgdgt          |dd                    z  z   }t          |j        g|dd                                          z   |j                  }|                     ||                    }t          j        ||           d S )Nrd   TFr#   r   )r=   r   r   r   r    r>   r?   r
   r   r   r   wherer^   r_   r   	_na_valuetolist)r4   listlike_boxr7   klassrK   condra   r`   s           r6   
test_wherezTestBase.test_where  s=   l]K$@AA 	-EUF
 F
 	- K+,,,cM>:;; 	'..&&CvC 55;;''
fh///w$#c!""g,,..#-3qrr7>>+;+;;39MMM55;;''
fh/////r8   c                    |dd         }t          |          st          j        d           |dd                             |                    d|d                             sJ d S )Nr#      Not applicable for empty indexr   )r   r>   r?   equalsinsert)r4   r   ra   s      r6   test_insert_basezTestBase.test_insert_base  sj    qs5zz 	:K8999 QqSz  q%(!;!;<<<<<<<r8   c                   t          |          dk    rt          }nt          }t          |          dk    rd}nd}t          j        ||          5  |                    dd           d d d            n# 1 swxY w Y   d                    dd	g          }t          j        t          |          5  |                    t          |          d
z   d
           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t          |           d
z
  d
           d d d            d S # 1 swxY w 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__ methodr;   g      ?rS   r:   z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr#   )r   rB   
IndexErrorr>   rA   r   r@   )r4   r   errrD   s       r6   test_insert_out_of_boundsz"TestBase.test_insert_out_of_bounds  s    u::>>CCCu::??ICCVC]3c*** 	% 	%LLe$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% hhH0
 
 ]:S111 	, 	,LLUa+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, ]:S111 	- 	-LL#e**q!,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s6   A44A8;A81'C$$C(+C(
(D??EEc                   t          |          st          j        d           t          |t                    r)t          j        t          |           j         d           |dd          }|                    d          }|                    |          sJ |j	        |j	        k    sJ |d d         }|                    d          }|                    |          sJ |j	        |j	        k    sJ t          |          }d| d| }t          j
        t          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )	Nr    tested elsewherer#   r   zindex z' is out of bounds for axis 0 with size r;   )r   r>   r?   r=   r   rC   rG   deleter   rO   rA   r   )r4   r   r`   ra   lengthrD   s         r6   test_delete_basezTestBase.test_delete_base  s   5zz 	:K8999eZ(( 	CK4::.AAABBB9a}}X&&&&&{hm++++":b!!}}X&&&&&{hm++++UNvNNfNN]:S111 	! 	!LL   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   $EEEc                   t          |t                    r)t          j        t	          |          j         d           t	          |          t          u ot          |j        t          j                   }|	                    |          sJ |	                    |
                                          sJ |s/|	                    |                    t                              sJ |	                    t          |                    rJ |	                    t          j        |                    rJ t          |t                    sF|sDt          |t                    }|	                    |          sJ |	                    |          sJ |j        dk    r$|	                    t#          |                    rJ d S d S )Nr   r   r#   )r=   r   r>   r?   rC   rG   r   r    r   r   r]   astyperY   listr   r   nlevelsr   )r4   r   	is_ea_idxsame_valuess       r6   test_equalszTestBase.test_equals  s   e]++ 	DK4;;/BBBCCCKK5(REK1R1R-R	||E"""""||EJJLL))))) 	6<<V 4 455555<<U,,,,,<<00000 %,, 	-Y 	-V444K<<,,,,,%%e,,,,,=A||F5MM22222 22r8   c                `   |}t          |          }|dd         }|dd                             |dd                   }|dd         }d}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        dg|z            }t          j        dg|dz
  z  dgz             }	t          j        ||k    |           t          j        ||k    |	           t          j        |          }
t          j        |dd                   }t          j        |dd                             |dd                             }t          j        |dd                   }t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        ||
k    |           t          j        ||k    |	           t          |
          }t          |          }t          |          }t          |          }t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        ||k    |           t          j        ||k    |	           t          j        t          d	          5  ||k     d d d            n# 1 swxY w Y   t          j        t          d	          5  ||k     d d d            n# 1 swxY w Y   t          j        t          d	          5  ||k     d d d            n# 1 swxY w Y   d
}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          d	          5  ||k     d d d            n# 1 swxY w Y   t          |t                    svt          j        dgt          |          dz
  z  ddgz             }|d         }t          j        ||k    |           t          j        ||k    t          |                     d S d S )Nr   r   r#   z)Lengths must match|could not be broadcastr;   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r   appendr>   rA   r   r   r   r^   r   r   r=   r   assert_series_equal)r4   r7   index_anindex_bindex_cindex_drD   	expected1	expected2array_aarray_barray_carray_dseries_aseries_bseries_cseries_d	expected3items                       r6   test_equals_opzTestBase.test_equals_op  s   LL!B$-!B$-&&wr"u~66!A#,9]:S111 	 	w	 	 	 	 	 	 	 	 	 	 	 	 	 	 	HdVaZ((	HdVq1u-788	
#Gw$6	BBB
#Gw$6	BBB (7##(71R4=))(71R4=//2??@@(71Q3<((]:S111 	 	w	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
#Gw$6	BBB
#Gw$6	BBB '??'??'??'??]:S111 	  	 x	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	#Gx$7CCC
#Gx$7CCC ]:-ABBB 	 	w	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:-ABBB 	  	 x	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:-ABBB 	 	w	 	 	 	 	 	 	 	 	 	 	 	 	 	 	C]:S111 	! 	!  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!]:-ABBB 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ':.. 	H%CLL1,<!=u!MNNI2;D'4CCC"8t#3VI5F5FGGGGG	H 	Hs   (A;;A?A?F  F$'F$4IIIJ22J69J6K++K/2K/L$$L(+L(MM#&M#NNNc                    t          |j                  st          |t                    rt	          j        d           |}d |D             }|                                |k    sJ d S )Nrd   c                ,    g | ]}t          |          S r   r   .0xs     r6   
<listcomp>z(TestBase.test_format.<locals>.<listcomp>1  s    (((qCFF(((r8   )r   r    r=   r
   r>   r?   format)r4   r7   rK   r`   s       r6   test_formatzTestBase.test_format*  su    L.// 	-:-4
 4
 	- K+,,,((C(((zz||x''''''r8   c                   t          |t          t          f          rt          j        d            t          |          g           }|                                g k    sJ |                    d          dgk    sJ d S )NTested elsewhereTrN    )r=   r   r   r>   r?   rC   r   )r4   r7   	empty_idxs      r6   test_format_emptyzTestBase.test_format_empty4  s    l[*$=>> 	,K*+++&D&&r**	!!R''''T**rd222222r8   c                   t          |          dk    rt          j        d           d S |j        t          k    rt          j        |j         d           d S t          |t                    r2t          |j                  rt          j        d|j                    d S t          |t                    ri|	                    d          }d}t          j
        t          |          5  |                    |d                    d d d            d S # 1 swxY w Y   d S |	                    d          }|                    |d                   }t          j        ||           ||usJ d	}t          j
        t          |          5  |                    |d         g           d d d            n# 1 swxY w Y   |	                    d          }|j        }t"          j        |d
<    t'          |          |          }d}d}t          j        t*          |          5  t          j
        t          |          5  |                    |d         d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t#          j        dgt          |          z  t                    }d|d
<   t          j        |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 MultiIndexr;   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   r]   rA   rH   fillnar^   r_   rB   rv   r   nanrC   assert_produces_warningFutureWarningr   r   _isnanhasnans)r4   r   rK   rD   ra   r   msg2r`   s           r6   test_fillnazTestBase.test_fillna<  s   u::??K677777[D  K5;88899999u%% "	'*:5;*G*G "	'KDu{DDEEEEEz**  	'**$*''C6C2#>>> # #

3q6"""# # # # # # # # # # # # # # # # # # **$*''CZZA''F!&#...$$$$6Cy444 % %

CF8$$$% % % % % % % % % % % % % % % **$*''C[FF1I$u++f%%C/CMD+MFFF 9 9]#6cBBB 9 9JJs1vJ8889 9 9 9 9 9 9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 9 9 9 9 9 9 9 9
 x#c(( 2$???HHQK'
H===;$&&&&&&sZ   'DDDF//F36F3I:9I#I:#I'	'I:*I'	+I::I>I>c                   t          |          dk    rBt          j        |                                t	          j        g t                               d S t          |t                    r`|	                                }d}t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S |j        st          j        |                                t	          j        t          |          t                               t          j        |                                t	          j        t          |          t                               d S t          |          }t          j        |                                |           t          j        |                                |            d S )Nr   r   r  r;   )r   r^   r   r   r   r   r  r=   r   r]   r>   rA   rH   r  zerosnotnaones)r4   r   rK   rD   ra   s        r6   
test_nullszTestBase.test_nullsf  s    u::??'

bhr6N6N6NOOOOOz** 	@**,,C6C2#>>>  


                  	@'

bhs5zzQU6V6V6VWWW'rws5zzQU7V7V7VWWWWW%[[F'

f==='w?????s   B>>CCc                >    |}|j         rJ |d d         j         sJ d S Nr   )r   rP   s      r6   
test_emptyzTestBase.test_emptyx  s1    92A2w}r8   c                ~    |}|j         r1|                    ||          }||k                                    sJ d S d S )N)how)	is_uniquer@   ru   )r4   	join_typer7   rK   joineds        r6   test_join_self_uniquezTestBase.test_join_self_unique~  sR    = 	)XXcyX11F6M&&(((((	) 	)((r8   c                    t          |t          t          f          rt          j        d           |}|                    d           }t          j        ||d           d S )Nrd   c                    | S r0   r   )r   s    r6   <lambda>z#TestBase.test_map.<locals>.<lambda>  s    1 r8   equivexact)r=   r   r   r>   r?   mapr^   r_   )r4   r7   rK   ra   s       r6   test_mapzTestBase.test_map  s`    l^[$ABB 	-K+,,,%%
fc999999r8   mapperc                6    d t          | |          D             S )Nc                    i | ]\  }}||	S r   r   )r   eis      r6   
<dictcomp>z%TestBase.<lambda>.<locals>.<dictcomp>  s    "G"G"GDAq1a"G"G"Gr8   )zipr   r   s     r6   r  zTestBase.<lambda>  s    "G"GC4F4F"G"G"G r8   c                "    t          | |          S r0   )r   r+  s     r6   r  zTestBase.<lambda>  s    &"7"7 r8   c                   |}t          |t          t          t          f          rt	          j        d            ||j        |          }|                    |          }t          j	        ||d           d }|j
        j        dk    r|j
        }t          t          j        gt          |          z  |          }|                     |||                    }t          j	        ||           d S )Nrd   r  r   fr   )r=   r
   r   r   r>   r?   r   r"  r^   r_   r    rt   r   r   r  r   )	r4   r$  r7   r5   rK   identityra   r    r`   s	            r6   test_map_dictlikezTestBase.test_map_dictlike  s     cM>;GHH 	-K+,,,6#*c**""
fc9999 9>S  IE"&CHH,E:::#..//
fh/////r8   c                    t          |t                    rt          j        d           |}|                    t
                    }t          d |D             t                    }t          j	        ||           d S )NzSee test_map.pyc                ,    g | ]}t          |          S r   r   r   s     r6   r   z)TestBase.test_map_str.<locals>.<listcomp>  s    ...Q#a&&...r8   r   )
r=   r	   r>   r?   r"  r   r   rY   r^   r_   )r4   r7   rK   ra   r`   s        r6   test_map_strzTestBase.test_map_str  st    l$455 	+K)***..#...f===
fh/////r8   r]   TFrO   NrS   orderedc                Z   |}|r|                     |          }t          |          }|                    ||          }t          |||          }t	          j        ||d           t          |                                                                d d         |          }|                    ||          }t          |||          }t	          j        ||d           |du rA|                    d	|          }t          ||
          }t	          j        ||d           d S d S )N)r4  )r]   )rO   r4  Tr   r   )rO   r    FcategoryrN   )renamer   r   r	   r^   r_   uniquer   )	r4   r]   rO   r4  r7   rK   r    ra   r`   s	            r6   test_astype_categoryzTestBase.test_astype_category  s<   
  	#**T""C !111E--#CdGDDD
fhd;;;; !!4!4!6!6ss!;WEEE--#Cd%@@@
fhd;;;;eZZ
Z66F'$777H!&($??????	 r8   c                h   |                                 }|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 sJ |                    dt          j                  }|j        du sJ d S )NTr   F)drop_duplicatesr  r   r   r  )r4   r7   r   index_empty	index_dupindex_naindex_na_dups          r6   test_is_uniquezTestBase.test_is_unique  s    ,,..$&&&& BQBi$,,,, LLE!H--	"e++++ <<26**!T))))  q"&11%......r8   c                    |}t          t          j        |                    }|j         t          t          j        |                    |k    sJ d S r0   )r   gcget_referrersr   )r4   r7   r   	nrefs_pres       r6   test_engine_reference_cyclez$TestBase.test_engine_reference_cycle  sR     (//00	2#E**++y888888r8   c                   t          |t                    rt          j        d           |}d}t          j        t
          |          5  |d d d f          d d d            n# 1 swxY w Y   t          |t                    syt          j        t
          |          5  |d          d d d            n# 1 swxY w Y   t          j        t
          |          5  |d          d d d            d S # 1 swxY w Y   d S d}t          j        t          |          5  |d          d d d            n# 1 swxY w Y   t          j        t          |          5  |d          d d d            d S # 1 swxY w Y   d S )Nr   zMulti-dimensional indexingr;   TFzonly integers, slices)r=   r   r>   r?   rA   r   r   r   rJ   s       r6   test_getitem_2d_deprecatedz#TestBase.test_getitem_2d_deprecated  s   lM22 	,K*+++*]:S111 	 	4LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 #z** 	z555  D		              z555  E

                  *Cz555  D		              z555  E

                 sZ   	A""A&)A&	B22B69B6	C..C25C2	D--D14D1	E))E-0E-c                    |}|                     |d                    |                                }|j        |j        u sJ d S r  )r   r]   _cache)r4   r7   rK   r]   s       r6   test_copy_shares_cachezTestBase.test_copy_shares_cache  sE    CFxxzz{cj((((((r8   c                    |}|                     |d                    |                                }|j        |j        u sJ |                    |j                  }|j        |j        usJ |j        i k    sJ d S r  )r   _viewrI  _shallow_copyri   )r4   r7   rK   shallow_copys       r6   test_shallow_copy_shares_cachez'TestBase.test_shallow_copy_shares_cache	  s    CFyy{{"cj0000((33"#*4444"b((((((r8   c                h   |d d         }t          j        ddt           j        ddg          }t          j        |                    |          |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          j
        }t          d          t          d          g}|d         |ddg         |d         |ddg         i}t          j        |                    |          |           d S )Nr   r#   r   r   r      )g      ?g       @i  r*      r   )r   z
2011-11-01z
2011-12-01)r   r   r  r^   assert_dict_equalgroupbyr
   r   r   NaTr   r   )r4   r7   rK   
to_groupbyex_keysr`   s         r6   test_index_groupbyzTestBase.test_index_groupby  s:   2A2Xq!RVQ233

KK
##31v;S!Q[%I%I	
 	
 	
 #r1%%r1%%r1%%r1%% 	
 	
 	
  	 \**Il,C,CDAJQFWQZaVE
S[[44h?????r8   c                   |}t          |          }|                    |          }|j        |j        k    sJ t          j        |d |         |d           t          j        ||d          |d           |                    t          t          |                    dz            }t          j        ||d           d S )NT)check_exactr   )r   r   r    r^   r_   taker   range)r4   r7   r   Nra   alts         r6   test_append_preserves_dtypez$TestBase.test_append_preserves_dtype+  s    JJe$$|u{****
fRaRj%TBBBB
fQRRj%TBBBBjjeAhh!+,,
fct<<<<<<r8   c                   |}|j         j        dv rh| }t          |j         |j                  }t          j        ||           t          |           }t          j        |t          |                     d S |j         j        dk    rd}nd}t          j
        t          |          5  |  d d d            n# 1 swxY w Y   t          j
        t          |          5  t          |            d d d            d S # 1 swxY w Y   d S )N)r(  urN   r.  z0ufunc 'invert' not supported for the input typeszbad operandr;   )r    rt   r   r   rO   r^   r_   r   r   r>   rA   rB   )r4   r7   rK   resr`   res2rD   s          r6   test_invzTestBase.test_inv8  s   9>Z''$Ccj[sx888H!#x000 3KK<D"4)9)9:::::y~$$H#y444                 y444                   s$   )B99B= B=C==DDc                    |}t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S r0   )r^   r  r	  
is_booleanrP   s      r6   test_is_boolean_is_deprecatedz&TestBase.test_is_boolean_is_deprecatedO      '66 	 	NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   >AAc                    |}t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S r0   )r^   r  r	  is_floatingrP   s      r6   test_is_floating_is_deprecatedz'TestBase.test_is_floating_is_deprecatedU      '66 	 	OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	ri  c                    |}t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S r0   )r^   r  r	  
is_integerrP   s      r6   test_is_integer_is_deprecatedz&TestBase.test_is_integer_is_deprecated[  rh  ri  c                    |}t          |          j         d}t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )Nz.holds_integer is deprecated. r;   )rC   rG   r^   r  r	  holds_integerrJ   s       r6   test_holds_integer_deprecatedz&TestBase.test_holds_integer_deprecateda  s    c#CCC'SAAA 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   AAAc                    |}t          j        t          t          |          j         d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nz.is_numeric is deprecated. r;   )r^   r  r	  rC   rG   
is_numericrP   s      r6   test_is_numeric_is_deprecatedz&TestBase.test_is_numeric_is_deprecatedh  s    '#YY'DDD
 
 
 	 	 NN		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                    |}t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nz4Use pandas\.api\.types\.is_categorical_dtype insteadr;   )r^   r  r	  is_categoricalrP   s      r6   !test_is_categorical_is_deprecatedz*TestBase.test_is_categorical_is_deprecatedq  s    'I
 
 
 	! 	!    		! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   A  AAc                    |}t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S r0   )r^   r  r	  is_intervalrP   s      r6   test_is_interval_is_deprecatedz'TestBase.test_is_interval_is_deprecatedz  rm  ri  c                    |}t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S r0   )r^   r  r	  	is_objectrP   s      r6   test_is_object_is_deprecatedz%TestBase.test_is_object_is_deprecated  s    '66 	 	MMOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	ri  )JrG   
__module____qualname__r>   fixturer   r   r   r   float64float32uint64r\  int64int32int16int8r   r   r   r
   r   from_breaksr7   rE   rL   rQ   rb   rq   ry   r~   r   markfilterwarningsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r#  parametrizer0  r3  r9  r@  arm_slowrE  rG  rJ  rO  rX  r_  rd  rg  rl  rp  rs  rv  ry  r|  r  r   r8   r6   r   r   $   s       V^JQRa000E)")ARZ00011E)")ARZ00011E)")ARY///00E%%2q//222E%%2q//222E%%2q//222E%%2q//111E$$w--  E***++LQS999N   (
 
 
 MVVV&  
 &M%eeBii@@@9
  @ A @! ! !&  $ $ $2 2 2h- - -^  *4 4 4) ) ) [ VWW7X 7X XW7Xr% % %0I I I4 4 42
9 
9 
9( ( (0 0 0,= = =- - -6! ! !. [ VWW3 3 XW32<H <H <H|( ( (3 3 3(' (' ('T@ @ @$  ) ) ): : : [GG77	
  [ VWW0 0 XW 0(0 0 0 [VdE]33[VdE]33[Yu66@ @ 76 43 43@0/ / /* [9 9 9  ,) ) )
) 
) 
)@ @ @,= = =  .             ! ! !      r8   r   c                     e Zd Z ej         eddd           e ej        dej	                             e ej        dej
                             e ej        dej                             e eddd          ej                   e eddd          ej                   e eddd          ej                   e eddd          ej                  g          d             Zd	 Zd
 Zd Zd Zd Zd Zd Zej                            dej        ej        g          d             Zd ZdS )TestNumericBaser   r   r   r   r   r   r-   c                    |j         S r0   r1   r3   s     r6   r7   zTestNumericBase.simple_index  s     }r8   c                .   t          |t                    rt          j        d           t	          |          }|j        }t          ddg|          } ||          }t          j        ddg|j                  }t          j
        |j        |           d S )Nrd   r#   r   r   )r=   r   r>   r?   rC   r    r   r   r   r^   r   ri   )r4   r7   	index_clsr    rK   ra   r`   s          r6   test_constructor_unwraps_indexz.TestNumericBase.test_constructor_unwraps_index  s    lJ// 	-K+,,,&&	"QF%(((38QF#)444
#FL(;;;;;r8   c                L    |}|d         }|                     |          du sJ d S )Nr   F)$_can_hold_identifiers_and_holds_name)r4   r7   rK   keys       r6   test_can_hold_identifiersz)TestNumericBase.test_can_hold_identifiers  s5    !f77<<EEEEEEr8   c                   t          |t                    rt          j        d           t	          |          }|j        } |g |d          }|                                }|j        dk    sJ |                    |          }t          j	        | ||d          d           |                    |          }t          j	        | ||d          d           d S )Nrd   Foo)r    rO   rN   Tr   )
r=   r   r>   r?   rC   r    viewrO   r^   r_   )r4   r7   r  r    rK   idx_views         r6   	test_viewzTestNumericBase.test_view  s    lJ// 	-K+,,,&&	"i%e44488::}%%%%88E??
c99XE#B#B#B$OOOO88I&&
c99XE#B#B#B$OOOOOOr8   c                    t          |t                    rt          j        d           |}t	          d |D                       fd|D             }|                                |k    sJ d S )Nr   c              3  N   K   | ] }t          t          |                    V  !d S r0   )r   r   r   s     r6   	<genexpr>z.TestNumericBase.test_format.<locals>.<genexpr>  s.      11CFF111111r8   c                T    g | ]$}t          |                                        %S r   )r   ljust)r   r   	max_widths     r6   r   z/TestNumericBase.test_format.<locals>.<listcomp>  s+    999CFFLL++999r8   )r=   r
   r>   r?   maxr   )r4   r7   rK   r`   r  s       @r6   r   zTestNumericBase.test_format  s    lM22 	,K*+++11S11111	9999S999zz||x''''''r8   c                    |}|                     d|d                   }t          |d         gt          |          z   |j                  }t	          j        ||d           d S )Nr   r   Tr   )r   r   r   r    r^   r_   )r4   r7   r   ra   r`   s        r6   test_insert_non_naz"TestNumericBase.test_insert_non_na  sc     aq**%(d5kk1EEE
fhd;;;;;;r8   c                   |}|}|t           j        u rAt          |d         t           j        gt          |dd                    z   t                    }n_t          |d         t
          j        gt          |dd                    z             }|j        j        dk    rt          ||j                  }|	                    d|          }t          j        ||d           d S )Nr   r#   r   r.  Tr   )r   rU  r   r   rY   r   r  r    rt   r   r^   r_   )r4   nulls_fixturer7   r   na_valr`   ra   s          r6   test_insert_nazTestNumericBase.test_insert_na  s    RVeAh/$uQRRy//APPPHHeAh/$uQRRy//ABBH{3&& ===a((
fhd;;;;;;r8   c                   t          |          }|t          u rt          d          }n |t          j        dd                    }t          j        dd          dz  }t	          |t          j                  }|dz  }t          j        ||           d|z  }t          j        ||           t	          |t          j                  }t          j        dd          }||z
  }t          j        ||           t	          | t          j                  }t          j        dd          }||z
  }t          j        ||           d S )Nr   r  r   g	@r  )	rC   r   r   r   r   r  r^   r_   r  )	r4   r7   r  rK   arrr`   fidxr"   ra   s	            r6   $test_arithmetic_explicit_conversionsz4TestNumericBase.test_arithmetic_explicit_conversions  s@    &&	
""Q--CC)BIaw77788C i)))C/BJ///Sy
dH---Sy
dH--- BJ///HQi(((
fh///#RZ000HQi(((T
fh/////r8   complex_dtypec                v    |                     |          }t          |          t          u r|j        |k    sJ d S r0   )r   rC   r   r    )r4   r  r7   ra   s       r6   test_astype_to_complexz&TestNumericBase.test_astype_to_complex  s>    $$]33F||u$$)F)F)F)F)F)Fr8   c                   t          |t                    rt          j        d            t	          |          g d|j                  } t	          |          g d|j                  }t          j        ||           d S )Nz.casting of strings not relevant for RangeIndex)012r   )r   r#   r   )r=   r   r>   r?   rC   r    r^   r_   )r4   r7   ra   r`   s       r6   test_cast_stringz TestNumericBase.test_cast_string  s    lJ// 	JKHIII#l##OOO<;MNNN%4%%iii|7IJJJ
fh/////r8   N)rG   r  r  r>   r  r   r   r   r   r  r  r  r\  r  r  r  r  r7   r  r  r  r   r  r  r  r  r  	complex64
complex128r  r  r   r8   r6   r  r    s       V^JQRa000E)")ARZ00011E)")ARZ00011E)")ARY///00E%%2q//222E%%2q//222E%%2q//222E%%2q//111	
    	< 	< 	<F F F
P P P ( ( (< < << < < 0 0 08 [_r|R].KLLG G MLG
0 0 0 0 0r8   r  )#
__future__r   r   rB  numpyr   r>   pandas._libs.tslibsr   pandas.core.dtypes.commonr   r   pandas.core.dtypes.dtypesr   pandasr   r	   r
   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr^   pandas.core.arraysr   r   r  r   r8   r6   <module>r     s   " " " " " "       				      ) ) ) ) ) )        7 6 6 6 6 6                                      . . . . . .` ` ` ` ` ` ` `Fz0 z0 z0 z0 z0 z0 z0 z0 z0 z0r8   