use graph_api_lib::{EdgeSearch, SupportsEdgeLabelIndex};
use graph_api_simplegraph::SimpleGraph;
use graph_api_test::{Edge, Vertex, populate_graph};
fn main() {
let mut graph = SimpleGraph::new();
let refs = populate_graph(&mut graph);
example(graph, refs.bryn);
}
fn example<Graph>(graph: Graph, bryn_id: Graph::VertexId)
where
Graph: graph_api_lib::Graph<Vertex = Vertex, Edge = Edge> + SupportsEdgeLabelIndex,
{
let bryn_edges = graph
.walk()
.vertices_by_id(vec![bryn_id])
.edges(EdgeSearch::scan())
.collect::<Vec<_>>();
assert!(!bryn_edges.is_empty());
let bryn_outgoing_edges = graph
.walk()
.vertices_by_id(vec![bryn_id])
.edges(EdgeSearch::scan().outgoing())
.collect::<Vec<_>>();
assert!(!bryn_outgoing_edges.is_empty());
let bryn_created_edges = graph
.walk()
.vertices_by_id(vec![bryn_id])
.edges(Edge::created())
.collect::<Vec<_>>();
assert!(!bryn_created_edges.is_empty());
let bryn_outgoing_created_edges = graph
.walk()
.vertices_by_id(vec![bryn_id])
.edges(Edge::created().outgoing())
.collect::<Vec<_>>();
assert!(!bryn_outgoing_created_edges.is_empty());
let indexed_created_edges = graph
.walk()
.vertices_by_id(vec![bryn_id])
.edges(Edge::created())
.collect::<Vec<_>>();
assert!(!indexed_created_edges.is_empty());
}