code: def testEditDistanceProperDistance(self):
      # In this case, the values are individual characters stored in the
      # SparseTensor (type DT_STRING)
      hypothesis_indices = [
          [0, i] for i, _ in enumerate("algorithm")
      ] + [[1, i] for i, _ in enumerate("altruistic")]
      hypothesis_values = [x for x in "algorithm"] + [
          x for x in "altruistic"
      ]
      hypothesis_shape = [2, 11]
      truth_indices = [[0, i] for i, _ in enumerate("altruistic")] + [
          [1, i] for i, _ in enumerate("algorithm")
      ]
      truth_values = [x for x in "altruistic"] + [
          x for x in "algorithm"
      ]
      truth_shape = [2, 11]
      expected_unnormalized = [6.0, 6.0]
      expected_normalized = [
          6.0 / len("altruistic"),
          6.0 / len("algorithm"),
      ]
  
      self._testEditDistance(
          hypothesis=(
              hypothesis_indices,
              hypothesis_values,
              hypothesis_shape,
          ),
          truth=(truth_indices, truth_values, truth_shape),
          normalize=False,
          expected_output=expected_unnormalized,
      )
  
      self._testEditDistance(
          hypothesis=(
              hypothesis_indices,
              hypothesis_values,
              hypothesis_shape,
          ),
          truth=(truth_indices, truth_values, truth_shape),
          normalize=True,
          expected_output=expected_normalized,
      )
  
imports: import numpy
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 5 for calling the EditDistanceTest obj's underlying member method code with example usage: obj.testEditDistanceProperDistance() without return types