add cycle unit test

This commit is contained in:
chris meyers 2018-11-14 16:12:28 -05:00 committed by mabashian
parent a6e20eeaaa
commit 266831e26d

View File

@ -0,0 +1,42 @@
import pytest
from awx.main.scheduler.dag_simple import SimpleDAG
@pytest.fixture
def node_generator():
def fn():
return object()
return fn
@pytest.fixture
def simple_cycle_1(node_generator):
g = SimpleDAG()
nodes = [node_generator() for i in range(4)]
map(lambda n: g.add_node(n), nodes)
r'''
0
/\
/ \
. .
1---.2
. |
| |
-----|
.
3
'''
g.add_edge(nodes[0], nodes[1], "success_nodes")
g.add_edge(nodes[0], nodes[2], "success_nodes")
g.add_edge(nodes[2], nodes[3], "success_nodes")
g.add_edge(nodes[2], nodes[1], "success_nodes")
g.add_edge(nodes[1], nodes[2], "success_nodes")
return (g, nodes)
def test_has_cycle(simple_cycle_1):
(g, nodes) = simple_cycle_1
assert g.has_cycle() is True