code: def test_synthtext(
      input_size,
      num_samples,
      rotate,
      recognition,
      mock_synthtext_dataset,
  ):
      # monkeypatch the path to temporary dataset
      datasets.SynthText.URL = mock_synthtext_dataset
      datasets.SynthText.SHA256 = None
  
      ds = datasets.SynthText(
          train=True,
          download=True,
          img_transforms=Resize(input_size),
          use_polygons=rotate,
          recognition_task=recognition,
          cache_dir="/".join(mock_synthtext_dataset.split("/")[:-2]),
          cache_subdir=mock_synthtext_dataset.split("/")[-2],
      )
  
      assert len(ds) == num_samples
      assert repr(ds) == f"SynthText(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 16 for calling a global function with example usage: test_synthtext(input_size, num_samples, rotate, recognition, mock_synthtext_dataset) without return types