class_docstr: Test cases for binary operators.
code: def _testBinary(
      self, op, a, b, expected, equality_test=None, rtol=None, atol=None
  ):
      with self.session() as session:
          with self.test_scope():
              pa = array_ops.placeholder(
                  dtypes.as_dtype(a.dtype), a.shape, name="a"
              )
              pb = array_ops.placeholder(
                  dtypes.as_dtype(b.dtype), b.shape, name="b"
              )
              output = op(pa, pb)
          result = session.run(output, {pa: a, pb: b})
          if equality_test is None:
              equality_test = self.assertAllCloseAccordingToType
          if rtol is None:
              rtol = 1e-15 if a.dtype == np.float64 else 1e-3
          if atol is None:
              atol = 1e-15 if a.dtype == np.float64 else 1e-6
          equality_test(result, expected, rtol=rtol, atol=atol)
  
imports: import itertools
  import numpy
  from tensorflow.compiler.tests import xla_test
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import bitwise_ops
  from tensorflow.python.ops import gen_array_ops
  from tensorflow.python.ops import gen_math_ops
  from tensorflow.python.ops import gen_nn_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.platform import googletest
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling the BinaryOpsTest obj's underlying member method code with example usage: obj._testBinary(op, a, b, expected, equality_test, rtol, atol) without return types