
    A>i              
          S SK JrJrJr  S SKJr  S SKJrJr  S SK	r	S SK
rS SKrS SKJr  S SKrS SKJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr   \RB                  " S	S S
/SS/S9S 5       r"S r# " S S5      r$ " S S5      r% " S S5      r& " S S5      r' " S S5      r( " S S5      r) " S S5      r*S r+S r,S  r-\R\                  R_                  S!\" S"S#S$9\" S"S%S#S&9\R`                  " S'S#S$9/5      S( 5       r1g))    )date	timedeltatimezone)Decimal)EnumautoN)lib)CategoricalDatetimeTZDtypeIndexSeries	Timedeltabdate_range
date_rangeisna)ops)expressionsTi@B numexprpython)autouseparamsidsc              #      #    UR                  5        nUR                  [        SU R                  5        S v   S S S 5        g ! , (       d  f       g = f7f)N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      b/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/series/test_arithmetic.pyswitch_numexpr_min_elementsr#   "   s5     				!			$7 
		s   A&A	A
AAc                     U R                  [        R                  R                  S5      R	                  [        U 5      5      5      $ N   )takenprandomdefault_rngpermutationlen)objs    r"   _permuter.   )   s/    88BII))!,88SBCC    c            	       z   \ rS rSr\R
                  R                  SS S S4S S S4S S	 S
4S S S
4/5      \R
                  R                  S/ SQ5      S 5       5       rS rS r	\
