def test_complete(): g = create_graph(directed=False, allowing_self_loops=False, allowing_multiple_edges=False, weighted=True) generators.complete_graph(g, 10) assert len(g.vertices()) == 10
def test_non_planar(): g = create_graph(directed=False, allowing_self_loops=False, allowing_multiple_edges=False, weighted=False) generators.complete_graph(g, 5) res, aux = planar.is_planar(g) assert res == False assert aux.vertices() == set([0, 1, 2, 3, 4])
def build_graph(): g = create_graph(directed=False, allowing_self_loops=False, allowing_multiple_edges=False, weighted=True) complete_graph(g, 8) rng = Random(17) for e in g.edges(): g.set_edge_weight(e, rng.randint(0, 10)) return g
def test_complete_property_graph(): # Test that changes performed by the generators in the # backend graph are propagated to the property graph. g = create_graph( directed=False, allowing_self_loops=False, allowing_multiple_edges=False, weighted=True, any_hashable=True, ) generators.complete_graph(g, 10) assert len(g.vertices) == 10
def build_anyhashableg_graph(): g = create_graph(directed=False, allowing_self_loops=False, allowing_multiple_edges=False, weighted=True, any_hashable=True, vertex_supplier=create_vertex_supplier(type='int')) complete_graph(g, 8) rng = Random(17) for e in g.edges: g.set_edge_weight(e, rng.randint(0, 10)) return g
def test_anyhashableg_non_planar(): g = create_graph( directed=False, allowing_self_loops=False, allowing_multiple_edges=False, weighted=False, any_hashable=True, ) generators.complete_graph(g, 5) g.add_vertex("extra") res, kuratowski = planar.is_planar(g) assert res == False assert kuratowski.vertices == set(g.vertices).difference({"extra"})
def test_listenable_property_graph(): g = create_graph( directed=True, allowing_self_loops=True, allowing_multiple_edges=True, weighted=True, any_hashable=True, vertex_supplier=create_vertex_supplier(), edge_supplier=create_edge_supplier(), ) vertices = [] def listener(element, event): if event == GraphEvent.VERTEX_ADDED: vertices.append(element) g.add_listener(listener) complete_graph(g, 5) assert vertices == ["v0", "v1", "v2", "v3", "v4"]
# %% # Start by importing the package. import jgrapht from jgrapht.generators import complete_graph from jgrapht.io.exporters import generate_json # %% # Let us create an undirected graph g = jgrapht.create_graph(directed=False) # %% # and use the complete generator to populate the graph, complete_graph(g, 5) print(g) # %% # We will export the graph to string in JSON format. output = generate_json(g) print(output) # %% # Let us also export the graph using some custom attributes. vertex_attrs = {} for v in g.vertices: vertex_attrs[v] = {}