code: def test_shape(self, input_param, input_shape, expected_shape):
      net = SABlock(**input_param)
      with eval_mode(net):
          result = net(torch.randn(input_shape))
          self.assertEqual(result.shape, expected_shape)
  
file_path: MONAI/tests/test_selfattention.py
imports: from __future__ import annotations
  import unittest
  from unittest import skipUnless
  import numpy
  import torch
  from parameterized import parameterized
  from monai.networks import eval_mode
  from monai.networks.blocks.selfattention import SABlock
  from monai.utils import optional_import
label_desc: Use image node_id 1 for calling the TestResBlock obj's underlying member method code with example usage: obj.test_shape(input_param, input_shape, expected_shape) without return types