code: def assertSparseValuesEqual(self, a, b):
      if not isinstance(a, sparse_tensor.SparseTensor):
          self.assertFalse(isinstance(b, sparse_tensor.SparseTensor))
          self.assertEqual(a, b)
          return
      self.assertTrue(isinstance(b, sparse_tensor.SparseTensor))
      with self.cached_session():
          self.assertAllEqual(
              a.eval().indices, self.evaluate(b).indices
          )
          self.assertAllEqual(a.eval().values, self.evaluate(b).values)
          self.assertAllEqual(
              a.eval().dense_shape, self.evaluate(b).dense_shape
          )
  
imports: import functools
  from absl.testing import parameterized
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.util import nest
  from tensorflow.python.data.util import sparse
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.platform import test
label_desc: Use image node_id 6 for calling the SparseTest obj's underlying member method code with example usage: obj.assertSparseValuesEqual(a, b) without return types