code: def test_concat_data_source(
      test_data_csv_csv_10, test_data_csv_csv_20, shuffle
  ):
      data_list = [test_data_csv_csv_10, test_data_csv_csv_20]
      ds_list = [
          CsvDataSource(csvfilename, shuffle)
          for csvfilename in data_list
      ]
  
      cds = ConcatDataSource(ds_list, shuffle)
      cds.reset()
      order = []
      for n in range(0, cds.size):
          data, label = cds.next()
          assert data[0][0] == label[0]
          order.append(int(round(data[0][0])))
      original_order = list(range(10)) + list(range(20))
      if shuffle:
          assert not original_order == order
          assert sorted(original_order) == sorted(order)
      else:
          assert original_order == order
  
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 4 for calling a global function with example usage: test_concat_data_source(test_data_csv_csv_10, test_data_csv_csv_20, shuffle) without return types