code: def test_iterator_tracks_epochs_per_dataset(self):
      generated_dataset1 = list(
          self.iterator(self.instances, num_epochs=2)
      )
      generated_dataset2 = list(
          self.iterator(self.more_instances, num_epochs=2)
      )
  
      # First dataset has five sentences. See ``IteratorTest.setUp``
      assert generated_dataset1[0]["epoch_num"] == [0, 0, 0, 0, 0]
      assert generated_dataset1[1]["epoch_num"] == [1, 1, 1, 1, 1]
      # Second dataset has three sentences.
      assert generated_dataset2[0]["epoch_num"] == [0, 0, 0]
      assert generated_dataset2[1]["epoch_num"] == [1, 1, 1]
  
imports: from __future__ import absolute_import
  from allennlp.data.iterators import EpochTrackingBucketIterator
  from allennlp.tests.data.iterators.basic_iterator_test import IteratorTest
label_desc: Use image node_id 2 for calling the EpochTrackingBucketIteratorTest obj's underlying member method code with example usage: obj.test_iterator_tracks_epochs_per_dataset() without return types