parallel_test/
parallel_test.rs

1use ascii_dag::graph::DAG;
2
3fn main() {
4    println!("=== Testing Parallel Chains ===\n");
5
6    // Two independent chains
7    let dag = DAG::from_edges(
8        &[
9            (1, "Chain1-A"),
10            (2, "Chain1-B"),
11            (3, "Chain1-C"),
12            (4, "Chain2-A"),
13            (5, "Chain2-B"),
14            (6, "Chain2-C"),
15        ],
16        &[
17            (1, 2),
18            (2, 3), // Chain 1
19            (4, 5),
20            (5, 6), // Chain 2 (no connection to chain 1)
21        ],
22    );
23
24    println!("Two parallel chains:");
25    println!("{}", dag.render());
26
27    // Three independent chains
28    let dag = DAG::from_edges(
29        &[
30            (1, "A1"),
31            (2, "A2"),
32            (3, "B1"),
33            (4, "B2"),
34            (5, "C1"),
35            (6, "C2"),
36        ],
37        &[(1, 2), (3, 4), (5, 6)],
38    );
39
40    println!("\nThree parallel chains:");
41    println!("{}", dag.render());
42
43    // Single chain (control)
44    let dag = DAG::from_edges(&[(1, "X"), (2, "Y"), (3, "Z")], &[(1, 2), (2, 3)]);
45
46    println!("\nSingle chain (control):");
47    println!("{}", dag.render());
48}