def test_circuit():
    assert circuit_from_eulerian(
        create_multi_graph(3, [[0, 1], [2, 0], [1, 2]])) in [[0, 1, 2],
                                                             [1, 2, 0],
                                                             [2, 0, 1]]
def test_circuit_no_edge():
    assert circuit_from_eulerian([[], []]) == []
def test_circuit_loop():
    assert circuit_from_eulerian(create_multi_graph(1, [[0, 0]])) == [0]
def test_circuit_empty():
    assert circuit_from_eulerian([]) == []
def test_circuit():
    assert circuit_from_eulerian(create_multi_graph([[1, 2], [3, 1],
                                                     [2, 3]])) in [[1, 2, 3],
                                                                   [2, 3, 1],
                                                                   [3, 1, 2]]
def test_circuit_loop():
    assert circuit_from_eulerian(create_multi_graph([[1, 1]])) == [1]
def test_circuit_no_edge():
    assert circuit_from_eulerian({1: [], 2: []}) == []
def test_circuit_empty():
    assert circuit_from_eulerian(dict()) == []