code: def testConsecutiveSpans_ArtifactsWithoutSpanAndVersion(self):
      a11 = test_utils.DummyArtifact()
      a21 = test_utils.DummyArtifact()
      a31 = test_utils.DummyArtifact()
      a_1 = ArtifactWithoutSpan()
      a__ = ArtifactWithoutSpanOrVersion()
  
      a11.span = 1
      a21.span = 2
      a31.span = 3
  
      a11.version = 1
      a21.version = 1
      a31.version = 1
      a_1.version = 1
  
      artifacts = [a11, a21, a31, a_1, a__]
  
      actual = self._consecutive_spans(artifacts)
      self.assertEqual(actual, [a11, a21, a31])
  
imports: from typing import Sequence
  import tensorflow
  from tfx import types
  from tfx.dsl.input_resolution.ops import ops
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.types import artifact
label_desc: Use image node_id 5 for calling the ConsecutiveSpansOpTest obj's underlying member method code with example usage: obj.testConsecutiveSpans_ArtifactsWithoutSpanAndVersion() without return types