code: def test_multigraph(self):
      G = nx.MultiGraph(self.edges)
      x = list(edge_dfs(G, self.nodes))
      x_ = [(0, 1, 0), (1, 0, 1), (0, 1, 2), (1, 2, 0), (1, 3, 0)]
      # This is an example of where hash randomization can break.
      # There are 3! * 2 alternative outputs, such as:
      #    [(0, 1, 1), (1, 0, 0), (0, 1, 2), (1, 3, 0), (1, 2, 0)]
      # But note, the edges (1,2,0) and (1,3,0) always follow the (0,1,k)
      # edges. So the algorithm only guarantees a partial order. A total
      # order is guaranteed only if the graph data structures are ordered.
      assert x == x_
  
imports: import pytest
  import networkx
  from networkx.algorithms import edge_dfs
  from networkx.algorithms.traversal.edgedfs import FORWARD, REVERSE
label_desc: Use image node_id 11 for calling the TestEdgeDFS obj's underlying member method code with example usage: obj.test_multigraph() without return types