capability-skeleton-mock 0.1.0

A Rust crate for constructing and managing hierarchical skeleton structures with diverse node types, enabling advanced testing and simulation scenarios.
Documentation
// ---------------- [ File: capability-skeleton-mock/src/root_with_children.rs ]
crate::ix!();

/// Root => id=0 => dispatch => children => leaf_count
pub fn root_with_children(num_children: usize, child_leaf_counts: &[u16]) -> Skeleton {
    let mut nodes = Vec::new();

    let mut rootb = SkeletonNodeBuilder::default()
        .id(0)
        .name("Root")
        .original_key("Root");
    let mut cids = vec![];
    for i in 1..=num_children {
        cids.push(i as u16);
    }
    rootb = rootb.child_ids(cids);
    let root_node = rootb.build(NodeKind::Dispatch).unwrap();
    nodes.push(root_node);

    for i in 1..=num_children {
        let lf = *child_leaf_counts.get(i-1).unwrap_or(&0);
        let child = SkeletonNodeBuilder::default()
            .id(i as u16)
            .name(format!("Child{}", i))
            .original_key(format!("Child{}", i))
            .leaf_count(lf)
            .build(NodeKind::LeafHolder)
            .unwrap();
        nodes.push(child);
    }

    SkeletonBuilder::default()
        .nodes(nodes)
        .root_id(Some(0))
        .build()
        .unwrap()
}