code: def test_get_derived_feature_ambiguous(self):
      stats_proto = (
          statistics_pb2.DatasetFeatureStatisticsList.FromString(
              self._stats_proto.SerializeToString()
          )
      )
      # Duplicate the derived feature.
      stats_proto.datasets[2].features.append(
          stats_proto.datasets[2].features[2]
      )
      view = stats_util.DatasetListView(stats_proto).get_default_slice()
      with self.assertRaisesRegex(
          ValueError, "Ambiguous result, 2 features matched"
      ):
          view.get_derived_feature(
              "my_deriver_name",
              [
                  types.FeaturePath(["f0_step1", "f0_step2"]),
                  types.FeaturePath(["f1"]),
              ],
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  from absl import flags
  from absl.testing import absltest
  import numpy
  import tensorflow
  from tensorflow_data_validation import types
  from tensorflow_data_validation.utils import artifacts_io_impl
  from tensorflow_data_validation.utils import stats_util
  from google.protobuf import text_format
  from tensorflow.python.util.protobuf import compare
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 11 for calling the DatasetListViewTest obj's underlying member method code with example usage: obj.test_get_derived_feature_ambiguous() without return types