def METHOD_NAME(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_