code: def testShuffleFiles(self):
      cluster = data_service_test_base.TestCluster(num_workers=3)
      shuffled_filenames = random_ops.random_shuffle(self._filenames)
      dataset = dataset_ops.Dataset.from_tensor_slices(
          shuffled_filenames
      )
      dataset = dataset.interleave(readers.TFRecordDataset)
      dataset = self.make_distributed_dataset(
          dataset,
          cluster=cluster,
          processing_mode=data_service_ops.ShardingPolicy.DYNAMIC,
      )
      # pylint:disable=g-complex-comprehension
      expected = [
          b"Record %d of file %d" % (record, file)
          for file in range(0, 5)
          for record in range(0, 5)
      ]
      self.assertDatasetProduces(
          dataset,
          expected,
          requires_initialization=True,
          assert_items_equal=True,
      )
  
imports: import collections
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.data.experimental.kernel_tests.service import test_base
  from tensorflow.python.data.experimental.ops import data_service_ops
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.kernel_tests import tf_record_test_base
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.data.ops import readers
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import errors
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the DynamicShardingFilesTest obj's underlying member method code with example usage: obj.testShuffleFiles() without return types