for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
import unittest
from coalib.bears.Bear import Bear
from coalib.collecting import Dependencies
class ResolvableBear1(Bear):
BEAR_DEPS = [Bear]
class ResolvableBear2(Bear):
BEAR_DEPS = [ResolvableBear1, Bear]
class UnresolvableBear1(Bear):
BEAR_DEPS = [ResolvableBear1, Bear, UnresolvableBear3]
UnresolvableBear3
class UnresolvableBear2(Bear):
BEAR_DEPS = [ResolvableBear1, Bear, UnresolvableBear1]
class UnresolvableBear3(Bear):
BEAR_DEPS = [ResolvableBear1, Bear, UnresolvableBear2]
class DependenciesTest(unittest.TestCase):
def test_no_deps(self):
self.assertEqual(
len(Dependencies.resolve([Bear,
Bear])),
1)
def test_resolvable_deps(self):
self.assertEqual(Dependencies.resolve([ResolvableBear1,
ResolvableBear2]),
[Bear, ResolvableBear1, ResolvableBear2])
def test_unresolvable_deps(self):
self.assertRaises(
Dependencies.CircularDependencyError,
Dependencies.resolve,
[UnresolvableBear1])