
    .i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y)	    N)Dtype)is_bool_dtype)NumpyEADtype)na_value_for_dtype)nargsortc                      e Zd ZU dZd Zd Zej                  j                  dddg      d        Z	d Z
d	 Zd
 Zd Zej                  j                  dddg      d        Zd Zd Zd Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zej                  j                  dg d      d        Zd Zej                  j                  dd ej0                  g d ej2                  d       !      fd" ej0                  g d# ej2                  d       !      fg      d$        Zej                  j                  d%ddg      d&        Zej                  j                  d%ddg      d'        Zej                  j                  d%ddg      d(        Zej                  j                  d)g d*      d+        Zej                  j                  d,ej@                  d- g      ej                  j                  dd. ejB                  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                  j                  d>ddg      ej                  j                  d?d@g dAfdBg dCfdDg dEfg      dF               Z3dG Z4ej                  j                  dHdId@g      dJ        Z5ej                  j                  d?dKdLdLggdLdIdLggdBdBdIggdIdLdBggdMdLdLggg      dN        Z6ej                  j                  dHg dO      dP        Z7dQ Z8dR Z9dS Z:dT Z;dU Z<dV Z=dW Z>ej                  j                  dXdBdIdDg dYg      dZ        Z?ej                  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                  j                  d,ej0                  ej@                  ej                  g      dg        ZHdh ZIy)iBaseMethodsTestsz%Various Series and DataFrame methods.c                     ddl m} |j                  d|d      }|j                  t        j
                  k(  sJ |j                  |j                  k(  sJ y )Nr   )_default_hash_keyzutf-8F)encodinghash_key
categorize)pandas.core.util.hashingr   _hash_pandas_objectdtypenpuint64shape)selfdatar   ress       a/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/extension/base/methods.pytest_hash_pandas_objectz(BaseMethodsTests.test_hash_pandas_object   sR     	?&&'8U ' 
 yyBII%%%yyDJJ&&&    c                     t        |d      s!t        j                  dt        |              t	        j
                  |j                        }|j                  d   }|j                  du sJ y )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    sZ    t^,KK>tDzlKL 1 12x(}}$$$r   r   TFc                 .   |r||j                             }n|}t        j                  |      j                  |      j	                         }t        j                  |      j                  |      j	                         }t        j                  ||       y )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(   sw    hmmo-.EE8$111@KKM99U#000?JJL
vx0r   c                    |j                         }t        j                  ||j                                   }t	        j
                  ||j                        }|j                  d      j                         }t        |t        j                        s<t	        j
                  dt        |      z  gt        |      z  |j                  d      }n6t	        j
                  d|j                  d      }dt        |      z  ||dkD  <   t        |j                  t        j                        r8|j                  j                  t        j                  u r|j!                  d	      }nt#        |j                  d
d      dk(  s$t        |j                  t        j$                        r|j!                  d      }n6t'        |j                        t        j(                  u r|j!                  d      }t+        j,                  ||       y )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   sd   {{}$		|,-iiDJJ/!!D!1<<>$/yyS[!CK/v||,H yyFLL|LH#$s6{?HVaZ djj"..1djj6I6IRVV6Sy1HTZZB/9<
JJA
  '89H

+ruu4y1H
vx0r   c                     t        j                  d|i      }|j                  d      }t        j                  ddg      }t	        j
                  ||       y )NAcolumnsaxisr   r8   )r+   	DataFramecountr,   r.   r/   )r   data_missingdfr2   r3   s        r   
