code: def testToFromComponents(self, st_spec, indices, values, dense_shape):
      st = sparse_tensor.SparseTensor(indices, values, dense_shape)
      actual_components = st_spec._to_components(st)
      self.assertAllTensorsEqual(
          actual_components, [indices, values, dense_shape]
      )
      st_reconstructed = st_spec._from_components(actual_components)
      self.assertAllEqual(st.indices, st_reconstructed.indices)
      self.assertAllEqual(st.values, st_reconstructed.values)
      self.assertAllEqual(st.dense_shape, st_reconstructed.dense_shape)
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.core.framework import full_type_pb2
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.framework.type_utils import fulltypes_for_flat_tensors
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import sparse_ops
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 6 for calling the SparseTensorSpecTest obj's underlying member method code with example usage: obj.testToFromComponents(st_spec, indices, values, dense_shape) without return types