Пример #1
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])
Пример #2
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"))
Пример #3
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 = []

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