code: def setUp(self):
      img = np.random.random((5, 5))
      self.data_info1 = dict(img=img.copy(), img_shape=img.shape[:2])
      self.data_info2 = dict(
          img=np.random.random((30, 30, 3)),
          gt_bboxes=np.array([[10, 10, 20, 20], [5, 5, 10, 10]]),
          img_shape=(30, 30),
      )
      self.data_info3 = dict(
          img=np.random.random((30, 30, 3)),
          gt_polygons=[
              np.array([10.0, 10.0, 20.0, 10.0, 20.0, 20.0, 10.0, 20.0])
          ],
          img_shape=(30, 30),
      )
  
imports: import copy
  import unittest
  import unittest.mock
  import numpy
  from mmocr.datasets.transforms import FixInvalidPolygon, RandomCrop, RandomRotate, RemoveIgnored, Resize
  from mmocr.utils import poly2shapely
label_desc: Use image node_id 1 for calling the TestRandomRotate obj's underlying member method code with example usage: obj.setUp() without return types