code: def test_sub_split_num_examples(self):
      s = self._builder.info.splits
      self.assertEqual(s["train[75%:]"].num_examples, 5)
      self.assertEqual(s["train[:75%]"].num_examples, 15)
      self.assertEqual(
          s["train"].num_examples,
          s["train[75%:]"].num_examples + s["train[:75%]"].num_examples,
      )
  
      self.assertEqual(s["test[75%:]"].num_examples, 2)
      self.assertEqual(s["test[:75%]"].num_examples, 8)
      self.assertEqual(
          s["test"].num_examples,
          s["test[75%:]"].num_examples + s["test[:75%]"].num_examples,
      )
  
      self.assertEqual(s["all"].num_examples, s.total_num_examples)
  
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 2 for calling the SplitsTest obj's underlying member method code with example usage: obj.test_sub_split_num_examples() without return types