Skip to content

Commit 5a3df96

Browse files
committed
tree: add unit tests for render_node
1 parent 9658070 commit 5a3df96

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/test_tree.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,37 @@ 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(
540+
identifier="car_byd", parent="car", data=Product("BYD", "red")
541+
)
542+
product_tree.create_node(
543+
identifier="car_geely", parent="car", data=Product("Geely", "green")
544+
)
545+
546+
self.assertEqual(
547+
product_tree.show(stdout=False, render_node=callback_fn),
548+
"""root
549+
└── car
550+
├── A red BYD car
551+
└── A green Geely car
552+
""",
553+
)
554+
524555
def test_level(self):
525556
self.assertEqual(self.tree.level("hárry"), 0)
526557
depth = self.tree.depth()

0 commit comments

Comments
 (0)