
    Mh                     `    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          U/var/www/html/env/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                 F   [        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[        R                  " S	5      nU(       a;  S
S Kn[        R                  " UR                  R                  SS9   X#-    S S S 5        g [        R                  " [
        US9   X#-    S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f! , (       d  f       g = f)Ng      ?r   r   r   Tz5unsupported operand type(s) for |: 'float' and 'bool'matchfooz3unsupported operand type(s) for |: 'str' and 'bool'r   z|has no kernel)	r   reescapepytestraises	TypeErrorpyarrowlibArrowNotImplementedError)r   using_infer_stringdf1r$   msgpas         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iiMN rvv>>FVW	 XW y4	 54 10 XW 54s$   
C0;D"D0
C>
D
D 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    dtypenpbool_r   r"   )r   r   r   r?   r$   s      r   _check_bin_opKTestDataFrameLogicalOperators.test_logical_operators.<locals>._check_bin_opy   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 rF   rG   )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   rL   rO   r?   r$   s      @@r   test_logical_operators4TestDataFrameLogicalOperators.test_logical_operatorsx   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)rQ   rR   rQ   rR   z.The 'downcast' keyword in fillna is deprecatedr3   )downcast)	r   rJ   nanr   r   r-   fillnaassert_produces_warningFutureWarning)r   rT   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    rI   T)
r   r   rJ   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   rf   )
         rQ   r   )rr         )rs   rr   rt   )         )r   rJ   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   rQ   rR   r   rf   rg   rS   zunsupported operand typer3   )r   r8   r9   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__r8   markparametrizerJ   r_   rV   rW   rX   r   r&   r*   r0   rB   r[   filterwarningsrc   ro   r{   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	   )rV   r6   numpyrJ   r8   pandasr   r   r   r   r   pandas._testing_testingr   r	   r   r   r   <module>r      s,     	    I Ir   