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)