From aaa05812100a4c3818cac459e9ed295e21a72d5e Mon Sep 17 00:00:00 2001 From: Travis Scrimshaw Date: Mon, 3 Feb 2020 09:53:20 +1000 Subject: [PATCH] Fixing node_number_at_depth for empty trees. --- src/sage/combinat/abstract_tree.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/sage/combinat/abstract_tree.py b/src/sage/combinat/abstract_tree.py index d984159564c..ad4d62778dc 100644 --- a/src/sage/combinat/abstract_tree.py +++ b/src/sage/combinat/abstract_tree.py @@ -822,7 +822,21 @@ def node_number_at_depth(self, depth): o sage: [T.node_number_at_depth(i) for i in range(6)] [1, 3, 4, 2, 1, 0] + + TESTS: + + Check that the empty tree has no nodes (:trac:`29134`):: + + sage: T = BinaryTree() + sage: T + . + sage: T.is_empty() + True + sage: [T.node_number_at_depth(i) for i in range(3)] + [0, 0, 0] """ + if self.is_empty(): + return Integer(0) if depth == 0: return Integer(1) return sum(son.node_number_at_depth(depth - 1) for son in self)