code: def testLatestSpan_AllArguments(self):
      artifacts = self._get_artifacts_for_rolling_range_tests()
      _, _, a31, a30, a71, _ = artifacts
  
      actual = self._latest_span(
          artifacts,
          n=5,
          skip_last_n=1,
          min_span=3,
          keep_all_versions=True,
      )
      self.assertEqual(actual, [a30, a31, a71])
  
      actual = self._latest_span(
          artifacts,
          n=2,
          skip_last_n=1,
          min_span=3,
          keep_all_versions=True,
      )
      self.assertEqual(actual, [a30, a31, a71])
  
      actual = self._latest_span(
          artifacts,
          n=1,
          skip_last_n=1,
          min_span=3,
          keep_all_versions=True,
      )
      self.assertEqual(actual, [a71])
  
      actual = self._latest_span(
          artifacts,
          n=-1,
          skip_last_n=2,
          min_span=3,
          keep_all_versions=True,
      )
      self.assertEqual(actual, [a30, 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 9 for calling the LatestSpanOpTest obj's underlying member method code with example usage: obj.testLatestSpan_AllArguments() without return types