code: def test_string_partition(reader_factory, tmpdir, partition_by):
      """Try datasets partitioned by a string, integer and string+integer fields"""
      url = "file://" + tmpdir.strpath
  
      data = create_test_scalar_dataset(
          url, 10, partition_by=partition_by
      )
      with reader_factory(url) as reader:
          row_ids_batched = [row.id for row in reader]
      actual_row_ids = list(itertools.chain(*row_ids_batched))
      assert len(data) == len(actual_row_ids)
  
imports: import glob
  import itertools
  import numpy
  import pandas
  import pytest
  from pyarrow import parquet
  from petastorm import make_batch_reader, make_reader
  from petastorm.arrow_reader_worker import ArrowReaderWorker
  from petastorm.tests.test_common import create_test_scalar_dataset
  from petastorm.transform import TransformSpec
  from petastorm.unischema import UnischemaField
label_desc: Use image node_id 12 for calling a global function with example usage: test_string_partition(reader_factory, tmpdir, partition_by) without return types