code: def _check_csv_datasetdict(
      dataset_dict, expected_features, splits=("train",)
  ):
      assert isinstance(dataset_dict, DatasetDict)
      for split in splits:
          dataset = dataset_dict[split]
          assert dataset.num_rows == 4
          assert dataset.num_columns == 3
          assert dataset.column_names == ["col_1", "col_2", "col_3"]
          for feature, expected_dtype in expected_features.items():
              assert dataset.features[feature].dtype == expected_dtype
  
imports: import os
  import tempfile
  from unittest import TestCase
  import numpy
  import pandas
  import pytest
  from datasets import load_from_disk
  from datasets.arrow_dataset import Dataset
  from datasets.dataset_dict import DatasetDict, IterableDatasetDict
  from datasets.features import ClassLabel, Features, Sequence, Value
  from datasets.iterable_dataset import IterableDataset
  from datasets.splits import NamedSplit
  from .utils import assert_arrow_memory_doesnt_increase, assert_arrow_memory_increases, require_tf, require_torch
label_desc: Use image node_id 2 for calling a global function with example usage: _check_csv_datasetdict(dataset_dict, expected_features, splits) without return types