code: def test_tokenize_keys_reservedids(self):
      def dataset():
          yield ("Cat.", "Dog.")
  
      tok_char1 = list(
          tf_inputs.tokenize(
              dataset(), vocab_type="char", n_reserved_ids=5
          )
      )
      self.assertAllEqual(
          tok_char1[0][0], np.array([ord(c) + 5 for c in "Cat."])
      )
      self.assertAllEqual(
          tok_char1[0][1], np.array([ord(c) + 5 for c in "Dog."])
      )
  
      tok_char2 = list(
          tf_inputs.tokenize(
              dataset(), keys=[0], vocab_type="char", n_reserved_ids=2
          )
      )
      self.assertAllEqual(
          tok_char2[0][0], np.array([ord(c) + 2 for c in "Cat."])
      )
      self.assertEqual(tok_char2[0][1], "Dog.")
  
imports: import collections
  import os
  from unittest import mock
  import gin
  import numpy
  from t5.data import assert_dataset
  from t5.data import preprocessors
  import tensorflow
  import tensorflow_datasets
  from trax.data import inputs
  from trax.data import tf_inputs
label_desc: Use image node_id 8 for calling the TFInputsTest obj's underlying member method code with example usage: obj.test_tokenize_keys_reservedids() without return types