Beispiel #1
0
    def test_dependencies_and_labels_are_not_only_equal_but_same(self):
        bLabel = ("b",)
        a = Action(None, "a")
        b = Action(None, bLabel)
        a.add_dependency(b)

        otherB, = a.dependencies
        self.assertIs(otherB, b)
        self.assertIs(otherB.label, bLabel)
Beispiel #2
0
    def test_deep_dependency_with_duplicated_label(self):
        a = Action(None, "label")
        b = Action(None, "label")
        c = Action(None, "label")
        d = Action(None, "label")
        a.add_dependency(b)
        b.add_dependency(c)
        c.add_dependency(d)

        self.assertEqual(a.get_preview(), ["label", "label", "label", "label"])
Beispiel #3
0
    def test_deep_dependency(self):
        a = Action(None, "a")
        b = Action(None, "b")
        c = Action(None, "c")
        d = Action(None, "d")
        a.add_dependency(b)
        b.add_dependency(c)
        c.add_dependency(d)

        self.assertEqual(a.get_preview(), ["d", "c", "b", "a"])
Beispiel #4
0
    def test_diamond_dependency(self):
        #     a
        #    / \
        #   b   c
        #    \ /
        #     d

        a = Action(None, "a")
        b = Action(None, "b")
        c = Action(None, "c")
        d = Action(None, "d")
        a.add_dependency(b)
        a.add_dependency(c)
        b.add_dependency(d)
        c.add_dependency(d)

        self.assertIn(a.get_preview(), [["d", "c", "b", "a"], ["d", "b", "c", "a"]])