code: def test_apply_per_key_vocab(self, with_default_value, input_keys):
      default_value = "-7,-5" if with_default_value else None
      vocab_data = [
          ("0,0", "a"),
          ("1,-1", "b"),
          ("-1,1", "c"),
          ("-2,2", "d"),
      ]
      expected_missing_key_result = (
          [-7, -5] if default_value else [0, 0]
      )
      expected_lookup_results = {
          "a": [0, 0],
          "b": [1, -1],
          "c": [-1, 1],
          "d": [-2, 2],
      }
  
      with tf.compat.v1.Graph().as_default():
          input_tensor = _value_to_tensor(input_keys)
          vocab_filename = os.path.join(self.get_temp_dir(), "test.txt")
          encoded_vocab = "\n".join(
              [" ".join(pair) for pair in vocab_data]
          )
          with tf.io.gfile.GFile(vocab_filename, "w") as f:
              f.write(encoded_vocab)
  
          output_tensor = tf_utils.apply_per_key_vocabulary(
              tf.constant(vocab_filename),
              input_tensor,
              default_value=default_value,
          )
  
          with tf.compat.v1.Session() as sess:
              sess.run(tf.compat.v1.tables_initializer())
              output = output_tensor.eval()
  
          expected_data = [
              expected_lookup_results.get(
                  key, expected_missing_key_result
              )
              for key in input_keys
          ]
          self.assertAllEqual(output, expected_data)
  
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 14 for calling the TFUtilsTest obj's underlying member method code with example usage: obj.test_apply_per_key_vocab(with_default_value, input_keys) without return types