code: def test_type_spec_input_creator(self):
      type_spec = {
          "c_ragged": tf.RaggedTensorSpec(
              shape=[None, None], dtype=tf.float32
          ),
          "ragged": tf.RaggedTensorSpec(
              shape=[None, None, None], dtype=tf.float32
          ),
          "tensor": tf.TensorSpec(
              shape=[None, None, 256], dtype=tf.float32
          ),
      }
      context_feature_names = ["c_ragged"]
      example_feature_names = ["ragged", "tensor"]
      input_creator = model_lib.TypeSpecInputCreator(
          type_spec, context_feature_names, example_feature_names
      )
      context_inputs, example_inputs = input_creator()
      self.assertAllEqual(
          context_inputs["c_ragged"].shape, [None, None]
      )
      self.assertAllEqual(
          example_inputs["ragged"].shape, [None, None, None]
      )
      self.assertAllEqual(
          example_inputs["tensor"].shape, [None, None, 256]
      )
  
imports: from absl.testing import parameterized
  import tensorflow
  from google.protobuf import text_format
  from tensorflow_ranking.python import data
  from tensorflow_ranking.python.keras import feature
  from tensorflow_ranking.python.keras import losses
  from tensorflow_ranking.python.keras import metrics
  from tensorflow_ranking.python.keras import model
  from tensorflow_ranking.python.keras import network
  from tensorflow_serving.apis import input_pb2
label_desc: Use image node_id 2 for calling the InputCreatorTest obj's underlying member method code with example usage: obj.test_type_spec_input_creator() without return types