code: def test_sequential():
      ctx = F.ctx()
  
      # test single graph
      class ExampleLayer(gluon.nn.Block):
          def __init__(self, **kwargs):
              super().__init__(**kwargs)
  
          def forward(self, graph, n_feat, e_feat):
              graph = graph.local_var()
              graph.ndata["h"] = n_feat
              graph.update_all(fn.copy_u("h", "m"), fn.sum("m", "h"))
              n_feat += graph.ndata["h"]
              graph.apply_edges(fn.u_add_v("h", "h", "e"))
              e_feat += graph.edata["e"]
              return n_feat, e_feat
  
      g = dgl.graph(([], [])).to(F.ctx())
      g.add_nodes(3)
      g.add_edges(
          [0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 0, 0, 1, 1, 1, 2, 2, 2]
      )
      net = nn.Sequential()
      net.add(ExampleLayer())
      net.add(ExampleLayer())
      net.add(ExampleLayer())
      net.initialize(ctx=ctx)
      n_feat = F.randn((3, 4))
      e_feat = F.randn((9, 4))
      n_feat, e_feat = net(g, n_feat, e_feat)
      assert n_feat.shape == (3, 4)
      assert e_feat.shape == (9, 4)
  
      # test multiple graphs
      class ExampleLayer(gluon.nn.Block):
          def __init__(self, **kwargs):
              super().__init__(**kwargs)
  
          def forward(self, graph, n_feat):
              graph = graph.local_var()
              graph.ndata["h"] = n_feat
              graph.update_all(fn.copy_u("h", "m"), fn.sum("m", "h"))
              n_feat += graph.ndata["h"]
              return n_feat.reshape(graph.num_nodes() // 2, 2, -1).sum(
                  1
              )
  
      g1 = dgl.from_networkx(nx.erdos_renyi_graph(32, 0.05)).to(F.ctx())
      g2 = dgl.from_networkx(nx.erdos_renyi_graph(16, 0.2)).to(F.ctx())
      g3 = dgl.from_networkx(nx.erdos_renyi_graph(8, 0.8)).to(F.ctx())
  
      net = nn.Sequential()
      net.add(ExampleLayer())
      net.add(ExampleLayer())
      net.add(ExampleLayer())
      net.initialize(ctx=ctx)
      n_feat = F.randn((32, 4))
      n_feat = net([g1, g2, g3], n_feat)
      assert n_feat.shape == (4, 4)
  
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 34 for calling a global function with example usage: test_sequential() and returns: n_feat,  e_feat, n_feat