code: def test_missing_shard_lengths(self):
      with self.assertRaisesWithPredicateMatch(
          ValueError, "Shard empty."
      ):
          filename_template = _filename_template(
              split="train", dataset_name="mnist"
          )
          split_infos = [
              splits.SplitInfo(
                  name="train",
                  shard_lengths=[],
                  num_bytes=0,
                  filename_template=filename_template,
              ),
          ]
          splits_dict = splits.SplitDict(split_infos=split_infos)
          _ = splits_dict["train"].file_instructions
  
imports: from tensorflow_datasets import testing
  from tensorflow_datasets.core import naming
  from tensorflow_datasets.core import proto
  from tensorflow_datasets.core import splits
  from tensorflow_datasets.core.utils import shard_utils
  import tensorflow_datasets.public_api
label_desc: Use image node_id 8 for calling the GetDatasetFilesTest obj's underlying member method code with example usage: obj.test_missing_shard_lengths() without return types