code: def test_even_split(self) -> None:
      datapipe = _DummyDataReader(int(1000))
      train_datapipe, val_datapipe = idx_split_train_val(datapipe, 0.5)
      self.assertEqual(len(list(train_datapipe)), 500)
      self.assertEqual(len(list(val_datapipe)), 500)
  
imports: import random
  import unittest
  from typing import Any, Iterator, List, Tuple
  from unittest.mock import Mock, patch
  from torch.utils.data import IterDataPipe
  from torchrec.datasets.utils import idx_split_train_val, ParallelReadConcat, rand_split_train_val
label_desc: Use image node_id 1 for calling the TestIdxSplitTrainVal obj's underlying member method code with example usage: obj.test_even_split() without return types