code: def test_multi(self, num_replicas, num_of_data, shuffle):
      if num_replicas > num_of_data:
          pytest.skip("num_replicas > num_of_data")
      data = DatasetWithVaryLength(num_of_data=num_of_data)
      samplers = []
      for i in range(num_replicas):
          sampler = UnrepeatedRandomSampler(
              dataset=data, shuffle=shuffle
          )
          sampler.set_distributed(num_replicas, rank=i)
          samplers.append(sampler)
  
      indexes = list(chain(*samplers))
      assert len(indexes) == num_of_data
      indexes = set(indexes)
      assert indexes == set(range(num_of_data))
  
file_path: fastNLP/tests/core/samplers/test_unrepeated_sampler.py
imports: from itertools import chain
  import pytest
  from fastNLP.core.samplers import UnrepeatedRandomSampler, UnrepeatedSortedSampler, UnrepeatedSequentialSampler
label_desc: Use image node_id 2 for calling the TestUnrepeatedSampler obj's underlying member method code with example usage: obj.test_multi(num_replicas, num_of_data, shuffle) without return types