Code Duplication    Length = 18-20 lines in 3 locations

ActionTree/tests/multi_threaded_execution.py 3 locations

@@ 79-98 (lines=20) @@
76
77
        self.assertEventsEqual("f F e E d D c C b B a")
78
79
    def test_diamond_dependencies(self):
80
        #     a
81
        #    / \
82
        #   b   c
83
        #    \ /
84
        #     d
85
86
        a = self._action("a")
87
        barrier = self._barrier(2)
88
        b = self._action("b", barrier=barrier, end_event=True)
89
        c = self._action("c", barrier=barrier, end_event=True)
90
        d = self._action("d", end_event=True)
91
        a.add_dependency(b)
92
        a.add_dependency(c)
93
        b.add_dependency(d)
94
        c.add_dependency(d)
95
96
        execute(a, cpu_cores=3)
97
98
        self.assertEventsEqual("d D bc BC a")
99
100
    def test_half_diamond_dependency(self):
101
        #     a
@@ 31-48 (lines=18) @@
28
29
        self.assertEventsEqual("bcd BCD a")
30
31
    def test_many_dependencies_with_default_cpu_cores(self):
32
        #     a
33
        #    /|\
34
        #   / | \
35
        #  b  c  d
36
37
        a = self._action("a")
38
        barrier = self._barrier(3)
39
        b = self._action("b", barrier=barrier, end_event=True)
40
        c = self._action("c", barrier=barrier, end_event=True)
41
        d = self._action("d", barrier=barrier, end_event=True)
42
        a.add_dependency(b)
43
        a.add_dependency(c)
44
        a.add_dependency(d)
45
46
        execute(a, cpu_cores=None)
47
48
        self.assertEventsEqual("bcd BCD a")
49
50
    def test_deep_dependencies(self):
51
        #  a
@@ 12-29 (lines=18) @@
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
        barrier = self._barrier(3)
20
        b = self._action("b", barrier=barrier, end_event=True)
21
        c = self._action("c", barrier=barrier, end_event=True)
22
        d = self._action("d", barrier=barrier, end_event=True)
23
        a.add_dependency(b)
24
        a.add_dependency(c)
25
        a.add_dependency(d)
26
27
        execute(a, cpu_cores=3)
28
29
        self.assertEventsEqual("bcd BCD a")
30
31
    def test_many_dependencies_with_default_cpu_cores(self):
32
        #     a