test_countzBaseMethodsTests.test_countR   sG    \\3-.y)99aV$
vx0r   c                 `    t        j                  |      }|j                         }d}||k(  sJ y )Nr8   )r+   r,   rV   )r   rW   rN   r2   r3   s        r   test_series_countz"BaseMethodsTests.test_series_countX   s.    ii%!!!r   c                     t        j                  |      j                  t              }t	        |t         j                        sJ y 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                 x    |j                  d |      }|j                         }t        j                  ||       y )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   s5    !!+!C((*
##FH5r   c                     t        j                  |      j                         }t        j                  t        j                  g dt        j
                              }t        j                  ||       y N   r   r8   r6   r+   r,   argsortr   rB   intpr.   r/   )r   data_for_sortingr2   r3   s       r   test_argsortzBaseMethodsTests.test_argsorti   sG    +,44699RXXirww?@
vx0r   c                     |j                         }t        j                  g dt        j                        }t	        j
                  ||       y ro   )rs   r   rB   rt   r.   rl   r   data_missing_for_sortingr2   r3   s       r   test_argsort_missing_arrayz+BaseMethodsTests.test_argsort_missing_arrayo   s4    )11388IRWW5
##FH5r   c                     t        j                  |      j                         }t        j                  t        j                  g dt        j
                              }t        j                  ||       y ro   rr   rx   s       r   test_argsort_missingz%BaseMethodsTests.test_argsort_missingu   sG    34<<>99RXXirww?@
vx0r   c                 f   |j                   j                  }d}d}|rd}d}|j                         |k(  sJ |j                         dk(  sJ |j	                  g d      }|j                         |k(  sJ |j                         dk(  sJ |j                         dk(  sJ |j                         dk(  sJ y )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4
J"#  &&(J666&&(A---  $$%78{{} 3333{{}!!! (..0A555'..0A555r   methodr   r   c                     d}t        j                  t        |      5   t        |d d |              d d d        y # 1 sw Y   y xY w)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   sA     #]]:W5 	(%GD!Hf%'	( 	( 	(s	   <Ac                     d}t        |      j                  ||g|j                        }t        j                  t
        |      5   t        ||              d d d        y # 1 sw Y   y xY w)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]]:W5 	'$GGV$&	' 	' 	's   A!!A*zop_name, skipna, expected))idxmaxTr   )idxminTrq   )r   Tr   )r   Trq   )r   F)r   Fr   )r   Fr   )r   Fr   c                    t        j                  |      }|dk(  r8t        j                  t        d      5   t        ||      |       d d d        y  t        ||      |      }t        j                  ||       y # 1 sw Y   y xY w)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   sy    " ii01r>z1JK 5%W%V45 5 +WS'*&9F""684	5 5s   A==Bc                    |}t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j	                  d       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)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   sr    ']]:-FG 	&KKuK%	& ]]:-FG 	&KKuK%	& 	&	& 	&	& 	&s   A0A<0A9<Bzna_position, expectedlastrp   rt   r6   firstr8   rq   r   c                 J    t        ||      }t        j                  ||       y )N)na_position)r   r.   rl   )r   ry   r   r3   r2   s        r   test_nargsortzBaseMethodsTests.test_nargsort   s!     2L
##FH5r   	ascendingc                    t        j                  |      }|j                  ||      }|j                  g d   }|s6|j	                         dk(  r|j                  g d   }n|j                  g d   }t        j                  ||       y )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   sn    ii()9+F88I&{{}!88I.88I.
vx0r   c                     t        j                  |      }|j                  ||      }|r|j                  g d   }n|j                  g d   }t	        j
                  ||       y )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   sT     ii019+Fxx	*Hxx	*H
vx0r   c                     t        j                  g d|d      }|j                  ddg      }t        j                  g d|j                  g d      dg d      }t	        j
                  ||       y )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Bc
+<<"2"7"7	"BC9
 	fh/r   keep)r   r   Fc                    |j                  g d      }|j                  |      }|dk(  rt        j                  g d      }n4|dk(  rt        j                  g d      }nt        j                  g d      }t	        j
                  ||       y )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   sk    ii%T*7?xx :;HV^xx :;Hxx 89H
##FH5r   boxc                     | S r]   rf   rg   s    r   ri   zBaseMethodsTests.<lambda>   s    ! r   c                 "    | j                         S r]   )rA   rg   s    r   ri   zBaseMethodsTests.<lambda>  s    !((* r   c                      ||j                  |d   |d   g|j                              } ||      }t        |      dk(  sJ t        |t	        |            sJ |d   |d   k(  sJ y )Nr   r6   r8   )r   r   rE   rC   r!   )r   r   r   r   r   r2   s         r   test_uniquezBaseMethodsTests.test_unique   su     ,,d1gtAw-?tzz,RS

#6{a&$t*---ayJqM)))r   c                    t        j                  |d      \  }}|j                  j                  }|r;t	        j
                  g dt        j                        }|j                  ddg      }n:t	        j
                  g dt        j                        }|j                  g d      }t        j                  ||       t        j                  ||       y )	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w#))55XX&@PN055q!f=XX&@PN055i@
##E>:
''1ABr   c                 H   t        j                  |d      \  }}|j                  d      \  }}t        j                  ||       t        j                  ||       t        |      t        t        j                  |            k(  sJ |j                  |j                  k(  sJ y )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.888N
##GW5
''	9=9~RYYy%9!::::"3"9"9999r   c                 .   t        j                  |d d       \  }}t        j                  g t        j                        }t        |      j                  g |d d j                        }t        j                  ||       t        j                  ||       y )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#  ss    d2Ah/w"BGG4:44RtBQx~~4N
##E>:
''1ABr   c                     t        j                  d|j                  g d      i      }t        j                  d|j                  g d      i      }|j                  |d   d      }t	        j
                  ||       y )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+  sd    \\3 1 1, ?@A<<l&7&7&E FGa:
fh/r   c                     t        j                  |j                  g d            }t        j                  |j                  g d            }|j                  |d   d      }t	        j
                  ||       y )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  sZ    ii)),7899\..|<=,q/;
vx0r   c                    |j                  ddg      }t        j                  d|i      }|j                         }|j                  d   }|j                  |      }||j                  d<   t        j                  ||       y )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  sl    A'\\3*%'')WWT]
:&&D
b'*r   c                     |j                  ddg      }t        j                  |d      }|j                         }|d   }|j	                  |      }||j
                  d<   t        j                  ||       y )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  se    A'ii%(88:V
J'#A
sH-r   c                     d}t        j                  t        |      5  |j                  |j	                  dg             d d d        y # 1 sw Y   y xY w)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  sE    1]]:S1 	8 1 11# 67	8 	8 	8s   "A		Abool_combine_le_expected_dtypec           
          |d      \  }}t        j                  |      }t        j                  |      }|j                  |d       }t        j                  t        j                  t	        t        |      t        |      d      D cg c]
  \  }}||k   c}}| j                              }	t        j                  ||	       |j                  d   }
|j                  |
d       }t        j                  t        j                  t        |      D cg c]  }||
k  	 c}| j                              }	t        j                  ||	       y c c}}w c c}w )Nrq   c                     | |k  S r]   rf   x1x2s     r   ri   z2BaseMethodsTests.test_combine_le.<locals>.<lambda>^  s
    rRx r   Tstrictr6   r   c                     | |k  S r]   rf   r   s     r   ri   z2BaseMethodsTests.test_combine_le.<locals>.<lambda>k  s
    b r   )
r+   r,   combinerB   ziplistr   r.   r/   r   )r   data_repeated
orig_data1
orig_data2s1s2r2   abr3   vals              r   test_combine_lez BaseMethodsTests.test_combine_leX  s    "/q!1
JYYz"YYz"B 7899HH #&d:&6Z8HQU"VA F 55
 	vx0ggajC!8999HH#'
#34ac455
 	vx0# 5s   
EEc                 R   t        |t        |            rQ|j                  t        t	        |      t	        |      d      D cg c]
  \  }}||z    c}}|j
                        S |j                  t	        |      D cg c]  }||z   	 c}|j
                        S c c}}w c c}w )NTr   r6   )rC   r!   r   r   r   r   )r   leftrightr   r   s        r   _construct_for_combine_addz+BaseMethodsTests._construct_for_combine_addt  s    eT$Z(&&%(dT%[%NO6AqQOjj '  
 &&$(J/qU/jj '  	 P
 0s   B
?B$c                     |d      \  }}t        j                  |      }t        j                  |      }	 t        j                  d      5  | j	                  ||      }d d d        t        j                        }|j                  |d       }t        j                  ||       |j                  d   }	|j                  |	d       }| j	                  ||	      }t        j                  |      }t        j                  ||       y # 1 sw Y   xY w# t
        $ rE t        j                  t
              5  |j                  |d        d d d        Y y # 1 sw Y   Y y xY ww xY w)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
JYYz"YYz"	(+ N55j*MN 99S>B 67
vx0ggajC!78--j#>99S>
vx0#N N 	 y) 7

25677	sA   D D D DD "E 4EE E	E E c                     t        j                  |d d       }t        j                  |dd g d      }|j                  |      }t        j                  |d d       }t        j                  ||       y )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  s^    IId2AhIId1Qiy1#99T"1X&
vx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                  |j                  |d      d      }|r|j                  d      j	                  d      j                  |      }t        j                  |t        j                  dgdz  d      j                  |      gd	      }t        j                  }n!|j                  |      }t        j                  } |||       y )
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     bqyyc*99V[[T[BM]]],33a38>>wGFyy299aS1W37==gFGaH ++GZZ(F,,G!r   c                 j    |j                  d      }|d   |d   k7  sJ |d   |d<   |d   |d   k7  sJ y )Nr   r8   r  r`   s      r   test_shift_0_periodsz%BaseMethodsTests.test_shift_0_periods  sH    AAw$q'!!!q'QayF1I%%%r   r  r8   c                    |d d }t        |j                        rt        j                  }nt        j                  }	  |||       t        j                  |      }|j                  |      }t        j                   |||j                  |                  }t        j                  ||       t        j                  |dgdz  d      }|j                  |      }|dk(  rt         j"                  ddddg}n#dddt         j"                  t         j"                  g}t        j                  ||d      }t        j$                  ||       y # t
        $ r% t        j                  t        |       d       Y .w xY w)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  s)   BQx$BB	?tTN IIdO99Rdjj&9:;
