
    Pik                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlZd dlmZ d dlmZ  G d d          ZdS )	    N)Dtype)is_bool_dtype)NumpyEADtype)na_value_for_dtype)nargsortc                   0   e Zd ZU dZd Zd Zej                            dddg          d             Z	d Z
d	 Zd
 Zd Zej                            dddg          d             Zd Zd Zd Zd Zej                            dddg          d             Zej                            dddg          d             Zej                            dg d          d             Zd Zej                            dd ej        g d ej        d           !          fd" ej        g d# ej        d           !          fg          d$             Zej                            d%ddg          d&             Zej                            d%ddg          d'             Zej                            d%ddg          d(             Zej                            d)g d*          d+             Zej                            d,ej         d- g          ej                            dd. ej!        g          d/                         Z"d0 Z#d1 Z$d2 Z%d3 Z&d4 Z'd5 Z(d6 Z)d7 Z* e+d8          Z,e-e.d9<   d: Z/d; Z0d< Z1d= Z2ej                            d>ddg          ej                            d?d@g dAfdBg dCfdDg dEfg          dF                         Z3dG Z4ej                            dHdId@g          dJ             Z5ej                            d?dKdLdLggdLdIdLggdBdBdIggdIdLdBggdMdLdLggg          dN             Z6ej                            dHg dO          dP             Z7dQ Z8dR Z9dS Z:dT Z;dU Z<dV Z=dW Z>ej                            dXdBdIdDg dYg          dZ             Z?ej                            d[dDd\dIie@d\fdLi e@d]fdIdDgi e@d^fdDd_d`ieAdafg          db             ZBdc ZCdd ZDde ZEdf ZFej                            d,ej        ej         ejG        g          dg             ZHdh ZIdS )iBaseMethodsTestsz%Various Series and DataFrame methods.c                     ddl m} |                    d|d          }|j        t          j        k    sJ |j        |j        k    sJ d S )Nr   )_default_hash_keyzutf-8F)encodinghash_key
categorize)pandas.core.util.hashingr   _hash_pandas_objectdtypenpuint64shape)selfdatar   ress       w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/extension/base/methods.pytest_hash_pandas_objectz(BaseMethodsTests.test_hash_pandas_object   sj     	?>>>>>&&'8U ' 
 
 yBI%%%%yDJ&&&&&&    c                     t          |d          s$t          j        dt          |                      t	          j        |j                  }|j        d         }|j        du sJ d S )Nvalue_countsz$value_counts is not implemented for dropnaT)	hasattrpytestskiptypeinspect	signaturer   
parametersdefault)r   r   sigkwargs       r    test_value_counts_default_dropnaz1BaseMethodsTests.test_value_counts_default_dropna    sl    t^,, 	MKKtDzzKKLLL 122x(}$$$$$$r   r   TFc                 X   |r||                                           }n|}t          j        |                              |                                          }t          j        |                              |                                          }t          j        ||           d S )N)r   )isnapdSeriesr   
sort_indextmassert_series_equal)r   all_datar   otherresultexpecteds         r   test_value_countsz"BaseMethodsTests.test_value_counts(   s     	hmmoo-.EEE8$$111@@KKMM9U##000??JJLL
vx00000r   c                    |                                 }t          j        ||                                                    }t	          j        ||j                  }|                    d                                          }t          |t          j
                  s>t	          j        dt          |          z  gt          |          z  |j        d          }n5t	          j        d|j        d          }dt          |          z  ||dk    <   t          |j        t          j                  r.|j        j        t          j        u r|                    d	          }nt#          |j        d
d          dk    st          |j        t          j                  r|                    d          }n5t'          |j                  t          j        u r|                    d          }t+          j        ||           d S )Nr   T)	normalize   
proportion)indexnameg        r   float64storage pyarrowzdouble[pyarrow]Float64)uniquer   arrayr*   r+   r,   r   r   r-   
isinstanceCategoricallenr:   StringDtypena_valuenanastypegetattr
ArrowDtyper   NAr.   r/   )r   r   valuesserr2   r3   s         r    test_value_counts_with_normalizez1BaseMethodsTests.test_value_counts_with_normalize4   s   {{}}$		|,--iDJ///!!D!11<<>>$// 	3yS[[!CKK/v|,  HH yFL|LLLH#$s6{{?HVaZ dj".11 
	2dj6IRV6S6Sy11HHTZB//9<<
