diff options
| author | Camille Mougey <commial@gmail.com> | 2015-01-20 17:09:33 +0100 |
|---|---|---|
| committer | Camille Mougey <commial@gmail.com> | 2015-01-20 17:09:33 +0100 |
| commit | f126857204fa9360e4bda7a44b79f1232ffcb7e9 (patch) | |
| tree | 2ad0863c43d1b699bcbae1422f355d62be0867e8 /test | |
| parent | b0c61602412918799487db47582dba6cd4b3675b (diff) | |
| parent | 77d1c6ed762dab187dc6e0df1bc410488dfd99ea (diff) | |
| download | miasm-f126857204fa9360e4bda7a44b79f1232ffcb7e9.tar.gz miasm-f126857204fa9360e4bda7a44b79f1232ffcb7e9.zip | |
Merge pull request #38 from serpilliere/graph_add_dominators
Graph: add dominators computation
Diffstat (limited to '')
| -rw-r--r-- | test/core/graph.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/core/graph.py b/test/core/graph.py index a419a686..eb896cfe 100644 --- a/test/core/graph.py +++ b/test/core/graph.py @@ -16,3 +16,26 @@ print [x for x in g.predecessors('a')] print [x for x in g.predecessors('b')] print [x for x in g.predecessors('c')] print [x for x in g.successors('c')] + + +""" +Test from: https://en.wikipedia.org/wiki/Dominator_(graph_theory) +""" + +g1 = DiGraph() +g1.add_edge(1, 2) +g1.add_edge(2, 3) +g1.add_edge(2, 4) +g1.add_edge(3, 5) +g1.add_edge(4, 5) +g1.add_edge(5, 2) +g1.add_edge(2, 6) + + +dominators = g1.compute_dominators() +assert(dominators[1] == set([1])) +assert(dominators[2] == set([1, 2])) +assert(dominators[3] == set([1, 2, 3])) +assert(dominators[4] == set([1, 2, 4])) +assert(dominators[5] == set([1, 2, 5])) +assert(dominators[6] == set([1, 2, 6])) |