code: def _build_dataset(
      self, seed=None, reshuffle_each_iteration=None, num_elements=10
  ):
      file_infos = []
      for _ in range(5):
          file_infos.append(
              {"path": "unused", "num_elements": num_elements}
          )
  
      def reader_factory(files):
          return dataset_ops.Dataset.range(
              num_elements
              * array_ops.shape(files, out_type=dtypes.int64)[0]
          )
  
      return shuffle_ops.index_shuffle(
          file_infos,
          reader_factory,
          seed=seed,
          reshuffle_each_iteration=reshuffle_each_iteration,
      )
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.data.experimental.ops import shuffle_ops
  from tensorflow.python.data.kernel_tests import checkpoint_test_base
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.data.ops import options
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import dtypes
  from tensorflow.python.ops import array_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling the IndexShuffleTest obj's underlying member method code with example usage: obj._build_dataset(seed, reshuffle_each_iteration, num_elements) and returns: shuffle_ops, dataset_ops