JA
 A
<  '899HH
++ru44y11H
vx00000r   c                     t          j        d|i          }|                    d          }t          j        ddg          }t	          j        ||           d S )NAcolumnsaxisr   r8   )r+   	DataFramecountr,   r.   r/   )r   data_missingdfr2   r3   s        r   
test_countzBaseMethodsTests.test_countR   sU    \3-..y))9aV$$
vx00000r   c                 j    t          j        |          }|                                }d}||k    sJ d S )Nr8   )r+   r,   rV   )r   rW   rN   r2   r3   s        r   test_series_countz"BaseMethodsTests.test_series_countX   s:    i%%!!!!!!r   c                     t          j        |                              t                    }t	          |t           j                  sJ d S N)r+   r,   applyidrC   r   r   r2   s      r   test_apply_simple_seriesz)BaseMethodsTests.test_apply_simple_series_   s;    4&&r**&"),,,,,,,r   	na_actionNignorec                     |                     d |          }|                                }t          j        ||           d S )Nc                     | S r]    xs    r   <lambda>z+BaseMethodsTests.test_map.<locals>.<lambda>e   s    A r   )rb   )mapto_numpyr.   assert_numpy_array_equal)r   rW   rb   r2   r3   s        r   test_mapzBaseMethodsTests.test_mapc   sF    !!++!CC((**
#FH55555r   c                     t          j        |                                          }t          j        t          j        g dt          j                            }t          j        ||           d S N   r   r8   r6   r+   r,   argsortr   rB   intpr.   r/   )r   data_for_sortingr2   r3   s       r   test_argsortzBaseMethodsTests.test_argsorti   s[    +,,44669RXiiirw???@@
vx00000r   c                     |                                 }t          j        g dt          j                  }t	          j        ||           d S ro   )rs   r   rB   rt   r.   rl   r   data_missing_for_sortingr2   r3   s       r   test_argsort_missing_arrayz+BaseMethodsTests.test_argsort_missing_arrayo   sF    )11338IIIRW555
#FH55555r   c                     t          j        |                                          }t          j        t          j        g dt          j                            }t          j        ||           d S ro   rr   rx   s       r   test_argsort_missingz%BaseMethodsTests.test_argsort_missingu   s[    344<<>>9RXiiirw???@@
vx00000r   c                    |j         j        }d}d}|rd}d}|                                |k    sJ |                                dk    sJ |                    g d          }|                                |k    sJ |                                dk    sJ |                                dk    sJ |                                dk    sJ d S )Nr8      r   rq   )rq   r   r   r8   r8   rq   )r   _is_booleanargmaxargmintake)r   ru   ry   rG   is_bool
exp_argmaxexp_argmax_repeatedr   s           r   test_argmin_argmaxz#BaseMethodsTests.test_argmin_argmaxz   s    "(4
 	$J"#  &&((J6666&&((A----  $$%7%7%788{{}} 33333{{}}!!!! (..00A5555'..00A555555r   methodr   r   c                     d}t          j        t          |          5   t          |d d         |                       d d d            d S # 1 swxY w Y   d S )Nattempt to getmatchr   )r   raises
ValueErrorrJ   )r   r   r   err_msgs       r   test_argmin_argmax_empty_arrayz/BaseMethodsTests.test_argmin_argmax_empty_array   s     #]:W555 	( 	(%GD!Hf%%'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   !AAAc                     d}t          |                              ||g|j                  }t          j        t
          |          5   t          ||                       d d d            d S # 1 swxY w Y   d S )Nr   r6   r   )r!   _from_sequencer   r   r   r   rJ   )r   r   r   rG   r   data_nas         r   test_argmin_argmax_all_naz*BaseMethodsTests.test_argmin_argmax_all_na   s     #t**++Xx,@