R                  \R                  S4\
R                  \R                   S4/rS HQ  rSr\" \
\5      r\" \\5      r\" \
S\-   5      r\4S jr\R3                  \\\45        \R3                  \\\45        MS     \R
                  R                  S\5      S 5       r\R
                  R                  SSS/5      S 5       rS rSrg) TestSeriesFlexArithmetic-   tsc                     U $ N xs    r"   <lambda>!TestSeriesFlexArithmetic.<lambda>1       qr/   c                     U S-  $ r%   r6   r7   s    r"   r9   r:   1   s    AEr/   Fc                     U $ r5   r6   r7   s    r"   r9   r:   2   r;   r/   c                     U S S S2   $ r%   r6   r7   s    r"   r9   r:   2   s    AccFr/   c                     U $ r5   r6   r7   s    r"   r9   r:   3   r;   r/   c                     g)N   r6   r7   s    r"   r9   r:   3   s    Ar/   Tc                 D    [        [        S5      [        R                  S9$ N
   dtyper   ranger(   float64r7   s    r"   r9   r:   5       &r"**=r/   c                 D    [        [        S5      [        R                  S9$ rC   rG   r7   s    r"   r9   r:   6   rJ   r/   opname)addsubmulfloordivtruedivpowc                    [        [        R                  " S[        R                  S9[	        SSS9SS9nUS   " U5      nUS   " U5      nUS	   n[        [         U5      n[        [        U5      nU" XE5      n	U" XE5      n
[        R                  " X5        U(       a:  [        [         S
U-   5      nU" XE5      n	U" XT5      n
[        R                  " X5        g g )N   rE   z
2020-01-01periodsr3   indexnamer      r&   r)	r   r(   arangerI   r   getattroperatortmassert_almost_equal)selfrL   r3   tserseriesothercheck_reverseopaltresultexpectedrops               r"   test_flex_method_equivalence5TestSeriesFlexArithmetic.test_flex_method_equivalence.   s    $ IIb

+\26
 At1d1VV$h'F"v%
v0&#,/C'F5)H""64	 r/   c                    ^  " U4S jS[         5      mUn[        [         U5      nT" / SQSS9nSUl        U" US5      nUR                  S:X  d   eg )Nc                   2   > \ rS rSrS/r\U 4S j5       rSrg)ZTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeriesX   r8   c                    > T$ r5   r6   )ra   MySeriess    r"   _constructorgTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeries._constructor[   s    r/   r6   N)__name__
__module____qualname____firstlineno__	_metadatapropertyrs   __static_attributes__)rr   s   r"   rr   ro   X   s    I   r/   rr   rZ   r&      testrY   *   rZ   )r   r]   r8   )ra   all_arithmetic_operatorsrL   rf   r!   rh   rr   s         @r"   /test_flex_method_subclass_metadata_preservationHTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservationV   sP    	 v 	  *VV$YV,Aqxx2~~r/   c                     [        SS[        R                  SSS/5      nUR                  S5      R	                  S5      nUR	                  SSS9n[
        R                  " X25        g )Nr   rZ   r}      rA   r&   
fill_value)r   r(   nanfillnarM   r_   assert_series_equal)ra   serexpress       r"   test_flex_add_scalar_fill_value8TestSeriesFlexArithmetic.test_flex_add_scalar_fill_valuef   sU    aBFFAq!,-jjm"ggaAg&
s(r/   rZ   )rM   rN   rO   rR   rQ   rP   r   r[   c                 .    [        [        U5      " X5      $ r5   )r]   r^   )r8   yrf   s      r"   r9   r:   u   s    WXr%:1%@r/   zop, equiv_op, fvc                    SS jn[        [        R                  SSS[        R                  /[        R                  " S5      S9n[        [        R                  S[        R                  S	[        R                  S
/[        R                  " S5      S9nU" XV5      nU" XV5      n[        R
                  " Xx5        U" XXVUS9  U" XVSS9  g )Nr   c           	      <   UR                   R                  UR                   5      nUR                  U5      nUR                  U5      n[        U5      n[        U5      n/ n[	        [        U5      5       H  n	[        R                  " SS9   Xi   (       aN  Xy   (       a*  UR                  [        R                  5         S S S 5        MT  UR                  U" XCU	   5      5        OsXy   (       aN  Xi   (       a*  UR                  [        R                  5         S S S 5        M  UR                  U" X)   U5      5        OUR                  U" X)   X9   5      5        S S S 5        M     U " X#US9n
[        X5      n[        R                  " X5        g ! , (       d  f       GM'  = f)Nignore)allr   )rX   unionreindexr   rH   r,   r(   errstateappendr   r   r_   r   )methrf   abr   	exp_indexamaskbmask
exp_valuesirh   ri   s               r"   _check_fillDTestSeriesFlexArithmetic.test_operators_combine.<locals>._check_fill{   s9   agg.I		)$A		)$AGEGEJ3y>*[[X.x 8&--bff5$	 /.
 #))"Z1*>? 8&--bff5$ /. #))"QT:*>?"))"QT14.9 /. + !:6Fj4H""64! /.s   3FAF7F
F	      ?g       @g      @rA   rX   rZ   r}         @   r   axis)r   )r   r(   r   r\   r_   r   )	ra   rf   equiv_opfvr   r   r   rh   r   s	            r"   test_operators_combine/TestSeriesFlexArithmetic.test_operators_combiney   s    	58 BFFCc2662"))A,GBFFArvvq"&&#6biilKAqn
v+B!26
1ar/   kinddatetimer   c                    US:X  aI  [        [        R                  " S5      [        R                  " S5      /[        R                  " S5      S9nO.[        [        SS9[        SS9/[        R                  " S	5      S9nUR                  nUR                  X2R                  S
   S9n[        [        R                  " [        U5      [        R                  " S	5      S95      n[        R                  " XE5        g )Nr   z
2025-08-20z
2025-08-21zdatetime64[ns]rE   rZ   daysr&   ztimedelta64[ns]r   r   )r   pd	Timestampr(   rF   r   _valuesrN   iloczerosr,   r_   r   )ra   r   leftrightrh   ri   s         r"   ,test_rhs_extension_array_sub_with_fill_valueETestSeriesFlexArithmetic.test_rhs_extension_array_sub_with_fill_value   s     :l+R\\,-GHhh/0D
 "I1$56hh01D LL 	 %IIaL9"((3t9BHH=N4OPQ
v0r/   c           	      h   [         R                  " S/S/S.[         R                  R                  S/S//SS/S9S	9n[	        / S
Q[         R                  R                  S/S// SQ// SQS9S	9nSn[
        R                  " [        US9   UR                  USS9  S S S 5        g ! , (       d  f       g = f)NrZ   r}   )i  i  r   r   scenmodnamesr   )g      $@g      4@g      >@)r   rZ   r&   )r   r   idz/Series.add does not support a DataFrame `other`matchr   r   )	r   	DataFrame
MultiIndexfrom_productr   pytestraises	TypeErrorrM   )ra   dfr   msgs       r"   test_flex_disallows_dataframe6TestSeriesFlexArithmetic.test_flex_disallows_dataframe   s    \\3qc"--,,secU^FE?,S

 --,,y)1F - 
 @]]9C0GGBQG 100s   	B##
B1r6   N)ru   rv   rw   rx   r   markparametrizerk   r   r   r   divr^   rQ   rdivr   rtruedivpairingsrf   r   r]   loplequivrj   requivr   r   r   r   r{   r6   r/   r"   r1   r1   -   sj   [[/51*E2+t,==			
 [[E5 50 ) X--q1FKKq3QRHAfb!2&fcBh'!#@fb)*fb)* B [[/:% ;%N [[Vj+%>?1 @1* r/   r1   c                   h   \ rS rSrS r\R                  R                  SSSS/SS/4S	SS/S
S/4/5      S 5       rS r	\R                  R                  SS\
" S5      /5      S 5       rS rS rS rS rS rS rS rS rS rS rS r\R                  R                  SSS/5      S  5       rS! rS"rg)#TestSeriesArithmetic   c                    [         R                  " SSSS9n[        [        R                  R                  S5      R                  [        U5      5      US9nX"S S S2   -   nX"-   n[        R                  UR                  SS S2'   [        R                  " X45        U[        US S S2   5      -   n[        R                  " X45        g )N1/1/2000z1/1/2010Yfreqr&   r   rZ   )r   period_ranger   r(   r)   r*   standard_normalr,   r   r   r_   r   r.   )ra   rngr3   rh   ri   s        r"   !test_add_series_with_period_index6TestSeriesArithmetic.test_add_series_with_period_index   s    ooj*3?BII))!,<<SXFcR1g7 ffadd
v0hr#A#w''
v0r/   z%target_add,input_value,expected_value!helloworldzhello!zworld!r!   hellomworldmc                 d    [        U5      nXA-   n[        U5      n[        R                  " XV5        g r5   r   r_   r   )ra   
target_addinput_valueexpected_valuer   rh   ri   s          r"   test_string_addition)TestSeriesArithmetic.test_string_addition   s-     ;.)
v0r/   c                    [        SSS[        R                  // SQS9n[        S[        R                  S[        R                  // SQS9nUR                  U5      n[        X5      n[        R
                  " US   US   5        [        R
                  " US   US   5        UR                  U5      n[        X!5      n[        R
                  " US   US   5        [        R
                  " US   US   5        g )NrZ   )r   r   cdr   r&   )r   r   r   er   )r   r(   r   divmodr_   r   rdivmod)ra   r   r   rh   ri   s        r"   test_divmod TestSeriesArithmetic.test_divmod   s    Aq!RVV$,@AArvvq"&&)1EF!!<
vay(1+6
vay(1+61!<
vay(1+6
vay(1+6r/   rX   N	   c                     [        [        SS5      5      n[        SUS9nSn[        R                  " [        US9   X2-    S S S 5        g ! , (       d  f       g = f)NrZ   rD   foor   zHnot all arguments converted during string formatting|'mod' not supportedr   )r   rH   r   r   r   )ra   rX   s1s2r   s        r"   test_series_integer_mod,TestSeriesArithmetic.test_series_integer_mod   sD     E!RL!E'X]]9C0G 100s   A		
Ac                     [        SS/SS/S9n[        SS/SS/S9nX-   n[        SS[        R                  // SQS9n[        R                  " X45        g )NrZ   r&   r   rD         )rZ   rZ   r&   )r   r(   r   r_   r   )ra   r   r   rh   ri   s        r"   test_add_with_duplicate_index2TestSeriesArithmetic.test_add_with_duplicate_index  sV    QF1a&)RHQF+2r266*)<
v0r/   c           	      :   [        [        S5      [        S5      /[        SSS5      [        SSS5      /S9nXR                  S5      -   nUR                  S5      U-   n[	        UR
                  S   5      (       d   e[	        UR
                  S   5      (       d   eg )Nz1.3z2.3i  rZ   r&   r   r   )r   r   r   shiftr   r   )ra   r   rh   result2s       r"   test_add_na_handling)TestSeriesArithmetic.test_add_na_handling
  s    U^WU^,T$15EtDRSUVGW4X
 yy|#))A,$FKKN####GLLO$$$$r/   c                     [        / [        / 5      [        R                  S9nX-   n[        R                  " U5      R                  5       (       d   eX"-   n[        U5      S:X  d   eg )NrX   rF   r   )r   r   r(   rI   isnanr   r,   )ra   datetime_seriesemptyrh   s       r"   test_add_corner_cases*TestSeriesArithmetic.test_add_corner_cases  sW    rr"**= (xx##%%%%6{ar/   c                     UR                  [        5      S S nX-   n[        UR                  S S UR                  -   UR                  S S SS9n[
        R                  " US S U5        g )Nr3   rW   )astypeintr   valuesrX   r_   r   )ra   r  int_tsaddedri   s        r"   test_add_float_plus_int,TestSeriesArithmetic.test_add_float_plus_int  so     '',Sb1(""3B'&--7!'',

 	uSbz84r/   c                     [        / / [        R                  S9n[        SS05      n[        R                  " X-  [        [        R
                  /S/S95        g )NrE   r8   g        r   )r   r(   int32r_   r   r   )ra   r   r   s      r"   test_mul_empty_int_corner_case3TestSeriesArithmetic.test_mul_empty_int_corner_case(  sC    B"((+S#J
rwxu(EFr/   c           	         [        [        SSSSS95      n[        R                  UR                  S'   US S S2   n[        [        S5      [        S5      [        R                  /S	S
9nX!-
  n[        R                  " XC5        [        USS9nUR                  5       UR                  5       -
  S   n[        R                  " XC5        g )Nz2012-1-1r}   Dns)rV   r   unitr&   r   m8[ns]rE   r   )r   r   r(   r   r   r   r   NaTr_   r   to_frame)ra   dtdt2ri   rh   s        r"   test_sub_datetimelike_align0TestSeriesArithmetic.test_sub_datetimelike_align-  s     Jz13TJKVV
2h9Q<1rvv>hO
v0(+,,.2;;=0!4
v0r/   c                     [        SSSS9nUR                  S5      n[        SUS9n[        SUS9nX4-    UR                  UL d   eUR                  UL d   eg )N
2016-01-01rD   CET)rV   tzUTCr   )r   
tz_convertr   rX   )ra   dtidti_utcr   ser_utcs        r"   test_alignment_doesnt_change_tz4TestSeriesArithmetic.test_alignment_doesnt_change_tz=  sa    re<..'Rs#7+ 	yyC}}'''r/   c                 $   [        / SQ5      n[        SUS9n[        SUS S S9nX#-  nS/S-  S/S-  -   S	/-   n[        R                  " XQR                  S
9nS/S-  [
        R                  /-   n[        Xe5      n[        R                  " XG5        g )N)3z53r5  LoJGr6  r6  N503r&   r   r!  r5  r   r6  r   r7  )
categoriesr      )	r
   r   r   CategoricalIndexr8  r(   r   r_   r   )ra   catser1ser2rh   r   r   ri   s           r"   test_alignment_categorical/TestSeriesArithmetic.test_alignment_categoricalJ  s    JKas#as3Bx(HqLF8a</6(:	''	nnM	URZ266(*
*0
v0r/   c                 z   / SQn[        [        R                  " SSSS9US9n[        [        R                  " SSS9US9nX#-
  n[        S/ SQS9n[        R                  " XE5        [        [        SSS	S
9US9n[        [        SSS	S
9US9nX#-
  n[        [        S5      / SQSS9n[        R                  " XE5        g )N)r&   r&   r}   r}   r   rZ   r   int64rE   r   rA   z20130101 09:00:00r  rV   r   20130101z9 hoursr"  r
  )r   r(   r\   r_   r   r   r   )ra   rX   r   rd   rh   ri   s         r"   $test_arithmetic_with_duplicate_index9TestSeriesArithmetic.test_arithmetic_with_duplicate_indexX  s      RYYq!735Aryy'2%@!?3
v0 Z 3QTJRWXz*adC5Q)I.oXV
v0r/   c                     [        S[        R                  /SS9n[        SS/SS9nX-  n[        S[        R                  /SS9n[
        R                  " X45        g )Nr   floatrE   rZ   Int64Float64)r   r(   r   r   NAr_   r   ra   r<  r=  rh   ri   s        r"   'test_masked_and_non_masked_propagate_na<TestSeriesArithmetic.test_masked_and_non_masked_propagate_naj  sO    q"&&k1q!fG,1bee*I6
v0r/   c                 2   [        S[        R                  SS/SS9n[        SS[        R                  S/5      nX-  n[        S[        R                  [        R                  S/SS9n[
        R                  " X45        X!-  n[
        R                  " X45        g )N   rA   r   rH  rE   r   rI  )r   r   rJ  r(   r   r_   r   rK  s        r"   +test_mask_div_propagate_na_for_non_na_dtype@TestSeriesArithmetic.test_mask_div_propagate_na_for_non_na_dtyper  sy    r255!Q'w7r1bffa()3ruuc2)D
v0
v0r/   valr}   g      @c                     [        / SQSS9nUSS U/-   n[        S[        R                  SU-   /SS9n[        R                  " X45        SS U/U-   n[        R                  " X45        g )N)rZ   Nr}   rH  rE   rZ   r&   r}   rI  )r   r   rJ  r_   r   )ra   rR  r   rh   ri   s        r"   test_add_list_to_masked_array2TestSeriesArithmetic.test_add_list_to_masked_array}  sg     \14~%1beeQW-Y?
v0T3#%
v0r/   c                     [        / SQSS9nU/ SQ-   n[        S[        R                  S/[        S9n[        R
                  " X#5        / SQU-   n[        R
                  " X#5        g )N)TNFbooleanrE   )TNTr&   rZ   )r   r   rJ  objectr_   r   ra   r   rh   ri   s       r"   %test_add_list_to_masked_array_boolean:TestSeriesArithmetic.test_add_list_to_masked_array_boolean  sV    (	:))1beeQ-v6
v0#c)
v0r/   r6   )ru   rv   rw   rx   r   r   r   r   r   r   rH   r   r  r  r  r  r  r'  r2  r>  rD  rL  rP  rT  rZ  r{   r6   r/   r"   r   r      s    
1 [[/7G$x&:;7G$x&:;	
117 [[WtU1X&67 81% 	5G
1 (11$1	1 [[UQH-1 .11r/   r   c                      \ rS rSr\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  S/ SQS4/ S	QS
4/ SQS4/ SQS4/ SQS4/ SQS4/5      S 5       r	\R
                  R                  S\
" \" / SQ5      5      \
" \R                  " SSSS95      /SS/S9S 5       r\R
                  R                  S/ SQSS4/ S QS
S4/ SQSS!4/ S"QSS!4/ S#QSS!4/ S QSS!4/5      S$ 5       rS)S& jrS)S' jrS(rg%)*TestSeriesFlexComparisoni  r   )r   NrX   c                 N   [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      n[        X2R                  5      " XAS9nU" X45      n[        R                  " XV5        g )Nr&   rD   r   )	r   r(   r)   r*   r   r]   ru   r_   r   )ra   r   comparison_opr   r   rh   ri   s          r"   test_comparison_flex_basic3TestSeriesFlexComparison.test_comparison_flex_basic  sw    bii++A.>>rBCryy,,Q/??CD556uH -
v0r/   c                 ~   [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      nSn[
        R                  " [        US9   [        X!R                  5      " USS9  S S S 5        g ! , (       d  f       g = f)Nr&   rD   zNo axis named 1 for object typer   rZ   r   )
r   r(   r)   r*   r   r   r   
ValueErrorr]   ru   )ra   r_  r   r   r   s        r"   test_comparison_bad_axis1TestSeriesFlexComparison.test_comparison_bad_axis  s~    bii++A.>>rBCryy,,Q/??CD/]]:S1D001%a@ 211s   
B..
B<z
values, op)FFTFeq)TTFTnele)FFFFlt)FTTFge)FTFFgtc                     [        / SQ[        S5      S9n[        / SQ[        S5      S9n[        X25      " U5      n[        U[        S5      S9n[        R                  " XV5        g )NrZ   r}   r&   abcr   r&   r&   r&   bcdabcdr   listr]   r_   r   )ra   r  rf   r   r   rh   ri   s          r"   test_comparison_flex_alignment7TestSeriesFlexComparison.test_comparison_flex_alignment  sQ     itE{3yU4"5)&V5
v0r/   r   )r   r   r   2020Q1r}   QrV   r   categoricalperiod)r   c                     UR                   nUR                  X!R                  S   S9n[        / SQ5      n[        R
                  " X45        g )Nr   r   TTT)r   rf  r   r   r_   r   )ra   r   r   rh   ri   s        r"   +test_rhs_extension_array_eq_with_fill_valueDTestSeriesFlexComparison.test_rhs_extension_array_eq_with_fill_value  s>     99Q<8,-
v0r/   zvalues, op, fill_value)FFTTr&   )TTFFr   )FFFT)TTTFc                     [        / SQ[        S5      S9n[        / SQ[        S5      S9n[        XB5      " XSS9n[        U[        S5      S9n[        R                  " Xg5        g )Nrm  rn  r   ro  rp  r   rq  rr  )ra   r  rf   r   r   r   rh   ri   s           r"   #test_comparison_flex_alignment_fill<TestSeriesFlexComparison.test_comparison_flex_alignment_fill  sQ     itE{3yU4"5@&V5
v0r/   Nc                     " S S[         5      n[        UR                  UR                  /5      nUR                  UR                  /nUR	                  UR                  5      n[        SS/5      n[
        R                  " XE5        UR	                  U5      n[        SS/5      n[
        R                  " XE5        UR	                  [        R                  " U5      5      n[        SS/5      n[
        R                  " XE5        UR	                  [        U5      5      n[        SS/5      n[
        R                  " XE5        [        SS/SS//5      R	                  SS/5      n[        SS/5      n[        R                  " [        5         [
        R                  " XE5        S S S 5        [        SS/5      n[
        R                  " XE5        g ! , (       d  f       N2= f)	Nc                   0    \ rS rSr\" 5       r\" 5       rSrg)7TestSeriesFlexComparison.test_eq_objects.<locals>.Thingi  r6   N)ru   rv   rw   rx   r   FIRSTSECONDr{   r6   r/   r"   Thingr    s    FEVFr/   r  TFrZ   r&   r}   r   )r   r   r  r  rf  r_   r   r(   asarrayr   r   AssertionError)ra   r  r   py_lrh   ri   s         r"   test_eq_objects(TestSeriesFlexComparison.test_eq_objects  si   	D 	 u{{ELL12U\\*%4-(
v04,'
v0D)*4,'
v0&4,'
v0!Q!Q(),,aV44-(]]>*""64 +5%.)
v0 +*s   	G
Gc                    [        SS/SS/S9nSS/nUR                  U5      n[        SS/SS/S9n[        R                  " X45        UR                  [        R
                  " U5      5      n[        SS/SS/S9n[        R                  " X45        UR                  [        U5      5      n[        SS/5      n[        R                  " X45        UR                  [        SS/5      5      n[        SS/5      n[        R                  " X45        g )NrZ   r&   r   r   TF)r   rf  r_   r   r(   r  )ra   r   r  rh   ri   s        r"   test_eq_with_index+TestSeriesFlexComparison.test_eq_with_index  s    q!fQF+1v 4,q!f5
v0 D)*4,q!f5
v0&5%.)
v0A(4,'
v0r/   r6   )returnN)ru   rv   rw   rx   r   r   r   r`  rd  rt  r   r
   r   r   r}  r  r  r  r{   r6   r/   r"   r]  r]    sU   [[V%781 91A [[($/&-($/)40'.($/	

1
1 [[;/02??8QSAB	
 H%  11 [[ 'q1'q1'q1($2&a0'q1	

1
11B1r/   r]  c                   r   \ rS rSrS r\R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      S 5       r	\R                  R                  S/ SQ5      S	 5       r
S
 rS rS rS rS rS rS r\R                  R                  S/ SQ/ SQ/5      S 5       rS rSrg)TestSeriesComparisoni  c                 L   [        / SQ5      n[        SS/5      nSn[        R                  " [        US9   X:    S S S 5        [        SS/5      n[        / SQ5      n[        R                  " [        US9   X:H    S S S 5        g ! , (       d  f       NO= f! , (       d  f       g = f)	Nr   r   r   r   r   z'only compare identically-labeled Seriesr   rZ   r&   )r&   r}   r   )r   r   r   rc  )ra   r   r   r   s       r"    test_comparison_different_length5TestSeriesComparison.test_comparison_different_length  s}    ?#C:7]]:S1E 2 Aq6N9]]:S1F 21 21
 21s   B6B
B
B#rL   )rf  rg  rk  ri  rj  rh  c                     [        / SQ[        S5      S9nSn[        X!5      " U5      R                  n[        R
                  " S5      nXE:X  d   eg )Nrm  r}   r   r&   bool)r   rH   r]   dtypesr(   rF   )ra   rL   r   constrh   ri   s         r"   test_ser_flex_cmp_return_dtypes4TestSeriesComparison.test_ser_flex_cmp_return_dtypes"  sH     YeAh/%e,3388F#!!!r/   c                     [        / SQ[        S5      S9nUR                  S S nSn[        X15      " U5      R                  n[
        R                  " S5      nXV:X  d   eg )Nrm  r}   r   r   r&   r  )r   rH   r   r]   r  r(   rF   )ra   rL   r   r  r  rh   ri   s          r"   %test_ser_flex_cmp_return_dtypes_empty:TestSeriesComparison.test_ser_flex_cmp_return_dtypes_empty+  sW     YeAh/!'.5588F#!!!r/   r   ))NNN)r   barN)bazr  r  c                    Un[        SSSUS   S9n[        U5      R                  US   5      nU" XT5      nUR                  US   :X  d   eUR	                  S5      n[
        R                  " US	S
9n[        U5      R                  US   5      nU" XT5      nUR                  US   :X  d   eXDR                  S5      -
  n[        U5      R                  US   5      nU" XW5      nUR                  US   :X  d   eU[        R                  [        R                  4;   aS  [
        R                  " SSUS   S9n[        U5      R                  US   5      nU" XX5      nUR                  US   :X  d   eU[        R                  [        R                  4;   aL  UR                  S5      n	[        U	5      R                  US   5      nU" XY5      nUR                  US   :X  d   eg g )Nz1949-06-07 03:00:00hrA   r   )r   rV   rY   rZ   r&   z
US/Centralinferr   )startrV   rY   category)r   r   renamerY   tz_localizer   DatetimeIndexr  r^   rf  rg  interval_ranger  )
ra   r   r_  rf   r/  r   rh   tdiiicidxs
             r"   test_ser_cmp_result_names.TestSeriesComparison.test_ser_cmp_result_names5  s   
 .S!%PQ(SSk  q*C{{eAh&&& ool+s1Sk  q*C{{eAh&&& IIaL Sk  q*C{{eAh&&& (++x{{++""AE!HEB*##E!H-C[F;;%(*** (++x{{++::j)D,%%eAh/C]F;;%(*** ,r/   c                     [        / SQ5      n[        / SQ5      n[        / SQ5      n[        R                  " X:H  U5        [        R                  " X!:H  U5        g )Nr  )FTFFFFr   )ra   sr   r   s       r"   test_comparisons%TestSeriesComparison.test_comparisons]  sH    ?#() *+
qw,
rw,r/   c                    [        [        S5      SS9n[        [        S5      SS9n[        / SQSS9n[        [        S5      SS9n[        [        S5      5      n[        [        S5      5      nUS:H  R                  5       (       a   eUS:g  US:H  ) :H  R                  5       (       d   eSU:H  R                  5       (       a   eUS:H  S   (       d   eSU:H  S   (       d   eSU:g  S   (       a   eX:H  R                  5       (       d   eX:g  R                  5       (       a   eU[        U5      :H  R                  5       (       d   eX:H  R                  5       (       d   eX!:H  R                  5       (       d   eX:H  ) X:g  :H  R                  5       (       d   eX!:H  ) X!:g  :H  R                  5       (       d   eX:H  R                  5       (       a   eX1:H  R                  5       (       a   eX:H  R                  5       (       a   eXA:H  R                  5       (       a   eX:H  R                  5       (       d   eXQ:H  R                  5       (       d   eX:H  R                  5       (       a   eXa:H  R                  5       (       a   eX:H  ) X:g  :H  R                  5       (       d   eXQ:H  ) XQ:g  :H  R                  5       (       d   eX:H  ) X:g  :H  R                  5       (       d   eXa:H  ) Xa:g  :H  R                  5       (       d   eS	n[        R
                  " [        US
9   X:    S S S 5        [        R
                  " [        US
9   X!:    S S S 5        [        R
                  " [        US
9   X:    S S S 5        [        R
                  " [        US
9   X!:    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       NW= f! , (       d  f       g = f)Nrn  r  rE   rX  )r   r   ccacbr   r    can only compare equality or notr   )r   rs  r
   r   r   r   r   )ra   r   r   r   r   r   fr   s           r"   test_categorical_comparisons1TestSeriesComparison.test_categorical_comparisonsi  s*    4;j14;h/#844;h/U$U$ H>>####cSk)..00001H>>####S!}}q!}}1Ha=   ||~~~F<<>>!!T!W!!####||~~~||~~~6',,....6',,....F<<>>!!F<<>>!!F<<>>!!F<<>>!! ||~~~||~~~F<<>>!!F<<>>!!&	af%**,,,,&	af%**,,,,&	af%**,,,,&	af%**,,,, 1]]9C0E 1]]9C0E 1]]9C0E 1]]9C0E 10 10000000s0   N:N% N6O
N"%
N36
O
Oc                    [        [        [        S5      5      5      nSn[        R                  " [
        US9   US:    S S S 5        [        [        [        S5      SS95      n[        R                  " [
        US9   US:    S S S 5        [        [        [        S5      SS95      nSn[        R                  " [
        US9   US	:    S S S 5        [        R                  " [
        US9   US	:    S S S 5        [        R                  " [
        US9   S	U:    S S S 5        [        R                  " [
        US9   S	U:    S S S 5        [        R                  " US	:H  [        / S
Q5      5        [        R                  " US	:g  [        / SQ5      5        g ! , (       d  f       GNW= f! , (       d  f       GN&= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Nrn  r  r   r   F)orderedTz1Invalid comparison between dtype=category and strr   r  r|  )r   r
   rs  r   r   r   r_   r   )ra   r;  r   s      r"   5test_unequal_categorical_comparison_raises_type_errorJTestSeriesComparison.test_unequal_categorical_comparison_raises_type_error  sO   [e-.0]]9C0#I 1 [ee<=]]9C0#I 1 [ed;<A]]9C0#I 1]]9C0#I 1]]9C0#I 1]]9C0#I 1 	scz62G+HI
scz62D+EF/ 10 10 10000000sG   F<F!F3(GG6G&
F!
F03
G
G
G#&
G4c                    [        SS/5      nUS:H  n[        SS/5      n[        R                  " X#5        US:g  n[        SS/5      n[        R                  " X#5        US:H  n[        SS/5      n[        R                  " X#5        US:g  n[        SS/5      n[        R                  " X#5        [        SS/5      nUS:H  n[        SS/5      n[        R                  " X#5        US:g  n[        SS/5      n[        R                  " X#5        g )N)rZ   rZ   )rZ   r&   FT)r   r   r   )ra   r  rh   ri   s       r"   test_comparison_tuples+TestSeriesComparison.test_comparison_tuples  s     FF#$f5$-(
v0f4-(
v0f5%.)
v0f4,'
v0FF#$f4,'
v0f5%.)
v0r/   c                     [        [        S/5      [        SS/5      /5      nU[        S/5      :H  n[        SS/5      n[        R                  " X#5        g )NrZ   r&   TF)r   	frozensetr_   r   rY  s       r"   test_comparison_frozenset.TestSeriesComparison.test_comparison_frozenset  sL    iniA&789	1#&4-(
v0r/   c                    [        [        SSS9[        S9n[        R                  US S S2'   US   nU" X#5      nU" UR                  5       U5      R                  UR                  5      nU[        R                  L a%  UR                  S5      R                  [        5      nO$UR                  S5      R                  [        5      n[        R                  " XE5        g )	Nr   rD   rU   rE   r&   rA   TF)r   r   rX  r(   r   dropnar   rX   r^   rg  r   r  r  r_   r   )ra   r_  r   rR  rh   ri   s         r"   "test_comparison_operators_with_nas7TestSeriesComparison.test_comparison_operators_with_nas  s    [R8G66CaC !fs( s3;;CIIFHKK't,33D9Hu-44T:H
v0r/   c                     [        / SQ/ SQ[        S9n[        R                  " / SQ5      n[        R
                  " UR                  S:g  U5        [        R
                  " UR                  S:H  ) U5        g )N)r}   r   rA   r      rE   )TTFTTrA   )r   rG  r(   arrayr_   assert_numpy_array_equalrX   )ra   r3   ri   s      r"   test_neTestSeriesComparison.test_ne  sR    O_EB88;<
##BHHM8<
##bhh!m$4h?r/   
right_dataro  )r&   r&   r&   r&   c                    [        / SQ[        S5      SS9n[        U[        S5      S [        U5       SS9nU[         La1  SUR                   S3nUR	                  5       nUR	                  5       nOSUR                   S3n[
        R                  " [        US	9   X4:H    S S S 5        [
        R                  " [        US	9   XC:H    S S S 5        [
        R                  " [        US	9   X4:g    S S S 5        [
        R                  " [        US	9   XC:g    S S S 5        [
        R                  " [        US	9   X4:    S S S 5        [
        R                  " [        US	9   XC:    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ny= f! , (       d  f       g = f)
Nr|   ABCr8   rW   ABDCz@Can only compare identically-labeled \(both index and columns\) z objectsz%Can only compare identically-labeled r   )r   rs  r,   ru   r$  r   r   rc  )ra   r  frame_or_seriesr   r   r   s         r"   test_comp_ops_df_compat,TestSeriesComparison.test_comp_ops_df_compat  sY    itE{=zf6GJ)HsS&(S"++,H6  ==?DNN$E 88P8P7Q R  
 ]]:S1M 2]]:S1M 2 ]]:S1M 2]]:S1M 2 ]]:S1L 2]]:S1L 21 2111 2111 2111sH   E& E7&FF2F*F;&
E47
F
F
F'*
F8;
G	c                 n    [        / SQ5      nUS:H  n[        / SQ5      n[        R                  " X#5        g )N)	IntervalA	IntervalB	IntervalCr  )TFFr   rY  s       r"   $test_compare_series_interval_keyword9TestSeriesComparison.test_compare_series_interval_keyword  s0    <=#./
v0r/   r6   N)ru   rv   rw   rx   r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r{   r6   r/   r"   r  r    s    
 [[X'KL" M" [[X'KL" M" [[R#+#+J-6pG>1>11"@ [[\I|+DE FB1r/   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestTimeSeriesArithmetici-  c                 "   [        SSSSS9n[        R                  R                  S5      R	                  S5      S S n[        [        R                  R                  S5      R                  S5      UR                  U5      R                  S5      S	9n[        R                  R                  S5      R	                  S5      S S n[        [        R                  R                  S5      R                  S5      UR                  U5      R                  S
5      S	9nX4-   nUR                  S5      nUR                  S5      nXg-   nUR                  5       nUR                  R                  [        R                  L d   e[        R                  " XX5        g )N1/1/2011d   r  utc)rV   r   r,  r&   Z   z
US/Easternr   zEurope/Berlin)r   r(   r)   r*   r+   r   r   r'   r.  
sort_indexrX   r,  r   r  r_   r   )	ra   r   permr<  r=  rh   uts1uts2ri   s	            r"   +test_series_add_tz_mismatch_converts_to_utcDTestTimeSeriesArithmetic.test_series_add_tz_mismatch_converts_to_utc.  s>   SsuEyy$$Q'33C8"=II!!!$44R8((4.++L9

 yy$$Q'33C8"=II!!!$44R8((4.++O<

 u%u%; &&(||(,,...
v0r/   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9nUR                  S5      nSn[        R                  " [        US	9   X#-     S S S 5        [        R                  " [        US	9   X2-     S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)
Nr  rD   r  rx  r&   r   r  z0Cannot join tz-naive with tz-aware DatetimeIndexr   )r   r   r(   r)   r*   r   r,   r  r   r   	Exception)ra   r   r   r1  r   s        r"   "test_series_add_aware_naive_raises;TestTimeSeriesArithmetic.test_series_add_aware_naive_raisesI  s    Rc:RYY**1-==c#hGsS//%(@]]9C0M 1 ]]9C0M 10 10 10s   7B+B<+
B9<
C
c                     [        [        SSUS95      n[        R                  R	                  SS9nX#-
  n[        R
                  " / SQ5      R                  U5      n[        U5      n[        R                  " XF5        g )Nz
2012-01-01r}   rB  r   r   )z
2011-12-26z
2011-12-27z
2011-12-28)	r   r   r   offsets
DateOffsetto_datetimeas_unitr_   r   )ra   r   rc   offsetrh   exp_dtiri   s          r"   test_datetime_understood1TestTimeSeriesArithmetic.test_datetime_understoodW  sk     
<FG&&A&...!KLTT
 '?
v0r/   c                    [        SSS9n[        [        R                  R	                  S5      R                  S5      US9nUSS  nUR                  5       nUR                   Vs/ s H  oUR                  5       PM     snUl        X$-   nXB-   nX"SS  -   nUR                  R                  S 5      Ul        [        R                  " Xh5        [        R                  " Xx5        g s  snf )Nr   rT   rU   r&   r   rA   )r   r   r(   r)   r*   r   copyrX   r   
_with_freqr_   r   )	ra   r   r3   ts_slicets2r8   rh   r  ri   s	            r"   *test_align_date_objects_with_datetimeindexCTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindexc  s    R0BII))!,<<R@Lab6mmo'*yy1y!VVXy1	(12;!2248
v0
w1 2s   $C!r6   N)	ru   rv   rw   rx   r  r  r  r  r{   r6   r/   r"   r  r  -  s    16
12r/   r  c            	           \ rS rSr\R
                  R                  S\\\	R                  \\\R                  /5      \R
                  R                  SSS/5      S 5       5       rS rS rS	rg
)TestNamePreservationis  boxflexTFc                    Un[        [        S5      US   S9n[        [        S5      US   S9nUR                  R                  S5      nUS;   n	Sn
U" U5      nU(       a  U	(       a  g [	        Xh5      " U5      nOJU	(       a;  U[
        [        4;   a+  [        R                  " [        U
S9   U" Xg5        S S S 5        g U" Xg5      n[        U[         5      (       d   eU[        [         4;   a)  UR                  US	   L d  UR                  US	   :X  d   eg g UR                  US   L d  UR                  US   :X  d   eg g ! , (       d  f       g = f)
NrD   r   r   rZ   _)andrandxorrxororrorzLLogical ops \(and, or, xor\) between Pandas objects and dtype-less sequencesr   r&   )r   rH   ru   stripr]   rs  tupler   r   r   
isinstancer   rY   )ra   r  r  r   all_binary_operatorsrf   r   r   rY   
is_logicalr   rh   s               r"   test_series_ops_name_retention3TestNamePreservation.test_series_ops_name_retentiont  s6    "eBieAh/uRyuQx0{{  %HH
# 	
 E
T(/FcdE]2]]9C8tO 9 _F&&))))5&/!;;%(*fkkU1X.EEE.E*;;%(*fkkU1X.EEE.E* 98 s   *	D==
Ec                    X-  nUR                   UR                   :X  d   eUR                  U5      nUR                   UR                   :X  d   eXS S -  nUR                   UR                   :X  d   eUR                  5       nSUl         X-   nUR                   b   eUR                  U5      nUR                   b   e/ SQnXD Vs/ s H  nSU-   PM
     sn-   nU Hw  nUR                  5       n[	        Xe5      " U5      nUR                   UR                   :X  d   eUR                  5       nSUl         [	        Xe5      " U5      nUR                   c  Mw   e   g s  snf )Nzsomething else)rM   rN   rO   r   rQ   rP   r   rR   r[   changed)rY   rO   r  rM   r]   )ra   r  rh   cpr   rf   r   s          r"   test_binop_maybe_preserve_name3TestNamePreservation.test_binop_maybe_preserve_name  s\    2{{o22222 $$_5{{o22222 3B#77{{o22222 !!#" %{{""" $$R({{"""O,"S2X,,B!&&(CS%c*F;;/"6"6666 !%%'BBGS%b)F;;&&&  -s   Ec                 F    US-  nUR                   UR                   :X  d   eg r%   r   )ra   r  rh   s      r"   test_scalarop_preserve_name0TestNamePreservation.test_scalarop_preserve_name  s$     1${{o22222r/   r6   N)ru   rv   rw   rx   r   r   r   rs  r  r(   r  r   r   r   r  r  r  r{   r6   r/   r"   r   r   s  sf    [[UT5"((E6288$TU[[VdE]3!F 4 V!FF'@3r/   r   c                   X    \ rS rSr\R
                  R                  SS5      S 5       rSrg)TestInplaceOperationsi  z)dtype1, dtype2, dtype_expected, dtype_mul))rH  rH  rH  rH  )rG  rG  rG  rG  )rH  rG  rI  rI  )rH  rI  rI  rI  c                    [        S/US9n[        S/US9nXV-  n[        S/US9n[        R                  " XW5        XV-  n[        S/US9n[        R                  " XW5        XV-  n[        S/US9n[        R                  " XW5        g )NrZ   rE   r&   r}   r   )ra   dtype1dtype2dtype_expected	dtype_mulr<  r=  ri   s           r"   test_series_inplace_ops-TestInplaceOperations.test_series_inplace_ops  s     qc(qc(1#^4
t.1#^4
t.1#Y/
t.r/   r6   N)	ru   rv   rw   rx   r   r   r   r"  r{   r6   r/   r"   r  r    s+    [[3	
//r/   r  c                 t   Un[        U5      S:  a,  U R                  [        R                  R	                  SS95        [
        R                  UR                  S'   US :H  nUR                  S   (       a   eUR                  S   (       a   eUS :g  nUR                  S   (       d   eUR                  S   (       d   eS U:H  nUR                  S   (       a   eUR                  S   (       a   eS U:g  nUR                  S   (       d   eUR                  S   (       d   e[        R                  " UR                  S5      (       d  [        UR                  [        5      (       aQ  Sn[        R                  " [        US9   S U:    S S S 5        [        R                  " [        US9   US :    S S S 5        g S U:  nUR                  S   (       a   eUR                  S   (       a   eUS :  nUR                  S   (       a   eUR                  S   (       a   eg ! , (       d  f       N= f! , (       d  f       g = f)NrZ   z%Test doesn't make sense on empty data)reasonr   MzInvalid comparisonr   )r,   applymarkerr   r   xfailr(   r   r   iatr	   is_np_dtyperF   r  r   r   r   )r   series_with_simple_indexrc   rh   r   s        r"   test_none_comparisonr,    s   %F
6{QKK%LM	
 VVFKKN t^Fzz!}zz!} t^F::a==::a==V^Fzz!}zz!}V^F::a==::a==
v||S))Zo-V-V #]]9C06M 1]]9C0TM 10 ::a=  ::a=  $::a=  ::a=  = 1000s   ?H&H)
H&)
H7c            	         [        [        S5      [        R                  R	                  [        S5      [        S5      SS/// SQS9S9n [        [        SS	5       Vs/ s H  nS
U-  PM
     sn[        R                  R	                  [        S5      SS//SS/S9S9nU R                  [        R                  S/S S 2S S 24      U-   n[        / SQ[        R                  R                  / SQ/ SQS9S9n[        R                  " X45        g s  snf )N   abxyrZ   r&   )r/  r0  numr   r   rA     r1  r   )r2  i  i  i  ))r   r8   rZ   )r   r8   r&   )r   r   rZ   )r   r   r&   )r   rH   r   r   r   rs  loc
IndexSlicefrom_tuplesr_   r   )r   r   r   rh   ri   s        r"   'test_series_varied_multiindex_alignmentr6  
  s    	amm(($ZdaV,4G ) 

B 
 A;';a;'mm(($t*q!f)=dE](S
B VVBMM3%A+./"4F mm''H% ( 
H 6, 	(s   D
c                      [        S/S-  5      R                  S5      n [        S/S-  5      n[        R                  " X5        g )Nr&   i'  r!  rZ   )r   rmodr_   r   )rh   ri   s     r"   !test_rmod_consistent_large_seriesr9  !  s;    QC%K %%b)FqcEk"H6,r/   rX   r*  r}   rU   z
US/Pacific)r,  rV   z1 Dayc                 
   [        SU S9n[        SU R                  S5      S9nX:H  n[        / SQUR                  S9n[        R                  " X45        X!:  n[        / SQUR                  S9n[        R                  " XV5        g )NrZ   r   r  r|  r  )r   r  rX   r_   r   )rX   r   r=  rh   ri   r  	expected2s          r"   )test_comparison_mismatched_datetime_unitsr<  )  sq     %
 C!5==./D[F(		:H6,jG,DJJ?I7.r/   )2r   r   r   r   decimalr   enumr   r   r^   numpyr(   r   pandas._libsr	   pandasr   r
   r   r   r   r   r   r   r   pandas._testing_testingr_   pandas.corer   pandas.core.computationr   r   fixturer#   r.   r1   r   r]  r  r  r   r  r,  r6  r9  r   r   timedelta_ranger<  r6   r/   r"   <module>rH     s.   
      	 	 	   7 a\	87LM NDZ  Z zF1 F1Z{1 {1|O1 O1pC2 C2LH3 H3V/ /8-!`-.- <+<L!<
7A.//r/   