code: def test_in_order_with_repetitions(self) -> None:
      dataloader_1 = DataLoader(RandomDataset(32, 8), batch_size=8)
      dataloader_2 = DataLoader(RandomDataset(32, 16), batch_size=8)
  
      in_order = InOrder(iteration_order=["2", "1", "2"])
  
      multi_dataloader = iter(
          MultiDataLoader(
              self._get_dataloaders_dict(dataloader_1, dataloader_2),
              in_order,
          )
      )
  
      # first 2 batches from dataset 2
      for _ in range(2):
          batch = next(multi_dataloader)
          self.assertTrue(len(batch) == 1)
          self.assertTrue("2" in batch)
  
      # next batch from dataset 1
      batch = next(multi_dataloader)
      self.assertTrue(len(batch) == 1)
      self.assertTrue("1" in batch)
  
      # last 2 batches from dataset 2
      for _ in range(2):
          batch = next(multi_dataloader)
          self.assertTrue(len(batch) == 1)
          self.assertTrue("2" in batch)
  
      # Raises StopIteration after all exhausted
      with self.assertRaises(StopIteration):
          batch = next(multi_dataloader)
  
imports: import random
  import unittest
  from collections import Counter
  from typing import Any, cast, Dict, Iterable, Iterator, List, Mapping, Union
  import torch
  from torch.utils.data import DataLoader, Dataset
  from torchtnt.utils.data.iterators import AllDatasetBatches, DataIterationStrategy, InOrder, MultiIterator, RandomizedBatchSampler, RoundRobin, StoppingMechanism
  from torchtnt.utils.data.multi_dataloader import MultiDataLoader
label_desc: Use image node_id 13 for calling the TestMultiDataLoader obj's underlying member method code with example usage: obj.test_in_order_with_repetitions() without return types