code: def testSpanMultiAlignment(
      self,
      name,
      source_start,
      source_limit,
      target_start,
      target_limit,
      expected,
      contains=False,
      contained_by=False,
      partial_overlap=False,
      ragged_rank=None,
  ):
      source_start = ragged_factory_ops.constant(
          source_start, ragged_rank=ragged_rank
      )
      source_limit = ragged_factory_ops.constant(
          source_limit, ragged_rank=ragged_rank
      )
      target_start = ragged_factory_ops.constant(
          target_start, ragged_rank=ragged_rank
      )
      target_limit = ragged_factory_ops.constant(
          target_limit, ragged_rank=ragged_rank
      )
      multivalent_result = True
      alignment = pointer_ops.span_alignment(
          source_start,
          source_limit,
          target_start,
          target_limit,
          contains,
          contained_by,
          partial_overlap,
          multivalent_result,
      )
      self.assertAllEqual(alignment, expected)
  
file_path: text/tensorflow_text/python/ops/span_alignment_op_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.platform import test
  from tensorflow_text.python.ops import pointer_ops
label_desc: Use image node_id 2 for calling the SpanOverlapsOpTest obj's underlying member method code with example usage: obj.testSpanMultiAlignment(name, source_start, source_limit, target_start, target_limit, expected, contains, contained_by, partial_overlap, ragged_rank) without return types