Add tests for GraphTopology::vertex_map and edge_map
This commit is contained in:
@@ -128,6 +128,19 @@ macro_rules! graph_topology_tests {
|
|||||||
assert_eq!(graph.vertex_count(), 10, "unexpected vertex count");
|
assert_eq!(graph.vertex_count(), 10, "unexpected vertex count");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn vertex_map() {
|
||||||
|
use $crate::traits::GraphTopology;
|
||||||
|
let mut graph = <$T>::new();
|
||||||
|
let v1 = graph.add_vertex();
|
||||||
|
let mut map = graph.vertex_map(27);
|
||||||
|
assert_eq!(map[v1], 27, "unexpected value from default map read");
|
||||||
|
map[v1] = 9;
|
||||||
|
assert_eq!(map[v1], 9, "unexpected value from map after write");
|
||||||
|
let v2 = graph.add_vertex();
|
||||||
|
assert_eq!(map[v2], 27, "unexpected value from default map read for new vertex");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn add_edge() {
|
fn add_edge() {
|
||||||
use $crate::traits::GraphTopology;
|
use $crate::traits::GraphTopology;
|
||||||
@@ -152,6 +165,21 @@ macro_rules! graph_topology_tests {
|
|||||||
assert_eq!(graph.edge_count(), 18, "unexpected edge count");
|
assert_eq!(graph.edge_count(), 18, "unexpected edge count");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn edge_map() {
|
||||||
|
use $crate::traits::GraphTopology;
|
||||||
|
let mut graph = <$T>::new();
|
||||||
|
let v1 = graph.add_vertex();
|
||||||
|
let v2 = graph.add_vertex();
|
||||||
|
let e1 = graph.add_edge(v1, v2);
|
||||||
|
let mut map = graph.edge_map(27);
|
||||||
|
assert_eq!(map[e1], 27, "unexpected value from default map read");
|
||||||
|
map[e1] = 9;
|
||||||
|
assert_eq!(map[e1], 9, "unexpected value from map after write");
|
||||||
|
let e2 = graph.add_edge(v1, v2);
|
||||||
|
assert_eq!(map[e2], 27, "unexpected value from default map read for new vertex");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn degree_zero() {
|
fn degree_zero() {
|
||||||
use $crate::traits::GraphTopology;
|
use $crate::traits::GraphTopology;
|
||||||
|
|||||||
Reference in New Issue
Block a user