code: def test_random_rotate(self):
      angle_limits = [-5.0, 5.0]
      src_single_image = mx.nd.random.uniform(
          0, 1, (3, 30, 60), dtype=np.float32
      )
      out_single_image = mx.image.random_rotate(
          src_single_image, angle_limits
      )
      self.assertEqual(out_single_image.shape, (3, 30, 60))
      src_batch_image = mx.nd.stack(
          src_single_image, src_single_image, src_single_image
      )
      out_batch_image = mx.image.random_rotate(
          src_batch_image, angle_limits
      )
      self.assertEqual(out_batch_image.shape, (3, 3, 30, 60))
  
imports: import os
  import mxnet
  import numpy
  import scipy.ndimage
  from mxnet.test_utils import *
  from common import xfail_when_nonstandard_decimal_separator
  import shutil
  import tempfile
  import unittest
  import pytest
label_desc: Use image node_id 20 for calling the TestImage obj's underlying member method code with example usage: obj.test_random_rotate() without return types