File: test_examples.py

package info (click to toggle)
anytree 2.13.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 1,012 kB
  • sloc: python: 3,966; makefile: 64
file content (31 lines) | stat: -rw-r--r-- 834 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from anytree import Node, RenderTree

from .helper import eq_


def test_stackoverflow():
    """Example from stackoverflow."""
    udo = Node("Udo")
    marc = Node("Marc", parent=udo)
    Node("Lian", parent=marc)
    dan = Node("Dan", parent=udo)
    Node("Jet", parent=dan)
    Node("Jan", parent=dan)
    joe = Node("Joe", parent=dan)

    eq_(str(udo), "Node('/Udo')")
    eq_(str(joe), "Node('/Udo/Dan/Joe')")

    eq_(
        [f"{pre}{node.name}" for pre, fill, node in RenderTree(udo)],
        [
            "Udo",
            "├── Marc",
            "│   └── Lian",
            "└── Dan",
            "    ├── Jet",
            "    ├── Jan",
            "    └── Joe",
        ],
    )
    eq_(str(dan.children), "(Node('/Udo/Dan/Jet'), Node('/Udo/Dan/Jan'), Node('/Udo/Dan/Joe'))")