vx0\\C51956!a<Aq!$AAq"&&"&&)A<<hQ 78
fh/  	?KK4:,&<=>	?s   	E *E54E5r   r   c                     |d d }|j                  |      }|j                  |d      }t        j                  ||       y )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  s?     bqg&;;w4;8
''9r   )r-  r   r   r8   r   c                 `    |d d }|j                  |      }|}t        j                  ||       y )Nr   )r  r.   r   )r   r   r  emptyr2   r3   s         r   test_shift_empty_arrayz'BaseMethodsTests.test_shift_empty_array  s2     RaW%
''9r   c                 f    |j                  d      }||usJ |d d j                  d      }||usJ y )Nr   rq   r"  r`   s      r   test_shift_zero_copiesz'BaseMethodsTests.test_shift_zero_copies  s?    AT!!!bq"T!!!r   c                    |d d }|d   }|j                  d|      }|j                  g d      }t        j                  ||       |j                  d|      }|j                  g d      }t        j                  ||       y )Nr   r   r8   )
fill_value)r   r   r8   rq   r  )rq   r~   r   r   r/  )r   r   r   r7  r2   r3   s         r   test_shift_fill_valuez&BaseMethodsTests.test_shift_fill_value  sv    2Ah!W
1499\*
''92*599\*
''9r   c                 z    t        j                  t        d      5  t        |       d d d        y # 1 sw Y   y xY w)Nzunhashable typer   )r   r   r  hashr   r   s     r   test_not_hashablez"BaseMethodsTests.test_not_hashable  s-    ]]9,=> 	J	 	 	s   1:c                     t        j                  |      }|r|j                         }t         j                  j	                  |      }t         j                  j	                  |      }t        j                  ||       y 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  sS    yy==?DGG&&t,GG&&t,
1r   c                    |j                   j                  r| j                  ||      S |\  }}}|j                  g d      }|rt	        j
                  |      }|j                  |      dk(  sJ |j                  |d      dk(  sJ |j                  |      dk(  sJ |j                  |d      dk(  sJ |j                  |      dk(  sJ |j                  |d      dk(  sJ |j                  |j                  ddg            }t        j                  ddgt        j                        }t        j                  ||       t        j                  g d	      }	|j                  ||	
      dk(  sJ y )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   rG  s
             r   test_searchsortedz"BaseMethodsTests.test_searchsorted  sh   !!--667GSS"1a##I.))C.C"a'''0A555"a'''0A555"a'''0A555!!#((Aq6"2388QF"''2
##FH5 )$,,Qv,>!CCCr   c                    |j                   }t        j                  ddg|      }|\  }}t        |      j	                  ||g|      }|rt        j
                  |      }|j                  |      dk(  sJ |j                  |d      dk(  sJ |j                  |      dk(  sJ |j                  |d      dk(  sJ |j                  |j                  ddg            }t        j                  ddgt        j                        }t        j                  ||       t        j                  ddg      }	|j                  ||		      dk(  sJ y )
NTFr6   r   r  rD  r8   rq   rF  )r   r+   rB   r!   r   r,   rI  r   r   rt   r.   rl   )
r   ru   rJ  r   r   r   r   r2   r3   rG  s
             r   rH  z/BaseMethodsTests._test_searchsorted_bool_dtypes+  sA    !&&88T5M?1#$33QF%3H))C.C"a'''0A555"a'''0A555!!#((Aq6"2388QF"''2
##FH5 1a&!,,Qv,>!CCCr   c                    |d   |d   k7  sJ t        |      }|d d \  }}t        j                  |j                  ||||g|j                              }|j                         }t        j                  g d      }	|r$|j                  d      }|	j                  dd      }	|j                  |	      }
t        j                  |j                  ||||g|j                              }|r|j                  d      }t        j                  |
|       |j                  |	 d	
       t        j                  ||       |j                         }|r|j                  d      }t        j                  g d      }	|j                  ||||g|j                        }|r.t        j                  d|i      }t        j                  d|	i      }	|j                  |	|      }
