precedence-net 1.1.0

Create and analyse precedence networks
Documentation
use precedence_net::{DurationType, Network, Result, StartType};
fn main() -> Result<()> {
    let mut network_builder = Network::builder();

    let nodes = vec!["a", "b", "c", "d", "e", "f", "g", "h"];

    for node in nodes {
        network_builder.add_extended_activity(
            node,
            &format!("Node {}", node),
            1.0,
            2.0,
            3.0,
            StartType::Earliest,
            DurationType::Expected,
        )?;
    }

    network_builder.connect("a", "b")?;
    network_builder.connect("b", "c")?;
    network_builder.connect("b", "d")?;
    network_builder.connect("d", "e")?;
    network_builder.connect("e", "f")?;
    network_builder.connect("e", "g")?;
    network_builder.connect("f", "h")?;

    let network = Network::try_from(network_builder)?;

    println!("{}", network.to_dot()?);

    Ok(())
}