code: def test_eval_metric_fns(self, loss_key):
      estimator = self._create_default_estimator(loss_key)
      self.assertCountEqual(
          estimator._eval_metric_fns().keys(),
          [
              "metric/mrr",
              "metric/mrr_10",
              "metric/ndcg",
              "metric/ndcg_10",
              "metric/ndcg_5",
          ]
          + [
              f"metric/{key.split(':')[0]}"
              for key in loss_key.split(",")
          ],
      )
  
      # Metric weights feature name is set.
      hparams = _get_hparams(loss_key)
      hparams.update(
          {"metric_weights_feature_name": "a_weight_feature"}
      )
      estimator = self._create_default_estimator(hparams=hparams)
      self.assertCountEqual(
          estimator._eval_metric_fns().keys(),
          [
              "metric/mrr",
              "metric/mrr_10",
              "metric/ndcg",
              "metric/ndcg_10",
              "metric/ndcg_5",
              "metric/weighted_mrr",
              "metric/weighted_mrr_10",
              "metric/weighted_ndcg",
              "metric/weighted_ndcg_10",
              "metric/weighted_ndcg_5",
          ]
          + [
              f"metric/{key.split(':')[0]}"
              for key in loss_key.split(",")
          ]
          + [
              f"metric/weighted_{key.split(':')[0]}"
              for key in loss_key.split(",")
          ],
      )
  
imports: import os
  from absl.testing import parameterized
  import six
  import tensorflow
  from tensorflow import estimator
  from google.protobuf import text_format
  from tensorflow_ranking.python import data
  from tensorflow_ranking.python import estimator
  from tensorflow_ranking.python import feature
  from tensorflow_serving.apis import input_pb2
label_desc: Use image node_id 9 for calling the EstimatorBuilderTest obj's underlying member method code with example usage: obj.test_eval_metric_fns(loss_key) without return types