t        j                  |j                  ||||g|j                              }|r|j                  d      }t        j                  |
|       |j                  |	 |d	
       t        j                  ||       y )Nr   r8   rq   r6   r   r   r  r   T)inplace)TFTT)r!   r+   r,   r   r   r   r   rB   r  reshapewherer.   r@  maskrU   )r   r   rG   rA  clsr   r   origrN   condr2   r3   r1   s                r   test_where_seriesz"BaseMethodsTests.test_where_seriesE  s   Aw$q'!!!4jBQx1yy++Q1aL

+KLiikxx23,,C,(C<<A&D4991h9L
 ((c(2H
)$%
X& iik,,C,(Cxx12""Aq!Q<tzz"BLL#u.E<<d,D4'99S//Aq!DJJ/OP((c(2H
)$t,
X&r   repeats)r8   rq   r~   c                 T   t        |      j                  |d d |j                        }|rt        j                  |      }|rt        j                  ||      n|j                  |      }t        |t              r|gdz  n|}t        ||d      D 	cg c]  \  }}t        |      D ]  }	|  }
}}}	t        |      j                  |
|j                        }
|r0t        j                  |
|j                  j                  |            }
t        j                  ||
       y c c}	}}w )Nr~   r6   Tr   r   )r!   r   r   r+   r,   r   repeatrC   intr   ranger:   r.   r@  )r   r   rW  rJ  	use_numpyr   r2   rh   n_r3   s              r   test_repeatzBaseMethodsTests.test_repeatp  s    4j''Ra

