code: def test_datasetdict_from_json_features(
      features, jsonl_path, tmp_path
  ):
      cache_dir = tmp_path / "cache"
      default_expected_features = {
          "col_1": "string",
          "col_2": "int64",
          "col_3": "float64",
      }
      expected_features = (
          features.copy() if features else default_expected_features
      )
      features = (
          Features(
              {
                  feature: Value(dtype)
                  for feature, dtype in features.items()
              }
          )
          if features is not None
          else None
      )
      dataset = JsonDatasetReader(
          {"train": jsonl_path}, features=features, cache_dir=cache_dir
      ).read()
      _check_json_datasetdict(dataset, expected_features)
  
imports: import io
  import json
  import fsspec
  import pytest
  from datasets import Dataset, DatasetDict, Features, NamedSplit, Value
  from datasets.io.json import JsonDatasetReader, JsonDatasetWriter
  from ..utils import assert_arrow_memory_doesnt_increase, assert_arrow_memory_increases
label_desc: Use image node_id 10 for calling a global function with example usage: test_datasetdict_from_json_features(features, jsonl_path, tmp_path) without return types