def test_subportgraph_out_edges():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert_raises(InvalidVertex, lambda: tuple(sub.out_edges(10)))
    assert set(sub.out_edges(0)) == {0}
    assert sub.nb_out_edges(0) == 1
def test_subportgraph_out_edges():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert_raises(InvalidVertex, lambda: tuple(sub.out_edges(10)))
    assert set(sub.out_edges(0)) == {0}
    assert sub.nb_out_edges(0) == 1
def test_subportgraph_nb_connections():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert sub.nb_connections(0) == 1
    assert sub.nb_connections(2) == 1
    assert sub.nb_connections(3) == 0
    assert sub.nb_connections(4) == 0
    for pid in (1, 5):
        assert_raises(InvalidPort, lambda: sub.nb_connections(pid))
def test_subportgraph_nb_connections():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert sub.nb_connections(0) == 1
    assert sub.nb_connections(2) == 1
    assert sub.nb_connections(3) == 0
    assert sub.nb_connections(4) == 0
    for pid in (1, 5):
        assert_raises(InvalidPort, lambda: sub.nb_connections(pid))
def test_subportgraph_connected_ports():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert set(sub.connected_ports(0)) == {2}
    assert set(sub.connected_ports(2)) == {0}
    assert len(set(sub.connected_ports(3))) == 0
    assert len(set(sub.connected_ports(4))) == 0
    assert_raises(InvalidPort, lambda: sub.connected_ports(1).next())
    assert_raises(InvalidPort, lambda: sub.connected_ports(5).next())
def test_subportgraph_connected_ports():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert set(sub.connected_ports(0)) == {2}
    assert set(sub.connected_ports(2)) == {0}
    assert len(set(sub.connected_ports(3))) == 0
    assert len(set(sub.connected_ports(4))) == 0
    assert_raises(InvalidPort, lambda: sub.connected_ports(1).next())
    assert_raises(InvalidPort, lambda: sub.connected_ports(5).next())
def test_subportgraph_port():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert sub.source_port(0) == pg.source_port(0)
    assert_raises(InvalidEdge, lambda: sub.source_port(1))
    assert_raises(InvalidEdge, lambda: sub.source_port(2))

    assert sub.target_port(0) == pg.target_port(0)
    assert_raises(InvalidEdge, lambda: sub.target_port(1))
    assert_raises(InvalidEdge, lambda: sub.target_port(2))
def test_subportgraph_mirror_functions():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert sub.is_in_port(2)
    assert sub.is_out_port(0)
    assert sub.vertex(0) == 0
    assert sub.local_id(0) == pg.local_id(0)
    assert sub.in_port(2, "in1") == pg.in_port(2, "in1")
    assert sub.out_port(0, "out") == pg.out_port(0, "out")
    assert sub.actor(0) == pg.actor(0)
    assert 0 in sub
def test_subportgraph_mirror_functions():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert sub.is_in_port(2)
    assert sub.is_out_port(0)
    assert sub.vertex(0) == 0
    assert sub.local_id(0) == pg.local_id(0)
    assert sub.in_port(2, "in1") == pg.in_port(2, "in1")
    assert sub.out_port(0, "out") == pg.out_port(0, "out")
    assert sub.actor(0) == pg.actor(0)
    assert 0 in sub
def test_subportgraph_out_ports():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert set(sub.out_ports()) == {0, 4}
    assert set(sub.out_ports(0)) == {0}
    assert_raises(InvalidVertex, lambda: sub.out_ports(1).next())
    assert set(sub.out_ports(2)) == {4}
    assert_raises(InvalidVertex, lambda: sub.out_ports(3).next())
def test_subportgraph_in_ports():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert set(sub.in_ports()) == {2, 3}
    assert len(set(sub.in_ports(0))) == 0
    assert_raises(InvalidVertex, lambda: sub.in_ports(1).next())
    assert set(sub.in_ports(2)) == {2, 3}
    assert_raises(InvalidVertex, lambda: sub.in_ports(3).next())
def test_subportgraph_out_ports():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert set(sub.out_ports()) == {0, 4}
    assert set(sub.out_ports(0)) == {0}
    assert_raises(InvalidVertex, lambda: sub.out_ports(1).next())
    assert set(sub.out_ports(2)) == {4}
    assert_raises(InvalidVertex, lambda: sub.out_ports(3).next())
def test_subportgraph_in_ports():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert set(sub.in_ports()) == {2, 3}
    assert len(set(sub.in_ports(0))) == 0
    assert_raises(InvalidVertex, lambda: sub.in_ports(1).next())
    assert set(sub.in_ports(2)) == {2, 3}
    assert_raises(InvalidVertex, lambda: sub.in_ports(3).next())
def test_subportgraph_port():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))

    assert sub.source_port(0) == pg.source_port(0)
    assert_raises(InvalidEdge, lambda: sub.source_port(1))
    assert_raises(InvalidEdge, lambda: sub.source_port(2))

    assert sub.target_port(0) == pg.target_port(0)
    assert_raises(InvalidEdge, lambda: sub.target_port(1))
    assert_raises(InvalidEdge, lambda: sub.target_port(2))
def test_subportgraph_in_neighbors():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert_raises(InvalidVertex, lambda: tuple(sub.in_neighbors(10)))
    assert set(sub.in_neighbors(2)) == {0}
def test_subportgraph_edges():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert set(sub.edges()) == {0}
def test_subportgraph_init():
    pg = PortGraph()
    sub = SubPortGraph(pg)

    assert len(tuple(sub.vertices())) == 0
def test_subportgraph_vertices():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert set(sub.vertices()) == {0, 2}
def test_subportgraph_init():
    pg = PortGraph()
    sub = SubPortGraph(pg)

    assert len(tuple(sub.vertices())) == 0
def test_subportgraph_vertices():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert set(sub.vertices()) == {0, 2}
def test_subportgraph_edges():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert set(sub.edges()) == {0}
def test_subportgraph_in_neighbors():
    pg = get_pg()

    sub = SubPortGraph(pg, (0, 2))
    assert_raises(InvalidVertex, lambda: tuple(sub.in_neighbors(10)))
    assert set(sub.in_neighbors(2)) == {0}