code: def test_csv_data_source(
      test_data_csv_csv_10, test_data_csv_csv_20, size, shuffle
  ):
      if size == 10:
          csvfilename = test_data_csv_csv_10
      elif size == 20:
          csvfilename = test_data_csv_csv_20
  
      cds = CsvDataSource(csvfilename, 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])))
      if shuffle:
          assert not list(range(size)) == order
          assert list(range(size)) == sorted(order)
      else:
          assert list(range(size)) == 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 1 for calling a global function with example usage: test_csv_data_source(test_data_csv_csv_10, test_data_csv_csv_20, size, shuffle) without return types