code: def test_stconv():
      """
      Testing STConv block in STGCN
      """
      batch_size = 10
      sequence_length = 5
  
      number_of_nodes = 300
      in_channels = 100
      edge_per_node = 15
      out_channels = 10
      device = torch.device(
          "cuda" if torch.cuda.is_available() else "cpu"
      )
      batch, _, edge_index, edge_weight = create_mock_batch(
          batch_size,
          sequence_length,
          number_of_nodes,
          edge_per_node,
          in_channels,
          out_channels,
      )
  
      kernel_size = 3
      stconv = STConv(
          num_nodes=number_of_nodes,
          in_channels=in_channels,
          hidden_channels=8,
          out_channels=out_channels,
          kernel_size=3,
          K=2,
      ).to(device)
      H = stconv(
          batch.to(device),
          edge_index.to(device),
          edge_weight.to(device),
      )
      assert H.shape == (
          batch_size,
          sequence_length - 2 * (kernel_size - 1),
          number_of_nodes,
          out_channels,
      )
  
imports: import torch
  import math
  import numpy
  import networkx
  from torch_geometric.data import Data
  from torch_geometric.utils import barabasi_albert_graph
  from torch_geometric.transforms import LaplacianLambdaMax
  from torch_geometric_temporal.nn.attention import TemporalConv, STConv, ASTGCN, MSTGCN, MTGNN, ChebConvAttention, AAGCN, GraphAAGCN, DNNTSP
  from torch_geometric_temporal.nn.attention import GMAN, SpatioTemporalAttention, SpatioTemporalEmbedding
label_desc: Use image node_id 7 for calling a global function with example usage: test_stconv() without return types