Completed
Pull Request — master (#2592)
by Udayan
02:03
created

UnresolvableBear1.get_dependencies()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
import unittest
2
3
from coalib.bears.Bear import Bear
4
from coalib.collecting import Dependencies
5
6
7
class ResolvableBear1(Bear):
8
9
    BEAR_DEPS = [Bear]
10
11
12
class ResolvableBear2(Bear):
13
14
    BEAR_DEPS = [ResolvableBear1, Bear]
15
16
17
class UnresolvableBear1(Bear):
18
19
    BEAR_DEPS = [ResolvableBear1, Bear, UnresolvableBear3]
0 ignored issues
show
Bug introduced by
The variable UnresolvableBear3 was used before it was assigned.
Loading history...
20
21
22
class UnresolvableBear2(Bear):
23
24
    BEAR_DEPS = [ResolvableBear1, Bear, UnresolvableBear1]
25
26
27
class UnresolvableBear3(Bear):
28
29
    BEAR_DEPS = [ResolvableBear1, Bear, UnresolvableBear2]
30
31
32
class DependenciesTest(unittest.TestCase):
33
34
    def test_no_deps(self):
35
        self.assertEqual(
36
            len(Dependencies.resolve([Bear,
37
                                      Bear])),
38
            1)
39
40
    def test_resolvable_deps(self):
41
        self.assertEqual(Dependencies.resolve([ResolvableBear1,
42
                                               ResolvableBear2]),
43
                         [Bear, ResolvableBear1, ResolvableBear2])
44
45
    def test_unresolvable_deps(self):
46
        self.assertRaises(
47
            Dependencies.CircularDependencyError,
48
            Dependencies.resolve,
49
            [UnresolvableBear1])
50