+SS]:W555 	' 	'$GGV$$&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   	A//A36A3zop_name, skipna, expected))idxmaxTr   )idxminTrq   )r   Tr   )r   Trq   )r   F)r   Fr   )r   Fr   )r   Fr   c                 8   t          j        |          }|dk    rPt          j        t          d          5   t          ||          |           d d d            d S # 1 swxY w Y   d S  t          ||          |          }t          j        ||           d S )Nr   Encountered an NA valuer   skipna)r+   r,   r   r   r   rJ   r.   assert_almost_equal)r   ry   op_namer   r3   rN   r2   s          r   test_argreduce_seriesz&BaseMethodsTests.test_argreduce_series   s    " i011r>>z1JKKK 5 5%W%%V44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +WS'**&999F"6844444s   AA"%A"c                 0   |}t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r   Fr   )r   r   r   r   r   )r   ry   r   s      r   +test_argmax_argmin_no_skipna_notimplementedz<BaseMethodsTests.test_argmax_argmin_no_skipna_notimplemented   s   ']:-FGGG 	& 	&KKuK%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& ]:-FGGG 	& 	&KKuK%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s#   AAA'BBBzna_position, expectedlastrp   rt   r6   firstr8   rq   r   c                 R    t          ||          }t          j        ||           d S )N)na_position)r   r.   rl   )r   ry   r   r3   r2   s        r   test_nargsortzBaseMethodsTests.test_nargsort   s0     2LLL
#FH55555r   	ascendingc                    t          j        |          }|                    ||          }|j        g d         }|s7|                                dk    r|j        g d         }n|j        g d         }t          j        ||           d S )Nr   keyrp   rq   )r   r8   rq   )r8   r   rq   )r+   r,   sort_valuesilocnuniquer.   r/   )r   ru   r   sort_by_keyrN   r2   r3   s          r   test_sort_valuesz!BaseMethodsTests.test_sort_values   s    i())9+FF8III& 	/{{}}!!8III.8III.
vx00000r   c                     t          j        |          }|                    ||          }|r|j        g d         }n|j        g d         }t	          j        ||           d S )Nr   rp   )r   rq   r8   )r+   r,   r   r   r.   r/   )r   ry   r   r   rN   r2   r3   s          r   test_sort_values_missingz)BaseMethodsTests.test_sort_values_missing   sl     i0119+FF 	+x			*HHx			*H
vx00000r   c                     t          j        g d|d          }|                    ddg          }t          j        g d|                    g d          dg d          }t	          j        ||           d S )N)r8   rq   r8   rQ   BrQ   r   )r8   r8   rq   rp   r:   )r+   rU   r   r   r.   assert_frame_equal)r   ru   r   rX   r2   r3   s         r   test_sort_values_framez'BaseMethodsTests.test_sort_values_frame   s    \			0@AABBc
++<))"2"7"7			"B"BCC999
 
 
 	fh/////r   keep)r   r   Fc                 *   |                     g d          }|                    |          }|dk    rt          j        g d          }n3|dk    rt          j        g d          }nt          j        g d          }t	          j        ||           d S )Nr   r8   r   r8   )r   r   )FFTTr   TTFF)TTTT)r   
duplicatedr   rB   r.   rl   )r   r   r   arrr2   r3   s         r   test_duplicatedz BaseMethodsTests.test_duplicated   s    ii%%T**7??x : : :;;HHV^^x : : :;;HHx 8 8 899H
#FH55555r   boxc                     | S r]   rf   rg   s    r   ri   zBaseMethodsTests.<lambda>   s    ! r   c                 *    |                                  S r]   )rA   rg   s    r   ri   zBaseMethodsTests.<lambda>  s    !((** r   c                     ||                     |d         |d         g|j                            } ||          }t          |          dk    sJ t          |t	          |                    sJ |d         |d         k    sJ d S )Nr   r6   r8   )r   r   rE   rC   r!   )r   r   r   r   r   r2   s         r   test_uniquezBaseMethodsTests.test_unique   s     S,,d1gtAw-?tz,RRSS

##6{{a&$t**-----ayJqM))))))r   c                    t          j        |d          \  }}|j        j        }|r:t	          j        g dt          j                  }|                    ddg          }n9t	          j        g dt          j                  }|                    g d          }t          j	        ||           t          j
        ||           d S )	NTuse_na_sentinel)r   r   r   r   r8   r8   r   r   r6   r      )r   r   r   r   r8   r8   r   rq   )r   r      )r+   	factorizer   r   r   rB   rt   r   r.   rl   assert_extension_array_equal)r   data_for_groupingcodesuniquesr   expected_codesexpected_uniquess          r   test_factorizezBaseMethodsTests.test_factorize  s    &7NNNw#)5 	AX&@&@&@PPPN055q!f==X&@&@&@PPPN055iii@@
