use termgraph::{Config, DirectedGraph, IDFormatter};
fn main() {
let config = Config::new(IDFormatter::new(), 3)
.default_colors()
.max_glyphs_per_layer(7);
let display_graph = {
let mut tmp: DirectedGraph<usize, &str> = DirectedGraph::new();
tmp.add_nodes([(0, "first"), (1, "second"), (2, "third")]);
tmp.add_edges([(0, 1), (1, 2)]);
tmp
};
termgraph::display(&display_graph, &config);
let branched_graph = {
let mut tmp: DirectedGraph<usize, &str> = DirectedGraph::new();
tmp.add_nodes([(0, "first"), (1, "second"), (2, "third"), (3, "fourth")]);
tmp.add_edges([(0, 1), (0, 2), (2, 3), (1, 3)]);
tmp
};
termgraph::display(&branched_graph, &config);
let square_graph = {
let mut tmp: DirectedGraph<usize, &str> = DirectedGraph::new();
tmp.add_nodes([(0, "first"), (1, "second"), (2, "third"), (3, "fourth")]);
tmp.add_edges([(0, 1), (0, 2), (3, 1), (3, 2)]);
tmp
};
termgraph::display(&square_graph, &config);
let cross_level_branch = {
let mut tmp: DirectedGraph<usize, &str> = DirectedGraph::new();
tmp.add_nodes([
(0, "first"),
(1, "second"),
(2, "third"),
(3, "fourth"),
(4, "fourth"),
]);
tmp.add_edges([(0, 1), (0, 2), (0, 3), (1, 3), (2, 3), (3, 4), (0, 4)]);
tmp
};
termgraph::display(&cross_level_branch, &config);
}