Skip to content

Commit 626f439

Browse files
committed
tree: add unit tests for render_node
1 parent 9658070 commit 626f439

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/test_tree.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,33 @@ def __init__(self, color):
521521
sys.stdout.close()
522522
sys.stdout = sys.__stdout__ # stops from printing to console
523523

524+
def test_show_render_node(self):
525+
product_tree = Tree()
526+
527+
def callback_fn(node):
528+
if node.is_leaf():
529+
return f"A {node.data.color} {node.data.brand} car"
530+
return node.identifier
531+
532+
class Product(object):
533+
def __init__(self, brand, color):
534+
self.brand = brand
535+
self.color = color
536+
537+
product_tree.create_node(tag="root", identifier='root', data={'level': 0})
538+
product_tree.create_node(identifier='car', parent='root', data={'level': 1})
539+
product_tree.create_node(identifier='car_byd', parent='car', data=Product('BYD', 'red'))
540+
product_tree.create_node(identifier='car_geely', parent='car', data=Product('Geely', 'green'))
541+
542+
self.assertEqual(
543+
product_tree.show(stdout=False, render_node=callback_fn),
544+
"""root
545+
└── car
546+
├── A red BYD car
547+
└── A green Geely car
548+
""",
549+
)
550+
524551
def test_level(self):
525552
self.assertEqual(self.tree.level("hárry"), 0)
526553
depth = self.tree.depth()

0 commit comments

Comments
 (0)