use graph_api_lib::Graph;
use graph_api_lib::SupportsEdgeLabelIndex;
use graph_api_simplegraph::SimpleGraph;
use graph_api_test::Edge;
use graph_api_test::Vertex;
use graph_api_test::populate_graph;
fn main() {
let mut graph = SimpleGraph::new();
let refs = populate_graph(&mut graph);
example(&graph, refs.bryn);
}
fn example<G>(graph: &G, bryn_id: G::VertexId)
where
G: Graph<Vertex = Vertex, Edge = Edge> + SupportsEdgeLabelIndex,
{
let bryn_project_count = graph
.walk()
.vertices_by_id(vec![bryn_id])
.push_context(|_, _| 0) .detour(|waypoint| {
waypoint
.edges(Edge::created().outgoing())
.probe(|_e, _ctx| todo!()) })
.map(|_, count| *count)
.collect::<Vec<_>>();
assert_eq!(bryn_project_count.len(), 1);
println!("Bryn has {} project(s)", bryn_project_count[0]);
}