'C))C.C,53(3::g;N#-gs#;7)a-"%c74"@SS$!Q%PQ(SQASASS:,,XTZZ,Hyy1A1A'1JKH
) Ts   D#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        y # 1 sw Y   y xY w)Nr   )r   r   r   rY  )r   r   rW  kwargserrorr   r\  s          r   test_repeat_raisesz#BaseMethodsTests.test_repeat_raises  sP     ]]5, 	/		$262G.v.		/ 	/ 	/s   .AAc                     |j                  d      }|dd  }t        j                  ||       |j                  ddg      }|j                  |dg   |dg   |dd  g      }t        j                  ||       y )Nr   r8   r~   rq   r   )deleter.   r   _concat_same_type)r   r   r2   r3   s       r   test_deletezBaseMethodsTests.test_delete  su    Q8
''9aV$))49dA3iab*JK
''9r   c                    |dd  j                  d|d         }t        j                  ||       |dd  j                  t        |dd         |d         }t        j                  ||       |d d j                  d|d         }t	        j
                  t        |            }|dd |dd  t        |      dz
  |d<   |j                  |      }t        j                  ||       y )Nr8   r   r   r   r  )insertr.   r   rE   r   aranger   )r   r   r2   takerr3   s        r   test_insertzBaseMethodsTests.test_insert  s    abDG,