#E>:::
'1ABBBBBr   c                 J   t          j        |d          \  }}|                    d          \  }}t          j        ||           t          j        ||           t          |          t          t          j        |                    k    sJ |j        |j        k    sJ d S )NTr   )r+   r   r.   rl   r   rE   rA   r   )r   r   codes_1	uniques_1codes_2	uniques_2s         r   test_factorize_equivalencez+BaseMethodsTests.test_factorize_equivalence  s    \*;TRRR.888NN
#GW555
'	9===9~~RYy%9%9!:!:::::"3"9999999r   c                 :   t          j        |d d                   \  }}t          j        g t          j                  }t          |                              g |d d         j                  }t          j	        ||           t          j
        ||           d S )Nr   r6   )r+   r   r   rB   rt   r!   r   r   r.   rl   r   )r   r   r   r   r   r   s         r   test_factorize_emptyz%BaseMethodsTests.test_factorize_empty#  s    d2A2h//w"BG444::44RtBQBx~4NN
#E>:::
'1ABBBBBr   c                    t          j        d|                    g d          i          }t          j        d|                    g d          i          }|                    |d         d          }t	          j        ||           d S )NrQ   r   r8   r8   r   r8   r8   valuelimit)r+   rU   r   fillnar.   r   )r   rW   rX   r3   r2   s        r   test_fillna_limit_framez(BaseMethodsTests.test_fillna_limit_frame+  s    \3 1 1,,, ? ?@AA<l&7&7&E&E FGGa::
fh/////r   c                    t          j        |                    g d                    }t          j        |                    g d                    }|                    |d         d          }t	          j        ||           d S )Nr   r   r8   r   )r+   r,   r   r   r.   r/   )r   rW   rN   r3   r2   s        r   test_fillna_limit_seriesz)BaseMethodsTests.test_fillna_limit_series2  sv    i)),,,77889\..|||<<==,q/;;
vx00000r   c                 
   |                     ddg          }t          j        d|i          }|                                }|j        d         }|                    |          }||j        d<   t          j        ||           d S )Nr8   rQ   )r   r   )r   r+   rU   copyr   r   r.   r   )r   rW   r   rX   df_orig
filled_valr2   s          r   test_fillna_copy_framez'BaseMethodsTests.test_fillna_copy_frame9  sz    A''\3*%%''))WT]
:&&&D
b'*****r   c                     |                     ddg          }t          j        |d          }|                                }|d         }|                    |          }||j        d<   t          j        ||           d S )Nr8   F)r   r   )r   r+   r,   r   r   r   r.   r/   )r   rW   r   rN   ser_origr   r2   s          r   test_fillna_copy_seriesz(BaseMethodsTests.test_fillna_copy_seriesE  sx    A''i%(((88::V
J''#A
sH-----r   c                     d}t          j        t          |          5  |                    |                    dg                     d d d            d S # 1 swxY w Y   d S )Nz!Length of 'value' does not match.r   r8   )r   r   r   r   r   )r   rW   msgs      r   test_fillna_length_mismatchz,BaseMethodsTests.test_fillna_length_mismatchP  s    1]:S111 	8 	8 1 11# 6 6777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   *AAAbool_combine_le_expected_dtypec                     |d          \  }}t          j        |          }t          j        |          }|                    |d           }t          j        t          j        d t	          t          |          t          |          d          D             | j                            }t          j        ||           |j	        d         |                    d           }t          j        t          j        fd	t          |          D             | j                            }t          j        ||           d S )
Nrq   c                     | |k    S r]   rf   x1x2s     r   ri   z2BaseMethodsTests.test_combine_le.<locals>.<lambda>^  s
    rRx r   c                      g | ]\  }}||k    S rf   rf   .0abs      r   
<listcomp>z4BaseMethodsTests.test_combine_le.<locals>.<listcomp>a  s0       A F  r   Tstrictr6   r   c                     | |k    S r]   rf   r   s     r   ri   z2BaseMethodsTests.test_combine_le.<locals>.<lambda>k  s
    b r   c                     g | ]}|k    	S rf   rf   )r   r   vals     r   r   z4BaseMethodsTests.test_combine_le.<locals>.<listcomp>n  s    444ac444r   )
r+   r,   combinerB   ziplistr   r.   r/   r   )	r   data_repeated
orig_data1
orig_data2s1s2r2   r3   r   s	           @r   test_combine_lez BaseMethodsTests.test_combine_leX  sS    "/q!1!1
JYz""Yz""B 7 7889H "%d:&6&6Z8H8HQU"V"V"V   5  
 
 	vx000gajC!8!8999H44444
