code: import torch
  from torch_geometric.nn import SGConv
  
  
  def test_sg_conv():
      in_channels, out_channels = (16, 32)
      edge_index = torch.tensor([[0, 0, 0, 1, 2, 3], [1, 2, 3, 0, 0, 0]])
      num_nodes = edge_index.max().item() + 1
      x = torch.randn((num_nodes, in_channels))
  
      conv = SGConv(in_channels, out_channels, K=10, cached=True)
      assert conv.__repr__() == 'SGConv(16, 32, K=10)'
      assert conv(x, edge_index).size() == (num_nodes, out_channels)
      assert conv(x, edge_index).size() == (num_nodes, out_channels)
  
      conv = SGConv(in_channels, out_channels, K=10, cached=False)
      assert conv.__repr__() == 'SGConv(16, 32, K=10)'
      assert conv(x, edge_index).size() == (num_nodes, out_channels)
      assert conv(x, edge_index).size() == (num_nodes, out_channels)
  
apis: torch.randn torch.tensor