code: def test_filename_info_with_custom_template_missing_fields():
      template = _FILENAME_TEMPLATE_CUSTOM_NO_EXTRA
      filename = "test.00042"
      assert naming.FilenameInfo.is_valid(
          filename, filename_template=template
      )
      file_info = naming.FilenameInfo.from_str(
          filename, filename_template=template
      )
      assert str(file_info) == filename
      assert file_info.dataset_name is None
      assert file_info.split == "test"
      assert file_info.filetype_suffix is None
      assert file_info.shard_index == 42
      assert file_info.num_shards is None
  
imports: import os
  from absl.testing import parameterized
  from etils import epath
  import pytest
  from tensorflow_datasets import testing
  from tensorflow_datasets.core import naming
  from tensorflow_datasets.core import splits
label_desc: Use image node_id 10 for calling a global function with example usage: test_filename_info_with_custom_template_missing_fields() without return types