code: def test_c4_bare_preprocess_fn(self):
      dataset = _c4_dataset()
  
      example = list(tfds.as_numpy(dataset.take(1)))[0]
  
      # Targets are NOT in the example.
      self.assertNotIn("targets", example)
      self.assertIn("text", example)
      text = example["text"]
  
      # This should convert the dataset to an inputs/targets that are tokenized.
      dataset = tf_inputs.c4_bare_preprocess_fn(
          dataset, spm_path=_spm_path()
      )
  
      example = list(tfds.as_numpy(dataset.take(1)))[0]
  
      # Earlier text is now stored in targets_pretokenized
      self.assertIn("targets_pretokenized", example)
      self.assertEqual(example["targets_pretokenized"], text)
  
      # Targets are now tokenized.
      self.assertIn("targets", example)
      self.assertIsInstance(example["targets"], np.ndarray)
      self.assertEqual(example["targets"].dtype, np.int64)
      self.assertGreater(len(example["targets"]), 0)
      self.assertEqual(
          example["targets"][-1], 1
      )  # we add EOS at the end.
  
      # Inputs exist but is empty because t5 preprocessors' unsupervised wasn't
      # gin configured with any.
      self.assertIn("inputs", example)
      self.assertEqual(len(example["inputs"]), 0)
  
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 11 for calling the TFInputsTest obj's underlying member method code with example usage: obj.test_c4_bare_preprocess_fn() without return types