''5ab#d12h-a9
''5 cr!!!T"X.		#d)$!BKab	t9q=a99U#
''9r   c                    |}t        j                  t        t        f      5  |j	                  d|       d d d        t        j                  t        t        f      5  |j	                  d|       d d d        t        j                  t        t        f      5  |j	                  t        |      dz
  |       d d d        y # 1 sw Y   xY w# 1 sw Y   \xY w# 1 sw Y   y xY w)Nr   r   r8   )r   r   r  r   rl  rE   )r   r   invalid_scalaritems       r   test_insert_invalidz$BaseMethodsTests.test_insert_invalid  s    ]]Iz23 	!KK4 	! ]]Iz23 	!KK4 	! ]]Iz23 	-KKD	At,	- 	-	! 	!	! 	!	- 	-s#   B>C
C>C
CCc                    t        |      }t        j                  t              5  |j	                  |dz   |d          d d d        t        j                  t              5  |j	                  | dz
  |d          d d d        t        j                  t
              5  |j	                  d|d          d d d        y # 1 sw Y   |xY w# 1 sw Y   MxY w# 1 sw Y   y xY w)Nr8   r   g      ?)rE   r   r   
IndexErrorrl  r  )r   r   ubs      r   test_insert_invalid_locz(BaseMethodsTests.test_insert_invalid_loc  s    Y]]:& 	)KKQQ(	) ]]:& 	*KKaa)	* ]]9% 	&KKT!W%	& 	&	) 	)	* 	*	& 	&s#   B9CC9CCCc                    t        |      j                  |d   gt        |      z  |j                        }t        |      j                  |gt        |      z  |j                        }t	        j
                  ||d      }t	        j
                  ||d      }t	        j
                  ||d      }|j                  |      du sJ |j                  |j                               du sJ |j                  |      du sJ |j                  |      du sJ |d d j                  |d d       du sJ |d d j                  |d d       du sJ |j                  d       du sJ |dg   j                  |d         du sJ y )Nr   r6   F)	transposeTrq   r~   )r!   r   rE   r   r.   box_expectedequalsr   )r   r   rG   rJ  r   data2r   s          r   test_equalszBaseMethodsTests.test_equals  sx   T
))47)c$i*?tzz)Rt*++XJT,B$**+UtSE:se<//'3%@
 {{4 D((({{499;'4/// {{5!U***{{7#u,,, BQxtBQx(E111 BQxtBQx(D000 {{4 E)))QCyQ(E111r   c                 v    t        j                  |      j                  t        j                  |            sJ y r]   )r+   r,   r{  r;  s     r   &test_equals_same_data_different_objectz7BaseMethodsTests.test_equals_same_data_different_object  s&    yy%%biio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#  r,  r0  r3  r5  r8  r<  rB  rL  rH  rV  r_  r   r  rf  rj  ro  rs  rw  rU   r}  r  rf   r   r   r	   r	      s   /	'% [[Xe}5	1 6	11<1"- [[[4*:;6 <6
161
62 [[X(';<( =( [[X(';<' =' [[#		

5
5& [[XRXXixrxx/?@Ahbhhy0@AB	
66
 [[[4-81 91 [[[4-8	1 9	1 [[[4-80 90 [[V%=>	6 ?	6 [[URYY$<=[[X(<bii'HI* J >*C:C01
+	.8 )5V(<<18
181 [[WtUm4[[
	 1o"6<M8NO"	 5
"$& [[YB00 102 [[
r2h"q"gQFa"a\ABx=Q:	: [[Y(9:: ;:"	:
D6D4)'V [[YAq)(<=* >* [[%Z0Z,VRW-	73		
//::"
-& [[URXXryy",,$GH2 I28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     s2          3 2 9   (P7 P7r   