code: def test_size_proportional_strategy(self):
      dataloaders = self._build_dataloaders()
      strategy = iteration_strategies.SizeProportionalIterationStrategy.from_params(
          dataloaders=dataloaders
      )
  
      counter = Counter()
      count = 10000
      for _ in range(count):
          counter[strategy()] += 1
  
      for idx in range(0, self.NUM_DATALOADERS):
          self.assertTrue(counter[idx] <= 10**idx)
          lower_limit = 10 ** (idx - 1)
          if idx == 0:
              lower_limit = 0
          self.assertTrue(counter[idx] >= lower_limit)
  
file_path: mmf/tests/datasets/test_iteration_strategies.py
imports: import unittest
  from collections import Counter
  import numpy
  import torch
  from mmf.datasets import iteration_strategies
  from tests.test_utils import NumbersDataset
label_desc: Use image node_id 6 for calling the TestIterationStrategies obj's underlying member method code with example usage: obj.test_size_proportional_strategy() without return types