code: def test_preserve_shape_roundtrip(
      self, input_shape, to_tensor_shape, expected_shape
  ):
      tensor = array_ops.zeros(input_shape)
      ragged_from_tensor = RaggedTensor.from_tensor(
          tensor, ragged_rank=2
      )
      recovered_tensor = ragged_from_tensor.to_tensor(
          shape=to_tensor_shape
      )
      self.assertAllEqual(tensor.shape.as_list(), expected_shape)
      self.assertAllEqual(
          ragged_from_tensor.shape.as_list(), expected_shape
      )
      self.assertAllEqual(
          recovered_tensor.shape.as_list(), expected_shape
      )
  
imports: import random
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.client import session
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.ops.ragged.ragged_tensor import RaggedTensor
  from tensorflow.python.platform import benchmark
  from tensorflow.python.platform import googletest
  from tensorflow.python.util import nest
label_desc: Use image node_id 13 for calling the RaggedTensorToTensorOpTest obj's underlying member method code with example usage: obj.test_preserve_shape_roundtrip(input_shape, to_tensor_shape, expected_shape) without return types