code: def test_lstm_with_recurrent_attention(
      self,
      encoder_output_length,
      encoder_output_dim,
      decoder_input_length,
      decoder_state_dim,
      batch_size,
      gc,
      dc,
  ):
      self.lstm_with_attention(
          partial(
              rnn_cell.LSTMWithAttention,
              attention_type=AttentionType.Recurrent,
          ),
          encoder_output_length,
          encoder_output_dim,
          decoder_input_length,
          decoder_state_dim,
          batch_size,
          lstm_with_recurrent_attention_reference,
          gc,
      )
  
imports: from caffe2.python import core, gradient_checker, rnn_cell, workspace, scope, utils
  from caffe2.python.attention import AttentionType
  from caffe2.python.model_helper import ModelHelper, ExtractPredictorNet
  from caffe2.python.rnn.rnn_cell_test_util import sigmoid, tanh, _prepare_rnn
  from caffe2.proto import caffe2_pb2
  import caffe2.python.hypothesis_test_util
  from functools import partial
  from hypothesis import assume, given
  from hypothesis import settings
  import hypothesis.strategies
  import numpy
  import unittest
label_desc: Use image node_id 15 for calling the RNNCellTest obj's underlying member method code with example usage: obj.test_lstm_with_recurrent_attention(encoder_output_length, encoder_output_dim, decoder_input_length, decoder_state_dim, batch_size, gc, dc) without return types