コード例 #1
0
    def test_index_level_label_widths_at_depth_a(self) -> None:
        OD = OrderedDict
        tree = OD([
                ('I', OD([
                        ('A', (1, 2)), ('B', (1, 2, 3)), ('C', (2, 3))
                        ])
                ),
                ('II', OD([
                        ('A', (1,)), ('B', (1,))
                        ])
                ),
                ('III', OD([
                        ('A', (1, 2, 3)), ('B', (1,))
                        ])
                ),
                ])

        levels = IndexHierarchy._tree_to_index_level(tree)

        post0 = tuple(levels.label_widths_at_depth(0))
        post1 = tuple(levels.label_widths_at_depth(1))
        post2 = tuple(levels.label_widths_at_depth(2))

        self.assertEqual(post0, (('I', 7), ('II', 2), ('III', 4)))

        self.assertEqual(post1,
            (('A', 2), ('B', 3), ('C', 2), ('A', 1), ('B', 1), ('A', 3), ('B', 1))
        )

        self.assertEqual(post2,
            (((1, 1), (2, 1), (1, 1), (2, 1), (3, 1), (2, 1), (3, 1), (1, 1), (1, 1), (1, 1), (2, 1), (3, 1), (1, 1)))
        )
コード例 #2
0
    def test_index_level_iter_a(self) -> None:
        OD = OrderedDict
        tree = OD([
            ('I', OD([('A', (1, 2)), ('B', (1, 2, 3)), ('C', (2, 3))])),
            ('II', OD([('A', (1, 2, 3)), ('B', (1, ))])),
        ])

        levels = IndexHierarchy._tree_to_index_level(tree)

        post = list(levels.iter(0))
        self.assertEqual(post, ['I', 'II'])

        post = list(levels.iter(1))
        self.assertEqual(post, ['A', 'B', 'C', 'A', 'B'])

        post = list(levels.iter(2))
        self.assertEqual(post, [1, 2, 1, 2, 3, 2, 3, 1, 2, 3, 1])