code: def testAddSelf(self):
      with test_util.force_cpu():
          for sp_a in (
              self._SparseTensorValue_3x3(),
              self._SparseTensor_3x3(),
          ):
              for sp_b in (
                  self._SparseTensorValue_3x3(),
                  self._SparseTensor_3x3(),
              ):
                  sp_sum = sparse_ops.sparse_add(sp_a, sp_b)
                  self.assertAllEqual((3, 3), sp_sum.get_shape())
  
                  sum_out = self.evaluate(sp_sum)
  
                  self.assertEqual(sp_sum.dense_shape.get_shape(), [2])
                  self.assertAllEqual(
                      sum_out.indices, [[0, 1], [1, 0], [2, 0], [2, 1]]
                  )
                  self.assertAllEqual(sum_out.values, [2, 4, 6, 8])
                  self.assertAllEqual(sum_out.dense_shape, [3, 3])
  
imports: import timeit
  import numpy
  from tensorflow.python.client import session
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import sparse_ops
  import tensorflow.python.ops.sparse_grad
  from tensorflow.python.platform import test
label_desc: Use image node_id 5 for calling the SparseAddTest obj's underlying member method code with example usage: obj.testAddSelf() without return types