graph_api_test/steps/
probe.rs
1use crate::{Edge, Vertex, populate_graph};
2use graph_api_lib::{EdgeSearch, Graph, VertexSearch};
3
4pub fn test_vertices_probe<G>(graph: &mut G)
5where
6 G: Graph<Vertex = Vertex, Edge = Edge>,
7{
8 populate_graph(graph);
9
10 let mut count = 0;
12 let result = graph
13 .walk()
14 .vertices(VertexSearch::scan())
15 .probe(|_, _| {
16 count += 1;
17 })
18 .collect::<Vec<_>>();
19
20 assert_eq!(count, 4); assert_eq!(result.len(), 4);
22}
23
24pub fn test_edges_probe<G>(graph: &mut G)
25where
26 G: Graph<Vertex = Vertex, Edge = Edge>,
27{
28 let refs = populate_graph(graph);
29
30 let mut edge_count = 0;
32 let result = graph
33 .walk()
34 .vertices_by_id([refs.bryn])
35 .edges(EdgeSearch::scan().outgoing())
36 .probe(|_, _| {
37 edge_count += 1;
38 })
39 .collect::<Vec<_>>();
40
41 assert_eq!(edge_count, 2); assert_eq!(result.len(), 2);
43}