code: def test_make_tfrecord_vocabulary_dataset(
      self,
      contents,
      expected,
      key_dtype,
      value_dtype,
      return_indicator_as_value,
      has_indicator,
  ):
      vocab_file = os.path.join(
          self.get_temp_dir(), "vocab.tfrecord.gz"
      )
      self._write_tfrecords(vocab_file, contents)
  
      ds = tf_utils._make_tfrecord_vocabulary_dataset(
          vocab_file,
          key_dtype=key_dtype,
          value_dtype=value_dtype,
          return_indicator_as_value=return_indicator_as_value,
          has_indicator=has_indicator,
      )
  
      def validate_dtypes(key, value):
          self.assertEqual(key.dtype, key_dtype)
          self.assertEqual(value.dtype, value_dtype)
          return key, value
  
      ds = ds.map(validate_dtypes)
  
      vocabulary = list(ds.as_numpy_iterator())
      self.assertAllEqual(expected, vocabulary)
  
imports: import os
  import numpy
  from packaging import version
  import tensorflow
  from tensorflow_transform import analyzers
  from tensorflow_transform import annotators
  from tensorflow_transform import tf_utils
  from tensorflow_transform import test_case
  from tensorflow.python.framework import composite_tensor
label_desc: Use image node_id 4 for calling the VocabTFUtilsTest obj's underlying member method code with example usage: obj.test_make_tfrecord_vocabulary_dataset(contents, expected, key_dtype, value_dtype, return_indicator_as_value, has_indicator) and returns: key,  value