auto_creation/
auto_creation.rs1use ascii_dag::graph::DAG;
6
7fn main() {
8 println!("=== Auto-Creation Feature Examples ===\n");
9
10 println!("1. Adding edge to missing node (auto-created):");
12 let mut dag = DAG::new();
13 dag.add_node(1, "Defined");
14 dag.add_edge(1, 2); println!("{}\n", dag.render());
16
17 println!("2. Both nodes missing (both auto-created):");
19 let mut dag = DAG::new();
20 dag.add_edge(10, 20); println!("{}\n", dag.render());
22
23 println!("3. Mixed defined and auto-created nodes:");
25 let mut dag = DAG::new();
26 dag.add_node(1, "Start");
27 dag.add_node(3, "End");
28 dag.add_edge(1, 2); dag.add_edge(2, 3); println!("{}\n", dag.render());
31
32 println!("4. Complex graph with auto-created nodes:");
34 let mut dag = DAG::new();
35 dag.add_node(1, "Root");
36 dag.add_node(5, "Leaf");
37 dag.add_edge(1, 2); dag.add_edge(1, 3); dag.add_edge(2, 4); dag.add_edge(3, 4); dag.add_edge(4, 5); println!("{}\n", dag.render());
43
44 println!("Note: Nodes with ⟨⟩ brackets were auto-created.");
45 println!(" Nodes with [] brackets were explicitly defined.");
46}