#3#34445  
 
 	vx00000r   c           	      H   t          t          |                    rP|                    d t          t	          |          t	                    d          D             |j                  S |                    fdt	          |          D             |j                  S )Nc                     g | ]
\  }}||z   S rf   rf   r   s      r   r   z?BaseMethodsTests._construct_for_combine_add.<locals>.<listcomp>w  s     OOO6AqQOOOr   Tr   r6   c                     g | ]}|z   S rf   rf   )r   r   rights     r   r   z?BaseMethodsTests._construct_for_combine_add.<locals>.<listcomp>|  s    ///qU///r   )rC   r!   r   r   r   r   )r   leftr
  s     `r   _construct_for_combine_addz+BaseMethodsTests._construct_for_combine_addt  s    eT$ZZ(( 		&&OOSdT%[[%N%N%NOOOj '   
 &&////DJJ///j '   r   c                     |d          \  }}t          j        |          }t          j        |          }	 t          j        d          5  |                     ||          }d d d            n# 1 swxY w Y   nY# t
          $ rL t          j        t
                    5  |                    |d            d d d            n# 1 swxY w Y   Y d S w xY wt          j        |          }|                    |d           }t          j
        ||           |j        d         }	|                    |	d           }|                     ||	          }t          j        |          }t          j
        ||           d S )Nrq   rc   )overc                     | |z   S r]   rf   r   s     r   ri   z3BaseMethodsTests.test_combine_add.<locals>.<lambda>  s
    b2g r   c                     | |z   S r]   rf   r   s     r   ri   z3BaseMethodsTests.test_combine_add.<locals>.<lambda>  s
    rBw r   r   c                     | |z   S r]   rf   r   s     r   ri   z3BaseMethodsTests.test_combine_add.<locals>.<lambda>  s
    R r   )r+   r,   r   errstater  	TypeErrorr   r   r   r.   r/   r   )
r   r  r  r  r  r  r   r3   r2   r   s
             r   test_combine_addz!BaseMethodsTests.test_combine_add  s   !.q!1!1
JYz""Yz""	(+++ N N55j*MMN N N N N N N N N N N N N N N 	 	 	 y)) 7 7

2556667 7 7 7 7 7 7 7 7 7 7 7 7 7 7FF	 9S>>B 6 677
vx000gajC!7!788--j#>>9S>>
vx00000sY   A< A0$A< 0A44A< 7A48A< <#CC7CC	C
C	CCc                 
   t          j        |d d                   }t          j        |dd         g d          }|                    |          }t          j        |d d                   }t          j        ||           d S )Nr~   rq      )rq   r~   r   r   )r+   r,   combine_firstr.   r/   )r   r   r   r   r2   r3   s         r   test_combine_firstz#BaseMethodsTests.test_combine_first  sz    Id2A2hId1Q3iyyy111##9T"1"X&&
vx00000r   framezperiods, indices)rq   r~   r   r   r   r   )r   r8   rq   r~   r   rq   )r   r   r   r8   rq   c                    |d d         }t          j        |d          }t          j        |                    |d          d          }|r|                    d                              d                              |          }t          j        |t          j        dgdz  d                              |          gd	          }t          j        }n!|                    |          }t          j	        } |||           d S )
Nr  rQ   r;   T
allow_fillr8   )r   r   rS   )
r+   r,   r   to_frameassignshiftconcatr.   r   r/   )	r   r   r  periodsindicessubsetr3   r2   compares	            r   test_container_shiftz%BaseMethodsTests.test_container_shift  s    bqbyc***9V[[T[BBMMM 	-]]],,33a388>>wGGFy29aS1W3777==gFFGa  H +GGZZ((F,G!!!!!r   c                     |                     d          }|d         |d         k    sJ |d         |d<   |d         |d         k    sJ d S )Nr   r8   r!  r`   s      r   test_shift_0_periodsz%BaseMethodsTests.test_shift_0_periods  sV    AAw$q'!!!!q'QayF1I%%%%%%r   r#  r8   c                    |d d         }t          |j                  rt          j        }nt          j        }	  |||           n4# t
          $ r' t          j        t          |           d           Y nw xY wt          j
        |          }|                    |          }t          j
         |||                    |                              }t          j        ||           t          j        |dgdz  d          }|                    |          }|dk    rt           j        ddddg}ndddt           j        t           j        g}t          j        ||d          }t          j        ||           d S )Nr  z does not support diffg      ?r   r8   r   )r   r   operatorxorsub	Exceptionr   r    r!   r+   r,   diffr!  r.   r/   rU   r   rH   r   )	r   r   r#  opsr2   r3   rX   r   s	            r   	test_diffzBaseMethodsTests.test_diff  sl   BQBx$$ 	BBB	?BtTNNNN 	? 	? 	?K4::===>>>>>	?IdOO9RRdjj&9&9::;;
