pipecircuit-cli 0.0.2

Command-line architectural tools for Pipecircuit programs
1
2
3
4
5
6
7
8
9
10
11
12
use pipecircuit_visualization::{ArchitectureError, CrateArchitecture, DiagramTarget};

#[test]
fn counter_architecture_remains_reviewable() -> Result<(), ArchitectureError> {
    let architecture = CrateArchitecture::read(env!("CARGO_MANIFEST_DIR"))?;
    let counter = architecture.state_machine("Counter")?;
    assert_eq!(
        counter.render(DiagramTarget::TextTree),
        "● state machine  ▸ step input  ◆ outcome\n\n● Counter\n├── ▸ Add\n│   └── ◆ AddOutcome\n│       ├── Added\n│       └── Overflow\n└── ▸ Read\n    └── ◆ Count\n"
    );
    Ok(())
}