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 BearWithoutDeps(Bear):
Bear
@staticmethod
staticmethod
def get_dependencies():
return []
class ResolvableBear1(Bear):
return [BearWithoutDeps]
BearWithoutDeps
class ResolvableBear2(Bear):
return [ResolvableBear1, BearWithoutDeps]
ResolvableBear1
class UnresolvableBear1(Bear):
return [ResolvableBear1, BearWithoutDeps, UnresolvableBear3]
UnresolvableBear3
class UnresolvableBear2(Bear):
return [ResolvableBear1, BearWithoutDeps, UnresolvableBear1]
UnresolvableBear1
class UnresolvableBear3(Bear):
return [ResolvableBear1, BearWithoutDeps, UnresolvableBear2]
UnresolvableBear2
class DependenciesTest(unittest.TestCase):
unittest
def test_no_deps(self):
self.assertEqual(
len(Dependencies.resolve([BearWithoutDeps,
BearWithoutDeps])),
1)
def test_resolvable_deps(self):
self.assertEqual(Dependencies.resolve([ResolvableBear1,
ResolvableBear2]),
ResolvableBear2
[BearWithoutDeps, ResolvableBear1, ResolvableBear2])
def test_unresolvable_deps(self):
self.assertRaises(
Dependencies.CircularDependencyError,
Dependencies
Dependencies.resolve,
[UnresolvableBear1])