crate::ix!();
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()
}