vx000\C5195566!!a<<Aq!$AAAq"&"&)A<hQ 7 788
fh/////s   A .A76A7r   r   c                     |d d         }|                     |          }|                    |d          }t          j        ||           d S )Nrq   Tr  r!  r   r.   r   )r   r   r#  r$  r%  r2   r3   s          r   test_shift_non_empty_arrayz+BaseMethodsTests.test_shift_non_empty_array  sP     bqbg&&;;w4;88
'99999r   )r4  r   r   r8   r   c                 r    |d d         }|                     |          }|}t          j        ||           d S )Nr   )r!  r.   r   )r   r   r#  emptyr2   r3   s         r   test_shift_empty_arrayz'BaseMethodsTests.test_shift_empty_array  s@     RaRW%%
'99999r   c                     |                     d          }||usJ |d d                              d          }||usJ d S )Nr   rq   r)  r`   s      r   test_shift_zero_copiesz'BaseMethodsTests.test_shift_zero_copies  sR    AT!!!!bqb""T!!!!!!r   c                 6   |d d         }|d         }|                     d|          }|                    g d          }t          j        ||           |                     d|          }|                    g d          }t          j        ||           d S )Nr   r   r8   )
fill_value)r   r   r8   rq   r  )rq   r~   r   r   r6  )r   r   r   r>  r2   r3   s         r   test_shift_fill_valuez&BaseMethodsTests.test_shift_fill_value  s    2A2h!W
14499\\\**
'9992*5599\\\**
'99999r   c                     t          j        t          d          5  t          |           d d d            d S # 1 swxY w Y   d S )Nzunhashable typer   )r   r   r  hashr   r   s     r   test_not_hashablez"BaseMethodsTests.test_not_hashable  s    ]9,=>>> 	 	JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   9= =c                     t          j        |          }|r|                                }t           j                            |          }t           j                            |          }t          j        ||           d S r]   )r+   r,   r  utilhash_pandas_objectr.   assert_equal)r   r   as_framer   r   s        r   test_hash_pandas_object_worksz.BaseMethodsTests.test_hash_pandas_object_works  sf    y 	#==??DG&&t,,G&&t,,
1r   c                 (   |j         j        r|                     ||          S |\  }}}|                    g d          }|rt	          j        |          }|                    |          dk    sJ |                    |d          dk    sJ |                    |          dk    sJ |                    |d          dk    sJ |                    |          dk    sJ |                    |d          dk    sJ |                    |                    ddg                    }t          j        ddgt          j	                  }t          j        ||           t          j        g d	          }	|                    ||	
          dk    sJ d S )Nrp   r   r
  sider8   rq   r~   r6   r   sorter)r   r   _test_searchsorted_bool_dtypesr   r+   r,   searchsortedr   rB   rt   r.   rl   )
r   ru   	as_seriesr   cr   r   r2   r3   rN  s
             r   test_searchsortedz"BaseMethodsTests.test_searchsorted  s   !- 	T667GSSS"1a##III.. 	!)C..C""a''''00A5555""a''''00A5555""a''''00A5555!!#((Aq6"2"2338QF"'222
#FH555 )))$$,,Qv,>>!CCCCCCr   c                    |j         }t          j        ddg|          }|\  }}t          |                              ||g|          }|rt          j        |          }|                    |          dk    sJ |                    |d          dk    sJ |                    |          dk    sJ |                    |d          dk    sJ |                    |                    ddg                    }t          j        ddgt          j	                  }t          j        ||           t          j        ddg          }	|                    ||		          dk    sJ d S )
NTFr6   r   r
  rK  r8   rq   rM  )r   r+   rB   r!   r   r,   rP  r   r   rt   r.   rl   )
