code: def test_forward_test(self):
      decoder = ParallelSARDecoder(
          self.dict_cfg, max_seq_len=self.max_seq_len
      )
      feat = torch.rand(2, 512, 4, self.max_seq_len)
      out_enc = torch.rand(2, 512)
      decoder.train_mode = False
      out_test = decoder.forward_test(feat, out_enc, self.data_info)
      assert out_test.shape == torch.Size([2, self.max_seq_len, 39])
      out_test = decoder.forward_test(feat, out_enc, None)
      assert out_test.shape == torch.Size([2, self.max_seq_len, 39])
  
file_path: mmocr/tests/test_models/test_textrecog/test_decoders/test_sar_decoder.py
imports: from unittest import TestCase
  import torch
  from mmengine.structures import LabelData
  from mmocr.models.textrecog.decoders import ParallelSARDecoder, SequentialSARDecoder
  from mmocr.structures import TextRecogDataSample
label_desc: Use image node_id 4 for calling the TestParallelSARDecoder obj's underlying member method code with example usage: obj.test_forward_test() without return types