
    m*i                     `    S SK r S SKrS SKrS SKrS SKJrJrJrJ	r	J
r
  S SKJr   " S S5      rg)    N)CategoricalIndex	DataFrameIntervalSeriesisnullc                      \ rS rSr\R
                  R                  SSS\R                  // SQ\	R                  / SQ4/ SQSS\R                  /\	R                  / SQ4SS\R                  // SQ\	R                  / SQ4/ SQSS\R                  /\	R                  / SQ4/5      S 5       rS rS	 rS
 rS rS r\R
                  R%                  S5      S 5       rS rS rS rSrg)TestDataFrameLogicalOperators   zleft, right, op, expectedTF)TFT)TFFc                 j    U" U" U5      U" U5      5      nU" U5      n[         R                  " Xd5        g )N)tmassert_equal)selfleftrightopexpectedframe_or_seriesresults          c/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/frame/test_logical_ops.pytest_logical_operators_nans9TestDataFrameLogicalOperators.test_logical_operators_nans   s0    > OD)?5+AB"8,
)    c                 0   [        S/S9nX-  n[        R                  " X!5        X-  n[        R                  " X!5        [        SS/S9nX-  n[        R                  " X#5        [        S/S/S9nXD-  n[        SS/S/S9n[        R                  " X%5        g )N   index   Ar   columnsFr   r   assert_frame_equal)r   dfr   df2dfar   s         r   test_logical_ops_empty_frame:TestDataFrameLogicalOperators.test_logical_ops_empty_frame8   s     aS!
f)
f)q!f%
f*qcC51U1#u=
f/r   c                     [        SS/S/S9nX-  n[        R                  " X!5        X-  n[        R                  " X!5        g )NTr   r   r   r!   )r   	df1a_boolr   s      r   test_logical_ops_bool_frame9TestDataFrameLogicalOperators.test_logical_ops_bool_frameM   s@    d1#u=	&
f0&
f0r   c                     [        SS/S/S9n[        SS/S/S9nX-  n[        R                  " X25        US   US   -  n[        R                  " XBS   5        g )Nr   r   r   T)r   r   r"   assert_series_equal)r   df1a_intr)   r   res_sers        r   test_logical_ops_int_frame8TestDataFrameLogicalOperators.test_logical_ops_int_frameW   sb    QqcC59d1#u=	%
f0 3-)C.0
w#7r   c                    [        SS/S/S9n[        SS/S/S9n[        R                  " S5      n[        R                  " [
        US9   X#-    S S S 5        [        SS/S/S9n[        SS/S/S9nU(       a   US   R                  R                  S	:X  a  S
nO[        R                  " S5      n[        R                  " [
        US9   X#-    S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Ng      ?r   r   r   Tz5unsupported operand type(s) for |: 'float' and 'bool'matchfoopyarrowz-operation 'or_' not supported for dtype 'str'z3unsupported operand type(s) for |: 'str' and 'bool')r   reescapepytestraises	TypeErrordtypestorage)r   using_infer_stringdf1r$   msgs        r   test_logical_ops_invalid6TestDataFrameLogicalOperators.test_logical_ops_invalidc   s     A36QC#7iiOP]]9C0I 1 aS3%8QC#7#c(.."8"8I"EAC))QRC]]9C0I 10 10 10s   
CC&
C#&
C4c           
        ^^ UU4S jnU4S jnSSSSSS.SSSSSS.SSSSSS.SSSSSS.SSSSSS.S.mSSSSSS.SSSSSS.SSSSSS.SSSSSS.SSSSSS.S.m[        T5      m[        T5      mU" [        R                  5        U" [        R                  5        U" [        R                  5        U" [        R
                  5        g )Nc                   > U " TT5      n[        U " TR                  TR                  5      TR                  TR                  S9nUR                  R                  [
        R                  :X  d   e[        R                  " X5        g Nr   	r   valuesr   r    r<   npbool_r   r"   )r   r   r   r?   r$   s      r   _check_bin_opKTestDataFrameLogicalOperators.test_logical_operators.<locals>._check_bin_opv   sb    S\F 3::szz*#))S[[H ==&&"((222!!&3r   c                    > U " T5      n[        U " TR                  5      TR                  TR                  S9nUR                  R                  [
        R                  :X  d   e[        R                  " X5        g rE   rF   )r   r   r   r?   s      r   _check_unary_opMTestDataFrameLogicalOperators.test_logical_operators.<locals>._check_unary_op~   sT    WF CJJsyy#++VH==&&"((222!!&3r   TF)abcde)r   operatorand_or_xorinv)r   rJ   rM   r?   r$   s      @@r   test_logical_operators4TestDataFrameLogicalOperators.test_logical_operatorsu   s    	4	4 %e$TJ4e%eL5t%eL%e$TJ%e$TJ
 %dUK4e%eL%dUK5u4eL5u5tL
 nnhmm$hll#hll#%r   z4ignore:Downcasting object dtype arrays:FutureWarningc                    [        [        R                  S/SS/S.5      nUS   US   -  n[        SS/5      n[        R
                  " X#5        US   R                  S5      US   -  n[        SS/5      n[        R
                  " X#5        Sn[        R                  " [        US9   US   R                  SSS9US   -  nS S S 5        [        SS/5      n[        R
                  " X#5        g ! , (       d  f       N2= f)	NFT)rO   rP   rO   rP   z.The 'downcast' keyword in fillna is deprecatedr3   )downcast)	r   rH   nanr   r   r-   fillnaassert_produces_warningFutureWarning)r   rR   r   r   r@   s        r   test_logical_with_nas3TestDataFrameLogicalOperators.test_logical_with_nas   s    RVVUO4,?@ 3!C&5$-(
v0 3u%#.4,'
v0>''SAsV]]55]9AcFBF B4,'
v0 BAs   'C--
C;c                    [        SS5      [        SS5      /n[        S[        R                  /S[        R                  //[	        X[        SS5      /-   S9S9n[        S	S	/S	S	//UR
                  [        S
9nU[        U5      -  n[        S	S/S	S//[	        X[        SS5      /-   S9S9n[        R                  " XE5        g )Nr   r               )
categories)r    F)r    r<   T)
r   r   rH   r]   r   r    boolr   r   r"   )r   	intervalsdatamaskr   r   s         r   $test_logical_ops_categorical_columnsBTestDataFrameLogicalOperators.test_logical_ops_categorical_columns   s    a^Xa^4	[1bff+&$8Aq>2B&B
 U^eU^,dll$
 t$T]UDM*$8Aq>2B&B
 	f/r   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)r   r   rd   )
         rO   r   )rp         )rq   rp   rr   )         )r   rH   bitwise_xorr   r"   )r   r?   r$   r   r   s        r   'test_int_dtype_different_index_not_boolETestDataFrameLogicalOperators.test_int_dtype_different_index_not_bool   sc    	uEL3%H)[seL
f/
f/r   c                     [        SS/SS/S9n[        SS/SS/S9n[        R                  " [        S	S
9   X-    S S S 5        g ! , (       d  f       g = f)Nr   r   rO   rP   r   rd   re   rQ   zunsupported operand typer3   )r   r9   r:   r;   )r   r?   r$   s      r   ,test_different_dtypes_different_index_raisesJTestDataFrameLogicalOperators.test_different_dtypes_different_index_raises   sK    AsCj1AsCj1]]9,FGI HGGs   A
A N)__name__
__module____qualname____firstlineno__r9   markparametrizerH   r]   rT   rU   rV   r   r&   r*   r0   rA   rY   filterwarningsra   rm   ry   r|   __static_attributes__r~   r   r   r	   r	      s    [[# ubff%#$	 $ubff%$	 ubff%#$	 $ubff%#	'	
:*;:*0*1
8$&&P [[ VW1 X1(0*	0r   r	   )rT   r7   numpyrH   r9   pandasr   r   r   r   r   pandas._testing_testingr   r	   r~   r   r   <module>r      s,     	    F Fr   