r   ru   rQ  r   r   r   r   r2   r3   rN  s
             r   rO  z/BaseMethodsTests._test_searchsorted_bool_dtypes+  s}    !&8T5M???1#$$33QF%3HH 	!)C..C""a''''00A5555""a''''00A5555!!#((Aq6"2"2338QF"'222
#FH555 1a&!!,,Qv,>>!CCCCCCr   c                 "   |d         |d         k    sJ t          |          }|d d         \  }}t          j        |                    ||||g|j                            }|                                }t          j        g d          }	|r,|                    d          }|		                    dd          }	|
                    |	          }
t          j        |                    ||||g|j                            }|r|                    d          }t          j        |
|           |                    |	 d	
           t          j        ||           |                                }|r|                    d          }t          j        g d          }	|                    ||||g|j                  }|r,t          j        d|i          }t          j        d|	i          }	|
                    |	|          }
t          j        |                    ||||g|j                            }|r|                    d          }t          j        |
|           |                    |	 |d	
           t          j        ||           d S )Nr   r8   rq   r6   r   r   r  r   T)inplace)TFTT)r!   r+   r,   r   r   r   r   rB   r  reshapewherer.   rG  maskrU   )r   r   rG   rH  clsr   r   origrN   condr2   r3   r1   s                r   test_where_seriesz"BaseMethodsTests.test_where_seriesE  s   Aw$q'!!!!4jjBQBx1y++Q1aL
+KKLLiikkx22233 	',,C,((C<<A&&D491h9LL
 
  	3((c(22H
)))$%%%
X&&& iikk 	),,C,((Cx11122""Aq!Q<tz"BB 	-L#u..E<d,,D4''9S//Aq!DJ/OOPP 	3((c(22H
)))$t,,,
X&&&&&r   repeats)r8   rq   r~   c                 :   t          |                              |d d         |j                  }|rt          j        |          }|rt          j        ||          n|                    |          }t          |t                    r|gdz  n|}d t          ||d          D             }t          |                              ||j                  }|r.t          j        ||j
                            |                    }t          j        ||           d S )Nr~   r6   c                 <    g | ]\  }}t          |          D ]}|S rf   )range)r   rh   n_s       r   r   z0BaseMethodsTests.test_repeat.<locals>.<listcomp>y  s0    SSS$!Q%PQ((SSQASSSSr   Tr   r   )r!   r   r   r+   r,   r   repeatrC   intr   r:   r.   rG  )r   r   r^  rQ  	use_numpyr   r2   r3   s           r   test_repeatzBaseMethodsTests.test_repeatp  s   4jj''RaR
'CC 	!)C..C,5N3(((3::g;N;N#-gs#;#;H7)a--SS#c74"@"@"@SSS::,,XTZ,HH 	Ly1A1A'1J1JKKKH
)))))r   zrepeats, kwargs, error, msgrT   negativer   foobarz'foo'c                     t          j        ||          5  |rt          j        ||fi | n |j        |fi | d d d            d S # 1 swxY w Y   d S )Nr   )r   r   r   rd  )r   r   r^  kwargserrorr   rf  s          r   test_repeat_raisesz#BaseMethodsTests.test_repeat_raises  s     ]5,,, 	/ 	/ /	$2262222G..v...		/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   %A		AAc                 "   |                     d          }|dd          }t          j        ||           |                     ddg          }|                    |dg         |dg         |dd          g          }t          j        ||           d S )Nr   r8   r~   rq   r   )deleter.   r   _concat_same_type)r   r   r2   r3   s       r   test_deletezBaseMethodsTests.test_delete  s    Q8
'999aV$$))49dA3iabb*JKK
'99999r   c                 <   |dd                               d|d                   }t          j        ||           |dd                               t          |dd                     |d                   }t          j        ||           |d d                              d|d                   }t	          j        t          |                    }|dd         |dd <   t          |          dz
  |d<   |                    |          }t          j        ||           d S )Nr8   r   r   r   r  )insertr.   r   rE   r   aranger   )r   r   r2   takerr3   s        r   test_insertzBaseMethodsTests.test_insert  s    abbDG,,
'555abb#d122h--a99
'555 crc!!!T"X..	#d))$$!B$Kabb	t99q=a99U##
'99999r   c                     |}t          j        t          t          f          5  |                    d|           d d d            n# 1 swxY w Y   t          j        t          t          f          5  |                    d|           d d d            n# 1 swxY w Y   t          j        t          t          f          5  |                    t          |          dz
  |           d d d            d S # 1 swxY w Y   d S )Nr   r   r8   )r   r   r  r   rt  rE   )r   r   invalid_scalaritems       r   test_insert_invalidz$BaseMethodsTests.test_insert_invalid  s   ]Iz233 	! 	!KK4   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]Iz233 	! 	!KK4   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]Iz233 	- 	-KKD		At,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s5   AA
