code: def testShuffleManyEmptyEpochs(self):
      sizes = [0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0]
      sizes_iter = iter(sizes)
  
      def gen():
          for i in range(next(sizes_iter)):
              yield i
  
      dataset = dataset_ops.Dataset.from_generator(
          gen, output_signature=tensor_spec.TensorSpec((), dtypes.int64)
      )
      dataset = dataset.shuffle(10).repeat(len(sizes)).take(3)
      self.assertDatasetProduces(
          dataset, [0, 0, 1], assert_items_equal=True
      )
  
imports: import collections
  import functools
  import sys
  from absl.testing import parameterized
  import numpy
  from tensorflow.python import pywrap_sanitizers
  from tensorflow.python.checkpoint import checkpoint
  from tensorflow.python.checkpoint import checkpoint_management
  from tensorflow.python.data.experimental.ops import iterator_ops
  from tensorflow.python.data.experimental.ops import random_access
  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.eager import def_function
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import random_seed
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import check_ops
  from tensorflow.python.ops import stateless_random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
  from tensorflow.python.training import saver
label_desc: Use image node_id 11 for calling the ShuffleTest obj's underlying member method code with example usage: obj.testShuffleManyEmptyEpochs() without return types