+
    yȇiM                     x    R t ^ RIt^ RIt^ RIHtHtHtHt ^ RI	H
t ^ RIHtHt R	R ltR
R ltRR R lltR tR# )z)
Assertion helpers for arithmetic tests.
N)	DataFrameIndexSeriesarray)BooleanArrayNumpyExtensionArrayc                (   \         P                  ! \        VR7      ;_uu_ 4        W,            RRR4       \         P                  ! \        VR7      ;_uu_ 4        W,            RRR4       R#   + '       g   i     LG; i  + '       g   i     R# ; i)z
Helper function to assert that two objects cannot be added.

Parameters
----------
left : object
    The first operand.
right : object
    The second operand.
msg : str, default "cannot add"
    The error message expected in the TypeError.
matchNpytestraises	TypeErrorleftrightmsgs   &&&n/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/arithmetic/common.pyassert_cannot_addr      sP     
y	,	, 
-	y	,	, 
-	, 
-	,	,	,	,s   	A-	B -A=	 B	c                H   \         P                  ! \        VR7      ;_uu_ 4        W,            RRR4       \         P                  ! \        VR7      ;_uu_ 4        W,            RRR4       \         P                  ! \        VR7      ;_uu_ 4        W,
           RRR4       \         P                  ! \        VR7      ;_uu_ 4        W,
           RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lm; i  + '       g   i     R# ; i)a  
Helper function to assert that two objects can
neither be added nor subtracted.

Parameters
----------
left : object
    The first operand.
right : object
    The second operand.
msg : str or None, default None
    The error message expected in the TypeError.
r	   Nr   r   s   &&&r   assert_invalid_addsub_typer   (   s     
y	,	, 
-	y	,	, 
-	y	,	, 
-	y	,	, 
-	, 
-	,	,	,	,	,	,	,	,s/   	C	C*	C=	DC'	*C:	=D	D!	c                $    V ^8  d   QhR\         /# )   is_cmp)bool)formats   "r   __annotate__r   @   s           c                   \        V \        4      '       g   \        V\        4      '       d   \        # \        V \        4      '       g   \        V\        4      '       d5   V'       d'   \        V \        4      '       d   \        P
                  # \        # \        V \        4      '       g   \        V\        4      '       d   V'       d   \        P
                  # \        # \        P                  # )z
Get the box to use for 'expected' in an arithmetic or comparison operation.

Parameters
left : Any
right : Any
is_cmp : bool, default False
    Whether the operation is a comparison method.
)
isinstancer   r   r   npr   tmto_array)r   r   r   s   &&&r   get_upcast_boxr#   @   s     $	""j	&B&B$:eV#<#<ju--88O$*UE":":88O;;r   c                J   V\         \        39  d   TM\        P                  pR pV! W8H  4      pV! \        P                  ! VP                  \        P
                  R7      4      p\        P                  ! WV4       V! W8H  4      p\        P                  ! WS! V4      4       V! W8g  4      p\        P                  ! WV( 4       V! W8g  4      p\        P                  ! WS! V( 4      4       RP                  . RO4      p\        P                  ! \        VR7      ;_uu_ 4        W8   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8*   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8*   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8   RRR4       \        P                  ! \        VR7      ;_uu_ 4        W8   RRR4       R#   + '       g   i     ELj; i  + '       g   i     ELM; i  + '       g   i     EL0; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)z
Assert that comparison operations with mismatched types behave correctly.

Parameters
----------
left : np.ndarray, ExtensionArray, Index, or Series
right : object
box : {pd.DataFrame, pd.Series, pd.Index, pd.array, tm.to_array}
c                     \        V \        4      '       d   V P                  # \        V \        4      '       d   V P	                  \
        4      # V # N)r   r   _ndarrayr   astyper   )xs   &r   xbox2(assert_invalid_comparison.<locals>.xbox2h   s<     a,--::a&&88D>!r   )dtype|r	   N)zInvalid comparison betweenzCannot compare typeznot supported betweenzinvalid type promotionzThe DTypes <class 'numpy.dtype\[datetime64\]'> and <class 'numpy.dtype\[int64\]'> do not have a common DType. For example they cannot be stored in a single array unless the dtype is `object`.)r   r   r    zerosshapebool_r!   assert_equaljoinr   r   r   )r   r   boxxboxr*   resultexpectedr   s   &&&     r   assert_invalid_comparisonr7   Y   s    eU^+3D 4=!FBHHV\\:;HOOF%5=!FOOFDN+4=!FOOFI&5=!FOOFD(O,
((	
C 
y	,	, 
-	y	,	, 
-	y	,	, 
-	y	,	, 
-	y	,	, 
-	y	,	, 
-	y	,	, 
-	y	,	, 
-	, 
-	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,s`   "JJJ05K&KK+K>9LJ	J-	0K	K	K(	+K;	>L	L"	)z
cannot addr&   )F)__doc__numpyr    r   pandasr   r   r   r   pandas._testing_testingr!   pandas.core.arraysr   r   r   r   r#   r7    r   r   <module>r?      s;       &02Er   