code: def test_basics(self):
      self.run_layer_test(
          layers.Bidirectional,
          init_kwargs={"layer": layers.SimpleRNN(4)},
          input_shape=(3, 2, 4),
          expected_output_shape=(3, 8),
          expected_num_trainable_weights=6,
          expected_num_non_trainable_weights=0,
          supports_masking=True,
      )
      self.run_layer_test(
          layers.Bidirectional,
          init_kwargs={
              "layer": layers.SimpleRNN(4),
              "backward_layer": layers.SimpleRNN(4, go_backwards=True),
              "merge_mode": "sum",
          },
          input_shape=(3, 2, 4),
          expected_output_shape=(3, 4),
          expected_num_trainable_weights=6,
          expected_num_non_trainable_weights=0,
          supports_masking=True,
      )
  
file_path: keras/keras/layers/rnn/bidirectional_test.py
imports: import numpy
  import pytest
  from keras import initializers
  from keras import layers
  from keras import testing
label_desc: Use image node_id 1 for calling the SimpleRNNTest obj's underlying member method code with example usage: obj.test_basics() without return types