code: def test_signed_gcn():
      model = SignedGCN(8, 16, num_layers=2, lamb=5)
      assert str(model) == "SignedGCN(8, 16, num_layers=2)"
  
      pos_index = torch.randint(high=10, size=(2, 40), dtype=torch.long)
      neg_index = torch.randint(high=10, size=(2, 40), dtype=torch.long)
  
      train_pos_index, test_pos_index = model.split_edges(pos_index)
      train_neg_index, test_neg_index = model.split_edges(neg_index)
  
      assert train_pos_index.size() == (2, 32)
      assert test_pos_index.size() == (2, 8)
      assert train_neg_index.size() == (2, 32)
      assert test_neg_index.size() == (2, 8)
  
      x = model.create_spectral_features(
          train_pos_index, train_neg_index, 10
      )
      assert x.size() == (10, 8)
  
      z = model(x, train_pos_index, train_neg_index)
      assert z.size() == (10, 16)
  
      loss = model.loss(z, train_pos_index, train_neg_index)
      assert loss.item() >= 0
  
      auc, f1 = model.test(z, test_pos_index, test_neg_index)
      assert auc >= 0
      assert f1 >= 0
  
      if is_full_test():
          jit = torch.jit.export(model)
          assert torch.allclose(
              jit(x, train_pos_index, train_neg_index), z
          )
  
label_desc: Use image node_id 1 for calling a global function with example usage: test_signed_gcn() without return types