code: def test_edit_distance(self):
      results = metrics.edit_distance(
          ["This is a sentence."], ["This is a different SENTENCE."]
      )
      self.assertDictClose(
          results,
          {
              "max_edit": 1,
              "mean_edit": 1.0,
              "median_edit": 1.0,
              "min_edit": 1,
              "sum_edit": 1,
          },
      )
      results = metrics.edit_distance(
          ["This is a sentence."],
          ["This is a different SENTENCE."],
          lower=False,
      )
      self.assertDictClose(
          results,
          {
              "max_edit": 2,
              "mean_edit": 2.0,
              "median_edit": 2.0,
              "min_edit": 2,
              "sum_edit": 2,
          },
      )
  
      results = metrics.edit_distance(
          ["Non-ascii separate."], ["Non-ascii🙂separate."], lower=False
      )
      self.assertDictClose(
          results,
          {
              "max_edit": 0,
              "mean_edit": 0.0,
              "median_edit": 0.0,
              "min_edit": 0,
              "sum_edit": 0,
          },
      )
  
imports: from unittest import mock
  from absl.testing import absltest
  import numpy
  import seqio
  import sklearn.metrics
  from t5.evaluation import metrics
  from t5.evaluation import test_utils
label_desc: Use image node_id 38 for calling the MetricsTest obj's underlying member method code with example usage: obj.test_edit_distance() without return types