コード例 #1
0
ファイル: test.py プロジェクト: rcludwick/TreePy
    def testFlatIter(self):

        # Use value with defaulted paramaters
        t = Tree(value="Start", children=TreeTest.tree_layout)
        output = [y for y in t.flat_value_iter()]
        expected_result = ["Start", "a", "b", "c", "a", "b", "c"]
        self.assertEquals(output, expected_result)

        # Don't use value parameter
        t = Tree(children=TreeTest.tree_layout)
        output = [y for y in t.flat_value_iter()]
        expected_result = ["a", "b", "c", "a", "b", "c"]
        self.assertEquals(output, expected_result)

        # Don't use value, skip_none=False
        t = Tree(children=TreeTest.tree_layout)
        output = [y for y in t.flat_value_iter(skip_none=False)]
        expected_result = [None, "a", "b", "c", None, "a", "b", "c"]
        self.assertEquals(output, expected_result)

        # Don't use value, skip_none=False, deepest_first=True
        t = Tree(children=TreeTest.tree_layout)
        output = [y for y in t.flat_value_iter(skip_none=False, deepest_first=True)]
        expected_result = ["a", "b", "c", "a", "b", "c", None, None]
        self.assertEquals(output, expected_result)

        # Use value with defaulted paramaters and deepest_first
        t = Tree(value="Start", children=TreeTest.tree_layout_4)
        output = [y for y in t.flat_value_iter(deepest_first=True)]
        expected_result = ["a", "b", "c", "d", "e", "Start"]
        self.assertEquals(output, expected_result)

        # Use value with defaulted paramaters and deepest_first and skip_none=False
        t = Tree(value="Start", children=TreeTest.tree_layout_4)
        output = [y for y in t.flat_value_iter(deepest_first=True, skip_none=False)]
        expected_result = ["a", "b", "c", None, "d", None, "e", "Start"]
        self.assertEquals(output, expected_result)

        # Use flat_node_iter:
        t = Tree(children=TreeTest.tree_layout)
        output = [y.value for y in t.flat_node_iter()]
        expected_result = [None, "a", "b", "c", None, "a", "b", "c"]
        self.assertEquals(output, expected_result)

        # Use flat_node_iter and deepest_first=True:
        t = Tree(value="Start", children=TreeTest.tree_layout)
        output = [y.value for y in t.flat_node_iter(deepest_first=True)]
        expected_result = ["a", "b", "c", "a", "b", "c", None, "Start"]
        self.assertEquals(output, expected_result)