code: def test_immutabledict_features(self):
      _add_t5_task(
          "t5_tfds_task",
          dataset_providers.TfdsTask,
          tfds_name="fake:0.0.0",
          output_features=immutabledict.immutabledict(
              {
                  "inputs": seqio.Feature(
                      test_utils.sentencepiece_vocab()
                  ),
                  "targets": seqio.Feature(
                      test_utils.sentencepiece_vocab()
                  ),
              }
          ),
      )
      self.verify_task_matches_fake_datasets(
          "t5_tfds_task", use_cached=False
      )
  
imports: import os
  from absl.testing import absltest
  import immutabledict
  import seqio
  from seqio import test_utils
  from t5.data import dataset_providers
  import tensorflow.compat.v2
label_desc: Use image node_id 2 for calling the TasksTest obj's underlying member method code with example usage: obj.test_immutabledict_features() without return types