Code Duplication    Length = 17-20 lines in 4 locations

ActionTree/tests/multi_threaded_execution.py 4 locations

@@ 115-134 (lines=20) @@
112
113
        self.assertEventsEqual("d D b B a")
114
115
    def test_two_deep_branches(self):
116
        #     a
117
        #    / \
118
        #   b   c
119
        #   |   |
120
        #   d   e
121
122
        a = self._action("a")
123
        b = self._action("b", delay=0.1, end_event=True)
124
        c = self._action("c", delay=0.1, end_event=True)
125
        d = self._action("d", delay=0.1, end_event=True)
126
        e = self._action("e", delay=0.1, end_event=True)
127
        a.add_dependency(b)
128
        a.add_dependency(c)
129
        b.add_dependency(d)
130
        c.add_dependency(e)
131
132
        execute(a, jobs=3)
133
134
        self.assertEventsEqual("de DEbc BC a")
135
@@ 77-95 (lines=19) @@
74
75
        self.assertEventsEqual("f F e E d D c C b B a")
76
77
    def test_diamond_dependencies(self):
78
        #     a
79
        #    / \
80
        #   b   c
81
        #    \ /
82
        #     d
83
84
        a = self._action("a")
85
        b = self._action("b", delay=0.1, end_event=True)
86
        c = self._action("c", delay=0.1, end_event=True)
87
        d = self._action("d", end_event=True)
88
        a.add_dependency(b)
89
        a.add_dependency(c)
90
        b.add_dependency(d)
91
        c.add_dependency(d)
92
93
        execute(a, jobs=3)
94
95
        self.assertEventsEqual("d D bc BC a")
96
97
    def test_half_diamond_dependency(self):
98
        #     a
@@ 30-46 (lines=17) @@
27
28
        self.assertEventsEqual("bcd BCD a")
29
30
    def test_many_dependencies_with_default_jobs(self):
31
        #     a
32
        #    /|\
33
        #   / | \
34
        #  b  c  d
35
36
        a = self._action("a")
37
        b = self._action("b", delay=0.1, end_event=True)
38
        c = self._action("c", delay=0.1, end_event=True)
39
        d = self._action("d", delay=0.1, end_event=True)
40
        a.add_dependency(b)
41
        a.add_dependency(c)
42
        a.add_dependency(d)
43
44
        execute(a, jobs=None)
45
46
        self.assertEventsEqual("bcd BCD a")
47
48
    def test_deep_dependencies(self):
49
        #  a
@@ 12-28 (lines=17) @@
9
10
11
class MultiThreadedExecutionTestCase(ActionTreeTestCase):
12
    def test_many_dependencies(self):
13
        #     a
14
        #    /|\
15
        #   / | \
16
        #  b  c  d
17
18
        a = self._action("a")
19
        b = self._action("b", delay=0.1, end_event=True)
20
        c = self._action("c", delay=0.1, end_event=True)
21
        d = self._action("d", delay=0.1, end_event=True)
22
        a.add_dependency(b)
23
        a.add_dependency(c)
24
        a.add_dependency(d)
25
26
        execute(a, jobs=3)
27
28
        self.assertEventsEqual("bcd BCD a")
29
30
    def test_many_dependencies_with_default_jobs(self):
31
        #     a