Пример #1
0
def test_pg_can_be_extended_with_another_graph_with_different_properties():
    pg = PropertyGraph()
    for i in range(5):
        pg.add_vertex(i)
    for i in range(4):
        pg.add_edge(i, i + 1, i)
    pg.add_vertex_property("aprop")
    for vid in pg.vertices():
        pg.vertex_property("aprop")[vid] = 1
    pg.add_edge_property("aprop")
    for eid in pg.edges():
        pg.edge_property("aprop")[eid] = 2
    pg.add_graph_property("gprop", 'a')

    old_len = len(g)
    old_len_vprop = len(g.vertex_property("prop"))
    old_len_eprop = len(g.edge_property("prop"))
    g.extend(pg)
    assert len(g) == old_len + len(pg)
    assert "prop" in g.vertex_property_names()
    assert "aprop" in g.vertex_property_names()
    assert "prop" in g.edge_property_names()
    assert "aprop" in g.edge_property_names()
    assert "gprop" in g.graph_property_names()
    assert len(g.vertex_property("prop")) == old_len_vprop
    assert len(g.edge_property("prop")) == old_len_eprop
    assert len(g.vertex_property("aprop")) == len(pg.vertex_property("aprop"))
    assert len(g.edge_property("aprop")) == len(pg.edge_property("aprop"))
Пример #2
0
from nose.tools import assert_raises, with_setup
from openalea.container.graph import Graph
from openalea.container.property_graph import (PropertyGraph,
                                               InvalidVertex,
                                               InvalidEdge,
                                               InvalidProperty)


g = PropertyGraph()
g.add_vertex_property("prop")
g.add_edge_property("prop")


def setup_func():
    for i in range(10):
        g.add_vertex(i)
        g.vertex_property("prop")[i] = 'v%d' % i
    for i in range(9):
        g.add_edge(i, i + 1, i)
        g.edge_property("prop")[i] = 'e%d' % i


def teardown_func():
    g.clear()


@with_setup(setup_func, teardown_func)
def test_pg_has_no_property_by_default():
    pg = PropertyGraph()
    assert len(tuple(pg.vertex_property_names())) == 0
    assert len(tuple(pg.edge_property_names())) == 0