Ejemplo n.º 1
0
    def test_reorder_short_chain(self):
        group1 = MagicMock()
        group1.name = "group1"
        group2 = MagicMock()
        group2.name = "group2"
        group3 = MagicMock()
        group3.name = "group3"

        group3.subgroups = [group2]
        group2.subgroups = []
        group1.subgroups = []

        order = _flatten_group_hierarchy([group1, group2, group3])
        self.assertTrue(order.index("group3") < order.index("group2"))
Ejemplo n.º 2
0
    def test_loop(self):
        group1 = MagicMock()
        group1.name = "group1"
        group2 = MagicMock()
        group2.name = "group2"
        group3 = MagicMock()
        group3.name = "group3"

        group3.subgroups = [group2]
        group2.subgroups = [group1]
        group1.subgroups = [group3]

        with self.assertRaises(RuntimeError):
            _flatten_group_hierarchy([group1, group2, group3])
Ejemplo n.º 3
0
    def test_reorder_chain(self):
        group1 = MagicMock()
        group1.name = "group1"
        group2 = MagicMock()
        group2.name = "group2"
        group3 = MagicMock()
        group3.name = "group3"

        group3.subgroups = [group2]
        group2.subgroups = [group1]
        group1.subgroups = []

        self.assertEqual(
            _flatten_group_hierarchy([group1, group2, group3]),
            ["group3", "group2", "group1"],
        )