code: def test_init(self):
      # test mean is None
      processor = TextRecogDataPreprocessor()
      self.assertTrue(not hasattr(processor, "mean"))
      self.assertTrue(processor._enable_normalize is False)
  
      # test mean is not None
      processor = TextRecogDataPreprocessor(
          mean=[0, 0, 0], std=[1, 1, 1]
      )
      self.assertTrue(hasattr(processor, "mean"))
      self.assertTrue(hasattr(processor, "std"))
      self.assertTrue(processor._enable_normalize)
  
      # please specify both mean and std
      with self.assertRaises(AssertionError):
          TextRecogDataPreprocessor(mean=[0, 0, 0])
  
      # bgr2rgb and rgb2bgr cannot be set to True at the same time
      with self.assertRaises(AssertionError):
          TextRecogDataPreprocessor(bgr_to_rgb=True, rgb_to_bgr=True)
  
      aug_cfg = [dict(type="Augment")]
      processor = TextRecogDataPreprocessor()
      self.assertIsNone(processor.batch_augments)
      processor = TextRecogDataPreprocessor(batch_augments=aug_cfg)
      self.assertIsInstance(
          processor.batch_augments, torch.nn.ModuleList
      )
      self.assertIsInstance(processor.batch_augments[0], Augment)
  
file_path: mmocr/tests/test_models/test_textrecog/test_data_preprocessors/test_data_preprocessor.py
imports: from unittest import TestCase
  import torch
  from mmocr.models.textrecog.data_preprocessors import TextRecogDataPreprocessor
  from mmocr.registry import MODELS
  from mmocr.structures import TextRecogDataSample
label_desc: Use image node_id 1 for calling the TestTextRecogDataPreprocessor obj's underlying member method code with example usage: obj.test_init() without return types