display_tree 1.1.2

Simple, automatic, and customizable tree pretty-printing
Documentation
use display_tree::*;

#[test]
fn field_struct() {
    #[derive(DisplayTree)]
    struct Tree {
        a: i32,
        b: bool,
    }

    let tree = Tree { a: 1, b: true };
    assert_eq!(
        format!("{}", AsTree::new(&tree)),
        "Tree\n\
         ├── 1\n\
         └── true",
    );
}

#[test]
fn tuple_struct() {
    #[derive(DisplayTree)]
    struct Tree(i32, bool);

    let tree = Tree(1, true);
    assert_eq!(
        format!("{}", AsTree::new(&tree)),
        "Tree\n\
         ├── 1\n\
         └── true",
    );
}

#[test]
fn enum_unit() {
    #[derive(DisplayTree)]
    enum Tree {
        A,
    }

    let tree = Tree::A;
    assert_eq!(format!("{}", AsTree::new(&tree)), "A");
}

#[test]
fn enum_unnamed() {
    #[derive(DisplayTree)]
    enum Tree {
        A(i32, bool),
    }

    let tree = Tree::A(1, true);
    assert_eq!(
        format!("{}", AsTree::new(&tree)),
        "A\n\
         ├── 1\n\
         └── true",
    );
}

#[test]
fn enum_named() {
    #[derive(DisplayTree)]
    enum Tree {
        A { a: i32, b: bool },
    }

    let tree = Tree::A { a: 1, b: true };
    assert_eq!(
        format!("{}", AsTree::new(&tree)),
        "A\n\
         ├── 1\n\
         └── true",
    );
}