code: def test_hetero_gclstm_layer():
      """
      Testing the HeteroGCLSTM Layer.
      """
      number_of_nodes = 50
      feature_dict = {"author": 20, "paper": 30}
      out_channels = 32
  
      x_dict, edge_index_dict, metadata = create_hetero_mock_data(
          number_of_nodes, feature_dict
      )
  
      layer = HeteroGCLSTM(
          in_channels_dict=feature_dict,
          out_channels=out_channels,
          metadata=metadata,
      )
  
      h_dict, c_dict = layer(x_dict, edge_index_dict)
  
      assert h_dict["author"].shape == (number_of_nodes, out_channels)
      assert h_dict["paper"].shape == (number_of_nodes, out_channels)
      assert c_dict["author"].shape == (number_of_nodes, out_channels)
      assert c_dict["paper"].shape == (number_of_nodes, out_channels)
  
      h_dict, c_dict = layer(x_dict, edge_index_dict, h_dict, c_dict)
  
      assert h_dict["author"].shape == (number_of_nodes, out_channels)
      assert h_dict["paper"].shape == (number_of_nodes, out_channels)
      assert c_dict["author"].shape == (number_of_nodes, out_channels)
      assert c_dict["paper"].shape == (number_of_nodes, out_channels)
  
file_path: pytorch_geometric_temporal/test/heterogeneous_test.py
imports: import torch
  import numpy
  import networkx
  import torch_geometric.transforms
  from torch_geometric.data import HeteroData
  from torch_geometric_temporal.nn.hetero import HeteroGCLSTM
label_desc: Use image node_id 3 for calling a global function with example usage: test_hetero_gclstm_layer() without return types