code: def testParseShardedFilename(
      self,
      filename,
      expected_basename,
      expected_shard,
      expected_num_shards,
      expected_suffix,
  ):
      (basename, shard, num_shards, suffix) = io.parse_sharded_filename(
          filename
      )
      self.assertEqual(expected_basename, basename)
      self.assertEqual(expected_shard, int(shard))
      self.assertEqual(expected_num_shards, int(num_shards))
      self.assertEqual(expected_suffix, suffix)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import absltest
  from absl.testing import parameterized
  from third_party.nucleus.io import sharded_file_utils
  from third_party.nucleus.testing import test_utils
label_desc: Use image node_id 11 for calling the ShardsTest obj's underlying member method code with example usage: obj.testParseShardedFilename(filename, expected_basename, expected_shard, expected_num_shards, expected_suffix) without return types