class_docstr: Test cases for binary operators.
code: def testSparseMatMul(self):
      # Binary wrappers for sparse_matmul with different hints
      def SparseMatmulWrapperTF(a, b):
          return math_ops.sparse_matmul(a, b, a_is_sparse=True)
  
      def SparseMatmulWrapperFT(a, b):
          return math_ops.sparse_matmul(a, b, b_is_sparse=True)
  
      def SparseMatmulWrapperTT(a, b):
          return math_ops.sparse_matmul(
              a, b, a_is_sparse=True, b_is_sparse=True
          )
  
      # TODO(b/314165739): SparseMatmul XlaBuilder lowering does not support
      # float16 and float64.
      float_types = self.float_types - {np.float16, np.float64}
      self._testMatMul(math_ops.sparse_matmul, float_types)
      self._testMatMul(SparseMatmulWrapperTF, float_types)
      self._testMatMul(SparseMatmulWrapperFT, float_types)
      self._testMatMul(SparseMatmulWrapperTT, float_types)
  
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 26 for calling the BinaryOpsTest obj's underlying member method code with example usage: obj.testSparseMatMul() and returns: math_ops, math_ops, math_ops