Пример #1
0
def test_parse_another_graph_from_file():
    g = virgo.load("test/files/grid.vgo")
    assert g is not None 
Пример #2
0
def test_parse_edge_statement():
    g = virgo.load("test/files/edges.vgo")
    assert g is not None 
    assert set(g.direct_successors_of("b")) == {"d", "e", "h", "i"}
Пример #3
0
def test_parse_node_statement():
    g = virgo.load("test/files/nodes.vgo")
    assert g is not None 
    assert "vertex_definition_1" in g.nodes
    assert g.nodes["vertex_definition_1"] == """
Пример #4
0
def test_parse_basic_example_from_file():
    g = virgo.load("test/files/config.vgo")
    assert g is not None 
Пример #5
0
def test_parse_example_with_multiline_comments():
    g = virgo.load("test/files/comments.vgo")
    assert g is not None 
    assert "src files" in g.nodes
    assert g.nodes["src files"] == "go build ./..."
    assert set(g.direct_successors_of("src files")) == {"test"}
Пример #6
0
def test_parse_harder_example():
    g = virgo.load("test/files/make.vgo")
    assert g is not None 
    assert "src files" in g.nodes
    assert g.nodes["src files"] == "go build ./..."
    assert set(g.direct_successors_of("src files")) == {"test"}
Пример #7
0
def test_topological_sorting_of_cycles():
    filename = "test/files/grid.vgo"
    g = virgo.load(filename)
    with pytest.raises(Exception):
        list(g.topological_sort())
Пример #8
0
def test_topological_sorting():
    filename = "test/files/sorting.vgo"
    g = virgo.load(filename)
    l = list(g.topological_sort())
    assert l.index("x7") < l.index("x11")