code: def test_simple_data_source_duplicated_order(
      test_data_csv_png_20, shuffle
  ):
      src_data = tuple(zip(range(100), range(100)))
  
      def test_load_func(position):
          return src_data[position]
  
      epoch_num = 10
      size = len(src_data)
      ds = SimpleDataSource(test_load_func, size, shuffle=shuffle)
      orders = []
      for k in range(epoch_num):
          order = []
          for i in range(ds.size):
              data = ds.next()
              order.append(data)
          orders.append(order)
          ds.reset()
          ds.apply_order()
  
      for i in range(len(orders) - 1):
          for j in range(i + 1, len(orders)):
              assert orders[i] != orders[j]
  
file_path: nnabla/python/test/utils/test_data_source.py
imports: import os
  import pytest
  from nnabla.utils.data_source_implements import SimpleDataSource, CsvDataSource, ConcatDataSource
  from nnabla.utils.data_source_loader import load_image
  from .conftest import test_data_csv_csv_10, test_data_csv_csv_20
  from .conftest import test_data_csv_png_10, test_data_csv_png_20
label_desc: Use image node_id 2 for calling a global function with example usage: test_simple_data_source_duplicated_order(test_data_csv_png_20, shuffle) and returns: src_data