Ejemplo n.º 1
0
def test_dummy_nodes_merge_bundles():
    G = LayeredGraph()
    G.add_node('a', node=ProcessGroup())
    G.add_node('b', node=ProcessGroup())
    G.ordering = Ordering([[['a']], [['b']]])

    G = add_dummy_nodes(G, 'a', 'b', bundle_key=1)
    assert G['a']['b']['bundles'] == [1]

    G = add_dummy_nodes(G, 'a', 'b', bundle_key=2)
    assert G['a']['b']['bundles'] == [1, 2]

    assert set(G.nodes()) == {'a', 'b'}
    assert set(G.edges()) == {('a', 'b')}
    assert G.ordering == Ordering([[['a']], [['b']]])
Ejemplo n.º 2
0
def _twonodes(xrank, xdir, yrank, ydir, **kwargs):
    G = LayeredGraph()
    G.add_node('x', node=ProcessGroup(direction=xdir))
    G.add_node('y', node=ProcessGroup(direction=ydir))
    layers = [[[]] for i in range(max(xrank, yrank) + 1)]
    layers[xrank][0].append('x')
    layers[yrank][0].append('y')
    G.ordering = Ordering(layers)
    kwargs.setdefault('bundle_key', None)
    return add_dummy_nodes(G, 'x', 'y', **kwargs)
Ejemplo n.º 3
0
def _apply_bundles(G, pairs):
    for x, y in pairs:
        G = add_dummy_nodes(G, x, y, bundle_key=None)
    return G