code: def test_gg_conv():
      g = dgl.from_networkx(nx.erdos_renyi_graph(20, 0.3)).to(F.ctx())
      ctx = F.ctx()
  
      gg_conv = nn.GatedGraphConv(
          10, 20, 3, 4
      )  # n_step = 3, n_etypes = 4
      gg_conv.initialize(ctx=ctx)
      print(gg_conv)
  
      # test#1: basic
      h0 = F.randn((20, 10))
      etypes = nd.random.randint(0, 4, g.num_edges()).as_in_context(ctx)
      h1 = gg_conv(g, h0, etypes)
      assert h1.shape == (20, 20)
  
imports: import backend
  import dgl
  import dgl.function
  import dgl.nn.mxnet
  import mxnet
  import networkx
  import numpy
  import pytest
  import scipy
  from mxnet import autograd, gluon, nd
  from utils import parametrize_idtype
  from utils.graph_cases import get_cases, random_bipartite, random_dglgraph, random_graph
label_desc: Use image node_id 13 for calling a global function with example usage: test_gg_conv() without return types