class_docstr: Various Series and DataFrame arithmetic ops methods.
  
  Subclasses supporting various ops should set the class variables
  to indicate that they support ops of that kind
  
  * series_scalar_exc = TypeError
  * frame_scalar_exc = TypeError
  * series_array_exc = TypeError
  * divmod_exc = TypeError
class_docstr_tok: ["Various","Series","and","DataFrame","arithmetic","ops","methods",".","Subclasses","supporting","various","ops","should","set","the","class","variables","to","indicate","that","they","support","ops","of","that","kind","*","series_scalar_exc","=","TypeError","*","frame_scalar_exc","=","TypeError","*","series_array_exc","=","TypeError","*","divmod_exc","=","TypeError"]
code: def test_direct_arith_with_ndframe_returns_not_implemented(
      self, data, box, op_name
  ):
      # EAs should return NotImplemented for ops with Series/DataFrame/Index
      # Pandas takes care of unboxing the series and calling the EA's op.
      other = box(data)
  
      if hasattr(data, op_name):
          result = getattr(data, op_name)(other)
          assert result is NotImplemented
  
imports: from __future__ import annotations
  from typing import final
  import numpy
  import pytest
  from pandas._config import using_pyarrow_string_dtype
  from pandas.core.dtypes.common import is_string_dtype
  import pandas
  import pandas._testing
  from pandas.core import ops
label_desc: Use image node_id 7 for calling the BaseArithmeticOpsTests obj's underlying member method code with example usage: obj.test_direct_arith_with_ndframe_returns_not_implemented(data, box, op_name) without return types