code: def test_sroie(
      input_size, num_samples, rotate, recognition, mock_sroie_dataset
  ):
      # monkeypatch the path to temporary dataset
      datasets.SROIE.TRAIN = (
          mock_sroie_dataset,
          None,
          "sroie2019_train_task1.zip",
      )
  
      ds = datasets.SROIE(
          train=True,
          download=True,
          img_transforms=Resize(input_size),
          use_polygons=rotate,
          recognition_task=recognition,
          cache_dir="/".join(mock_sroie_dataset.split("/")[:-2]),
          cache_subdir=mock_sroie_dataset.split("/")[-2],
      )
  
      assert len(ds) == num_samples
      assert repr(ds) == f"SROIE(train={True})"
      if recognition:
          _validate_dataset_recognition_part(ds, input_size)
      else:
          _validate_dataset(ds, input_size, is_polygons=rotate)
  
imports: import os
  from shutil import move
  import numpy
  import pytest
  import torch
  from torch.utils.data import DataLoader, RandomSampler
  from doctr import datasets
  from doctr.file_utils import CLASS_NAME
  from doctr.transforms import Resize
label_desc: Use image node_id 10 for calling a global function with example usage: test_sroie(input_size, num_samples, rotate, recognition, mock_sroie_dataset) without return types