code: def testProcessFileInfos(self):
      file_infos = []
      file_infos.append(
          {
              "path": "take_50",
              "num_elements": 100,
              "skip": 25,
              "take": 50,
          }
      )
      file_infos.append(
          {
              "path": "skip_all",
              "num_elements": 100,
              "skip": -1,
          }
      )
      file_infos.append(
          {"path": "take_all", "num_elements": 100, "take": -1}
      )
      file_infos.append(
          {
              "path": "take_10",
              "num_elements": 100,
              "skip": 90,
              "take": 20,
          }
      )
      result = shuffle_ops._process_file_infos(file_infos)
      self.assertEqual(
          result["files"],
          ["take_50", "skip_all", "take_all", "take_10"],
      )
      self.assertEqual(result["num_elements"], 160)
      inputs = [0, 49, 50, 51, 149, 150, 151, 159]
      expected = [25, 74, 200, 201, 299, 390, 391, 399]
      for i, expected in enumerate(expected):
          self.assertEqual(
              self.evaluate(
                  shuffle_ops._adjust_index(
                      [inputs[i]],
                      result["thresholds"],
                      result["offsets"],
                  )
              ),
              expected,
          )
  
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 2 for calling the IndexShuffleTest obj's underlying member method code with example usage: obj.testProcessFileInfos() without return types