Files
grapherity/src/testing/graph_topology_addition_clone_testing.rs
T

29 lines
811 B
Rust

use crate::testing::fixtures;
use crate::testing::fixtures::MakeTestGraph;
use crate::traits::GraphTopologyAddition;
#[doc(hidden)]
#[macro_export]
macro_rules! graph_topology_addition_clone_tests {
($T:ty) => {
$crate::graph_topology_addition_clone_tests!(@wrap $T,
clone_mutation_independent,
);
};
(@wrap $T:ty, $($name:ident),* $(,)?) => {
$(
#[test]
fn $name() {
$crate::testing::graph_topology_addition_clone_testing::$name::<$T>();
}
)*
};
}
pub fn clone_mutation_independent<G: Clone + GraphTopologyAddition>() {
let (mut graph, vertices, _) = G::single_edge();
let mut clone = graph.clone();
fixtures::assert_mutation_independent(&mut graph, &mut clone, &vertices, |v| v);
}