for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
# coding: utf8
# Copyright 2013-2018 Vincent Jacques <[email protected]>
from __future__ import division, absolute_import, print_function
import unittest
from ActionTree import *
class DependencyCycleTestCase(unittest.TestCase):
def test_self_dependency(self):
a = Action("a")
with self.assertRaises(Exception) as cm:
a.add_dependency(a)
self.assertEqual(cm.exception.args[0], "Dependency cycle")
def test_short_cycle(self):
b = Action("b")
a.add_dependency(b)
b.add_dependency(a)
def test_long_cycle(self):
c = Action("c")
d = Action("d")
e = Action("e")
b.add_dependency(c)
c.add_dependency(d)
d.add_dependency(e)
e.add_dependency(a)