A
1BBB?'C33C7:C7c                    t          |          }t          j        t                    5  |                    |dz   |d                    d d d            n# 1 swxY w Y   t          j        t                    5  |                    | dz
  |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 )Nr8   r   g      ?)rE   r   r   
IndexErrorrt  r  )r   r   ubs      r   test_insert_invalid_locz(BaseMethodsTests.test_insert_invalid_loc  s   YY]:&& 	) 	)KKQQ(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) ]:&& 	* 	*KKaa)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9%% 	& 	&KKT!W%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s5    AAA9!B&&B*-B*
C44C8;C8c                    t          |                              |d         gt          |          z  |j                  }t          |                              |gt          |          z  |j                  }t	          j        ||d          }t	          j        ||d          }t	          j        ||d          }|                    |          du sJ |                    |                                          du sJ |                    |          du sJ |                    |          du sJ |d d                             |d d                   du sJ |d d                             |d d                   du sJ |                    d           du sJ |dg                             |d                   du sJ d S )Nr   r6   F)	transposeTrq   r~   )r!   r   rE   r   r.   box_expectedequalsr   )r   r   rG   rQ  r   data2r   s          r   test_equalszBaseMethodsTests.test_equals  s   T

))47)c$ii*?tz)RRt**++XJT,B$*+UUtSE:::se<<</'3%@@@
 {{4  D(((({{499;;''4//// {{5!!U****{{7##u,,,, BQBxtBQBx((E1111 BQBxtBQBx((D0000 {{4  E))))QCyQ((E111111r   c                 |    t          j        |                              t          j        |                    sJ d S r]   )r+   r,   r  rB  s     r   &test_equals_same_data_different_objectz7BaseMethodsTests.test_equals_same_data_different_object  s2    y%%bioo6666666r   )J__name__
__module____qualname____doc__r   r(   r   markparametrizer4   rO   rY   r[   ra   rm   rv   rz   r|   r   r   r   r   r   r   rB   r   r   r   r   r   r   r+   r,   rA   r   r   r   r   r   r   r   r   r   r   r   r   __annotations__r  r  r  r  r'  r*  r3  r7  r:  r<  r?  rC  rI  rS  rO  r]  rg  r   r  rn  rr  rw  r{  r  rU   r  r  rf   r   r   r	   r	      s^        //	' 	' 	'% % % [Xe}55	1 	1 65	11 1 1<1 1 1" " "- - - [[4*:;;6 6 <;6
1 1 16 6 61 1 1
6 6 62 [X(';<<( ( =<( [X(';<<' ' =<' [#		
 		
 		
 
5 
5 
5& & & [XRXiiixrx/?/?@@@Ahbhyyy0@0@AAAB	
 6 6 6
 [[4-881 1 981 [[4-88	1 	1 98	1 [[4-880 0 980 [V%=%=%=>>	6 	6 ?>	6 [URY$<==[X(<(<bi'HII* * JI >=*C C C: : :C C C0 0 01 1 1
+ 
+ 
+	. 	. 	.8 8 8 )5V(<(<<<<1 1 18
 
 
1 1 181 1 1 [WtUm44[
	 1ooo"6<M<M<M8NO " "	  54
"$& & & [YB000 0 1002 [
r2h"q"gQFa"a\ABx=Q : :	 : [Y(9(9(9::: : ;::" " "	: 	: 	:  
  D D D6D D D4)' )' )'V [YAq)))(<==* * >=* [%Z0Z,VRW-	73		
 / / /: : :: : :"
- 
- 
-& & & [URXry",$GHH2 2 IH287 7 7 7 7r   r	   )r"   r,  numpyr   r   pandas._typingr   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   pandas.core.dtypes.missingr   pandasr+   pandas._testing_testingr.   pandas.core.sortingr   r	   rf   r   r   <module>r     s                       3 3 3 3 3 3 2 2 2 2 2 2 9 9 9 9 9 9           ( ( ( ( ( (P7 P7 P7 P7 P7 P7 P7 P7 P7 P7r   