code: def _MakeEnumerateTestDataWithSlicesAtDifferentOffsets() -> (
      Iterable[EnumerateStructNullValueTestData]
  ):
      """Yields a test cases constructed from array slices with different offsets.
  
      Slicing in pyarrow is zero copy, which can have subtle bugs, so ensure
      the code works under more obscure situations.
      """
      total_size = 10
      values_array = pa.array(range(total_size), type=pa.int64())
      # create 5 pyarrow.Array object each of size from the original array ([0,1],
      # [2,3], etc
      slices = [
          values_array[start:end]
          for (start, end) in zip(
              range(0, total_size + 1, 2), range(2, total_size + 1, 2)
          )
      ]  # pyformat: disable
      validity = pa.array([True, False], type=pa.bool_())
      # Label fields from "0" to "5"
      new_type = pa.struct(
          [pa.field(str(sl[0].as_py() // 2), sl.type) for sl in slices]
      )
      # Using the value buffer of validity as composed_struct's validity bitmap
      # buffer.
      composed_struct = pa.StructArray.from_buffers(
          new_type,
          len(slices[0]),
          [validity.buffers()[1]],
          children=slices,
      )
      sliced_batch = pa.RecordBatch.from_arrays(
          [composed_struct], ["c"]
      )
      sliced_expected_results = {
          types.FeaturePath(["c"]): pa.array(
              [
                  [{"0": 0, "1": 2, "2": 4, "3": 6, "4": 8}],
                  None,
              ]
          ),
          types.FeaturePath(["c", "0"]): pa.array(
              [0, None], type=pa.int64()
          ),
          types.FeaturePath(["c", "1"]): pa.array(
              [2, None], type=pa.int64()
          ),
          types.FeaturePath(["c", "2"]): pa.array(
              [4, None], type=pa.int64()
          ),
          types.FeaturePath(["c", "3"]): pa.array(
              [6, None], type=pa.int64()
          ),
          types.FeaturePath(["c", "4"]): pa.array(
              [8, None], type=pa.int64()
          ),
      }  # pyformat: disable
      yield (
          "SlicedArrayWithOffests",
          sliced_batch,
          sliced_expected_results,
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import itertools
  from typing import Dict, Iterable, NamedTuple
  from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  import pyarrow
  import six
  from tensorflow_data_validation import types
  from tensorflow_data_validation.arrow import arrow_util
  from tensorflow_data_validation.utils.example_weight_map import ExampleWeightMap
  from tfx_bsl.arrow import array_util
  from tfx_bsl.types import tfx_namedtuple
label_desc: Use image node_id 4 for calling a global function with example usage: _MakeEnumerateTestDataWithSlicesAtDifferentOffsets() without return types