
    A>iF                     l    S SK J r   S SKrS SKrS SKrS SKJrJrJrJ	r	  S SK
Jr  S SKJr   " S S5      rg)    )datetimeN)	DataFrameIndexSeriesbdate_range)opsc                      \ rS rSr\R
                  R                  S\R                  \R                  \R                  /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S r\R
                  R                  S\R                  \R                  \R                  /5      S 5       rS r\R
                  R                  S\R6                  \R8                  /5      S 5       r\R
                  R                  S\R6                  SS/4\R8                  SS/4\R<                  SS/4/5      S 5       rS r S r!S r"Sr#g)TestSeriesLogicalOps   bool_opc                 $   [        [        SSS9[        S9n[        R                  US S S2'   UR                  5       nUR                  US   5      nU" X"S   :  X"S   :  5      nU" XDS   :  XDS   :  5      nS	Xc'   [        R                  " XV5        g )
Nz1/1/2000
   )periodsdtype   r   	      F)	r   r   objectnpnanisnafillnatmassert_series_equal)selfr   sermaskfilledresultexpecteds          c/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/series/test_logical_ops.pytest_bool_operators_with_nas1TestSeriesLogicalOps.test_bool_operators_with_nas   s     [R8G66CaCxxzCF#1vsV|461I-vq	/AB
v0    c                    [        S5      n[        / SQUS9n[        / SQUS9n[        / [        S9nX$-  nUR                  5       n[        R
                  " XV5        X$-  nUR                  5       n[        R
                  " XV5        g )NbcaTFTindexFFFr   )listr   r   
sort_indexr   r   )r   r*   s_tfts_fffs_emptyresr!   s          r"   ,test_logical_operators_bool_dtype_with_emptyATestSeriesLogicalOps.test_logical_operators_bool_dtype_with_empty!   sw    U*%8,E:6*o##%
s-o##%
s-r%   c                 F   [        [        S5      SS9n[        S/S-  5      n[        S/S-  5      nX-  n[        [        S5      SS9n[        R                  " XE5        X-  n[        [        SS5      SS9n[        R                  " XE5        [        S/S-  SS9nX-  n[        / SQSS9n[        R                  " XE5        UR	                  [
        R                  5      UR	                  [
        R                  5      -  n[        / S	QS
S9n[        R                  " XE5        g )N   int64r   r         int8r   r8   r   r8   )r8   r8   r   r   int32)r   ranger   r   astyper   int16r;   )r   s_0123s_3333s_4444r1   r!   s_1111s          r"   /test_logical_operators_int_dtype_with_int_dtypeDTestSeriesLogicalOps.test_logical_operators_int_dtype_with_int_dtype1   s     a0aao%('2
s-o%1+W5
s-av.o,g6
s-mmBHH%bhh(??,g6
s-r%   c                     [        [        S5      SS9nUS-  n[        S/S-  5      n[        R                  " X#5        US-  n[        / SQ5      n[        R                  " X#5        g )Nr5   r6   r   r   r8   r:   )r   r<   r   r   )r   r?   r1   r!   s       r"   0test_logical_operators_int_dtype_with_int_scalarETestSeriesLogicalOps.test_logical_operators_int_dtype_with_int_scalarI   sY    a0qj1#'?
s-qj,'
s-r%   c                    [        [        S5      SS9nSnSn[        R                  " [        US9   U[
        R                  -    S S S 5        [        R                  " [        US9   US-    S S S 5        Sn[        R                  " [        US9   U/ S	Q-    S S S 5        [        R                  " [        US9   U[
        R                  " / S	Q5      -    S S S 5        [        R                  " [        US9   U[        / S
Q5      -    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       g = f)Nr5   r6   r   LLogical ops \(and, or, xor\) between Pandas objects and dtype-less sequences7Cannot perform.+with a dtyped.+array and scalar of typematchQ	@z unsupported operand type.+for &:)皙?r5   rM   r   )rN   r5   gQ	r   )r   r<   pytestraises	TypeErrorr   r   array)r   r?   err_msgmsgs       r"   +test_logical_operators_int_dtype_with_float@TestSeriesLogicalOps.test_logical_operators_int_dtype_with_floatU   s    a0# 	
 H]]9C0RVVO 1]]9C0TM 10]]9G4&& 5]]9C0RXX/00 1]]9C0V.// 10 1000 540000s;   D&D D18E5E
D 
D.1
D?
E
E!c                    [        S/S-  SS9nSnSn[        R                  " [        US9   US-    S S S 5        [        R                  " [        US9   U/ S	Q-    S S S 5        g ! , (       d  f       N8= f! , (       d  f       g = f)
Nr8   r5   r9   r   rI   z=Cannot perform 'and_' with a dtyped.+array and scalar of typerK   a)rX   bcd)r   rO   rP   rQ   )r   rB   rS   rT   s       r"   )test_logical_operators_int_dtype_with_str>TestSeriesLogicalOps.test_logical_operators_int_dtype_with_strk   so    av.# 	
 N]]9C0SL 1]]9G4)) 54 1044s   A$A5$
A25
Bc                    [        [        S5      SS9n[        S/S-  5      nUS-  n[        R                  " X25        Sn[        R
                  " [        US9   US/-    S S S 5        [        R
                  " [        US9   US-    S S S 5        US-  n[        / SQ5      n[        R                  " X25        g ! , (       d  f       N^= f! , (       d  f       NH= f)	Nr5   r6   r   FrI   rK   )F)FTTT)r   r<   r   r   rO   rP   rQ   )r   r?   r!   r    rT   s        r"   *test_logical_operators_int_dtype_with_bool?TestSeriesLogicalOps.test_logical_operators_int_dtype_with_booly   s    a05'A+&%
v0# 	 ]]9C0eW 1 ]]9C0X 1 %34
v0 10 10s   B8C	8
C	
Cc                 \   [        [        S5      SS9nU[        S[        R                  SS/5      -  n[        S/S-  5      n[        R
                  " X#5        [        SS[        R                  S/5      n[        R                  " [        SS	9   X-    S S S 5        g ! , (       d  f       g = f)
Nr5   r6   r   FrX   rY   r[   z3unsupported.* 'int' and 'str'|'rand_' not supportedrK   )	r   r<   r   r   r   r   rO   rP   rQ   )r   r?   r    r!   s_abNds        r"   ,test_logical_operators_int_dtype_with_objectATestSeriesLogicalOps.test_logical_operators_int_dtype_with_object   s    a0&%!>??5'A+&
v0c2663/0]]R
 O
 
 
s   B
B+c                     [        S5      n[        / SQUS9n[        / SQUS9nUS-  nUn[        R                  " XE5        US-  nUn[        R                  " XE5        g )Nr'   r(   r)   r+   r   r8   )r,   r   r   r   )r   r*   r.   r/   r1   r!   s         r"   *test_logical_operators_bool_dtype_with_int?TestSeriesLogicalOps.test_logical_operators_bool_dtype_with_int   s]    U*%8,E:ai
s-ai
s-r%   c                    [        / SQ5      nSSS S[        R                  /nSn[        / SQ5      n[        R                  " [
        US9   X-    S S S 5        U[        R                  " U5      -  n[        R                  " XT5        U[        U5      -  n[        R                  " XT5        U[        U5      -  n[        R                  " XT5        [        / SQ5      n[        R                  " [
        US9   X-    S S S 5        U[        R                  " U5      -  n[        R                  " XT5        U[        U5      -  n[        R                  " XT5        U[        U5      -  n[        R                  " XT5        [        / SQ5      n[        R                  " [
        US9   X-    S S S 5        U[        R                  " U5      -  n[        R                  " XT5        U[        U5      -  n[        R                  " XT5        U[        U5      -  n[        R                  " XT5        g ! , (       d  f       GN= f! , (       d  f       GNC= f! , (       d  f       N= f)	N)TTTFTTFrI   )TFFFFrK   )TTTTT)FTTTT)
r   r   r   rO   rP   rQ   rR   r   r   r   )r   leftrightrT   r!   r    s         r"   (test_logical_ops_bool_dtype_with_ndarray=TestSeriesLogicalOps.test_logical_ops_bool_dtype_with_ndarray   s   56udD"&&1# 	
 <=]]9C0L 1'
v0e$
v0u%
v089]]9C0L 1'
v0e$
v0u%
v09:]]9C0L 1'
v0e$
v0u%
v07 10 10 10s$   H$5H6I$
H36
I
Ic                 J   [        S5      n[        / SQUS9n[        / SQUS9n[        / SQUS9n[        [        S5      SS9n[        S/S	-  / S
QS9nX$-  n[        R                  " Xe5        Sn[
        R                  " [        US9   XB-    S S S 5        [        S/[        S5      5      nX(-  n	UR                  [        S5      5      n[        R                  " X5        X(-  n	UR                  [        S5      5      n[        R                  " X5        g ! , (       d  f       N= f)Nr'   r(   r)   TFFr5   r6   r   F   )r   r8   r   r   rX   rY   rZ   z7unsupported operand type\(s\) for &: 'float' and 'bool'rK   r8   rY   abc)	r,   r   r<   r   r   rO   rP   rQ   reindex)
r   r*   r.   s_tffr?   r!   r    rT   s_a0b1c0r1   s
             r"   <test_logical_operators_int_dtype_with_bool_dtype_and_reindexQTestSeriesLogicalOps.test_logical_operators_int_dtype_with_bool_dtype_and_reindex   s     U*%8*%8+59a0 5'A+-HI
v0 I]]9C0N 1 1#tCy)==e-
s-==e-
s- 10s   D
D"c                    [        / SQ5      nSn[        R                  " [        US9   U[	        SSS5      -    S S S 5        [        SSSS	S
SSS[	        SSS5      /	5      n[
        R                  US S S2'   [        SUR                  S9nSUS S S2'   Sn[        R                  " [        US9   U[        U5      -    S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N)	r   r   r5         ro   r7   r   r   rJ   rK     r8   r   r   r5   rw   rx   ro   r7   r   Tr)   FrI   )	r   rO   rP   rQ   r   r   r   r*   r,   )r   srT   r!   s       r"   "test_scalar_na_logical_ops_corners7TestSeriesLogicalOps.test_scalar_na_logical_ops_corners   s    /0G]]9C0q!$$ 1 Aq!Q1aHT1a,@AB#A#$agg.1# 	 ]]9C0QK 10 10 10s   C.C
C
C%c                 B   [        SSSSSSSS[        S	S
S
5      /	5      n[        R                  US S S2'   [	        SU05      n[	        S[        S5      S/[        [        S5      5      QS9nX-  n[        R                  " XC5        X!-  n[        R                  " XC5        g )Nr   r   r5   rw   rx   ro   r7   r   ry   r8   AF)r*   columns)	r   r   r   r   r   r<   r,   r   assert_frame_equal)r   rz   r[   r!   r    s        r"   )test_scalar_na_logical_ops_corners_aligns>TestSeriesLogicalOps.test_scalar_na_logical_ops_corners_aligns  s    Aq!Q1aHT1a,@AB#A#sAhU%(S<R4a><RS
f/
f/r%   opc           
         [        / SQ5      n[        / SQ5      n[        / SQ5      n[        [        [        U5      5       Vs/ s H  oQ" X%   X5   5      PM     sn5      nU" X#5      n[        R
                  " Xv5        [        [        [        U5      5       Vs/ s H  oQ" X%   XE   5      PM     sn[        S9nU" X$5      n[        R
                  " Xv5        g s  snf s  snf )NTTFFTFTFr8   r   r8   r   r   )r   r   r<   lenr   r   bool)r   r   r   idx1idx2nr!   r    s           r"   test_logical_ops_with_index0TestSeriesLogicalOps.test_logical_ops_with_index  s     /0/0\"c#hH12cfdg.HIC
v0c#hH12cfdg.HPTUC
v0 I
 Is   CCc                     [        / SQ5      n[        / SQ[        S9n[        / SQ5      n[        / SQ5      nX!-  n[        R                  " XT5        X1-  n[        R                  " XT5        g )Nr   r   r   r   )FTTF)r   r   r   r   r   )r   r   r   r   r!   r    s         r"   +test_reversed_xor_with_index_returns_series@TestSeriesLogicalOps.test_reversed_xor_with_index_returns_series&  sY    /0/t<\"45
v0
v0r%   c                 :   [        / SQ5      n[        / SQ5      n[        / SQ5      n[        U" UR                  UR                  5      5      nU" X#5      n[        R                  " Xe5        U" U[        U5      5      nU" X$5      n[        R                  " Xe5        g )Nr   r   r   )r   r   valuesr   r   )r   r   r   r   r   r!   r    s          r"   2test_reversed_logical_op_with_index_returns_seriesGTestSeriesLogicalOps.test_reversed_logical_op_with_index_returns_series3  s{     /0/0\""T[[#**56C
v0c6$<(C
v0r%   zop, expectedFTc                     [        SS/5      n[        SS/5      nU" X45      n[        U5      n[        R                  " XR5        g )NTF)r   r   r   r   )r   r   r!   r   idxr    s         r"   test_reverse_ops_with_index0TestSeriesLogicalOps.test_reverse_ops_with_indexH  sA     dE]#UDM"C(#
v0r%   c                 	   [        / SQ[        S5      5      n[        / SQ[        S5      5      n[        / SQ[        S5      5      nX#-  n[        R                  " XT5        [        / SQ[        S5      5      nX#-  n[        R                  " XT5        [        / SQ[        S5      5      nX#-  n[        R                  " XT5        [        / SQ[        S5      5      n[        / SQ[        S5      5      n[        / S	Q[        S5      5      nX#-  n[        R                  " XT5        [        / S
Q[        S5      5      nX#-  n[        R                  " XT5        [        / [        S9nX&-  n[        / SQ[        S5      5      n[        R                  " XT5        X&-  n[        / SQ[        S5      5      n[        R                  " XT5        U[        S/S/5      -  n[        / SQ[        S5      5      n[        R                  " XT5        U[        S/S/5      -  n[        / S
Q[        S5      5      n[        R                  " XT5        UR                  5       [        S/S/5      [        [        R                  UR                  5      [        [        R                  UR                  5      4 H#  nX"U-     n[        R                  " XRU   5        M%     [        S/5      4 HT  nU(       a*  [        R                  " [        SS9   X"U-     nS S S 5        OX"U-     n[        R                  " XRU   5        MV     [        S5      n[        / SQ5      n	S H4  n
[        / SQUS9U
-  n[        / SQUS9n[        R                  " XT5        M6     Sn[        R                  S4 H)  n
[        R                  " [        US9   X-    S S S 5        M+     S H4  n
[        / SQUS9U
-  n[        / SQUS9n[        R                  " XT5        M6     S H4  n
[        / SQUS9U
-  n[        / SQUS9n[        R                  " XT5        M6     S H4  n
[        / SQUS9U
-  n[        / SQUS9n[        R                  " XT5        M6     Sn[        R                  4 H)  n
[        R                  " [        US9   X-    S S S 5        M+     g ! , (       d  f       GN= f! , (       d  f       GM>  = f! , (       d  f       Mb  = f)Nr(   r'   )FTFrp   TTFrn   )FTFTabcd)FTFFr   r   r+   r8   z)FFFFabczz0not supported for dtype|unsupported operand typerK   )Tr8   r   r)   )TTTrJ   foo)Fr   )Tr8   )r   r,   r   r   r   copyr   r   r*   rO   rP   rQ   )r   using_infer_stringrX   rY   r!   r    emptyer*   tvrT   s               r"   test_logical_ops_label_based1TestSeriesLogicalOps.test_logical_ops_label_based[  s    &U4'e5.U<
v0-tE{;
v0.U<
v0 &U4-tF|<5tF|D
v04d6lC
v0
 r(/e=
v0-tE{;
v0 VQC#''6VE
v0VQC#''4d6lC
v0
 JJLA3266177#266177#	
A 1uXF""6Q40
 #-A! ]]%W 1uXF 
 q5""6Q40 ! U&'A/u=AF0>H""64 
 H&&%Ay4 54 ! A/u=AF1?H""64 
 A/u=AF1?H""64 
 A/u=AF35AH""64  H&&Ay4 54 K & 54& 54s$   9R00SS0
R?	
S	
S$	c                    [        / SQ[        S5      SS9n[        / SQ[        S5      SS9n[        / SQ[        S5      SS9n[        R                  " X-  U5        [        R                  " X!-  U5        [        / S	Q[        S5      SS9n[        R                  " X-  U5        [        / S
Q[        S5      SS9n[        R                  " X!-  U5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        [        SSS[        R                  [        R                  /0[        S5      S9n[        R                  " UR                  5       UR                  5       -  UR                  5       5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        [        / SQ[        S5      SS9n[        / SQ[        S5      SS9n[        / SQ[        S5      SS9n[        R                  " Xg-  U5        [        R                  " Xv-  U5        [        / S	Q[        S5      SS9n[        R                  " Xg-  U5        [        / SQ[        S5      SS9n[        R                  " Xv-  U5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        [        R                  " UR                  5       UR                  5       -  UR                  5       5        g )Nr(   ABCxr*   namer   ABD)TFFFABCD)TTTFr   Tr)   )TTTTr   )	r   r,   r   r   r   to_framer   r   r   )r   s1s2expexp_or1exp_ors3s4s           r"   test_logical_ops_df_compat/TestSeriesLogicalOps.test_logical_ops_df_compat  s   'tE{E'tE{E0V3O
rw,
rw, 2$v,SQ
rw02$v,SQ
rw/ 	bkkmbkkm;S\\^L
bkkmbkkm;S\\^LtT266266:;4<P
bkkmbkkm;W=M=M=OP
bkkmbkkm;V__=NO 'tE{E,DLsK/tF|#N
rw,
rw, 2$v,SQ
rw00V3O
rw/
bkkmbkkm;S\\^L
bkkmbkkm;S\\^L
bkkmbkkm;W=M=M=OP
bkkmbkkm;V__=NOr%   c                     [        / SQ/ SQSS9n[        / SQ/ SQSS9n[        R                  " X5      n[        / SQ/ SQSS9n[        R                  " X45        X-  n[        R                  " X45        g )N)r8   r   r   )r         rX   r   )r         )r   r   r   )   r7      )r   r   bitwise_xorr   r   )r   ser1ser2r    r!   s        r"   'test_int_dtype_different_index_not_bool<TestSeriesLogicalOps.test_int_dtype_different_index_not_bool  s]    i|#>l,SA++\D
v0
v0r%    N)$__name__
__module____qualname____firstlineno__rO   markparametrizeoperatorand_or_xorr#   r2   rC   rF   rU   r\   r_   rc   rf   rk   rt   r{   r   r   r   r   rand_ror_r   rxorr   r   r   r   __static_attributes__r   r%   r"   r
   r
      s\   [[Yhll(ST1 U1. .0
.0,*1..&1P.@(0 [[THMM8<<#NO1 P1 1 [[IIHH	
11 [[YY'XXd|$XXd|$	
	1	1kZ+PZ	1r%   r
   )r   r   numpyr   rO   pandasr   r   r   r   pandas._testing_testingr   pandas.corer   r
   r   r%   r"   <module>r      s/          m1 m1r%   