Add GraphTopologyAddition trait from GraphTopology

Move capacity and add methods from GraphTopology trait to new GraphTopologyAddition trait
This commit is contained in:
2026-08-06 14:17:21 +02:00
parent 2851cf60fd
commit 10d0c382cc
10 changed files with 75 additions and 63 deletions
+6 -6
View File
@@ -15,7 +15,7 @@ macro_rules! graph_topology_test_fixtures {
<$T as $crate::traits::GraphTopology>::Edge,
>>; 10],
) {
use $crate::traits::{GraphTopology, Incidence};
use $crate::traits::{GraphTopology, GraphTopologyAddition, Incidence};
let mut graph = <$T>::new();
let vertices: [<$T as $crate::traits::GraphTopology>::Vertex; 10] =
core::array::from_fn(|_| graph.add_vertex());
@@ -96,7 +96,7 @@ macro_rules! graph_topology_test_fixtures {
#[allow(dead_code)]
fn make_test_graph_disconnected()
-> ($T, [<$T as $crate::traits::GraphTopology>::Vertex; 3]) {
use $crate::traits::GraphTopology;
use $crate::traits::GraphTopologyAddition;
let mut graph = <$T>::new();
let vertices: [<$T as $crate::traits::GraphTopology>::Vertex; 3] =
core::array::from_fn(|_| graph.add_vertex());
@@ -112,7 +112,7 @@ macro_rules! graph_topology_tests {
($T:ty) => {
#[test]
fn add_vertex() {
use $crate::traits::GraphTopology;
use $crate::traits::GraphTopologyAddition;
let mut graph = <$T>::new();
let v = graph.add_vertex();
assert_ne!(graph.add_vertex(), v, "unexpected duplicate vertex");
@@ -147,7 +147,7 @@ macro_rules! graph_topology_tests {
#[test]
fn add_edge() {
use $crate::traits::GraphTopology;
use $crate::traits::GraphTopologyAddition;
let mut graph = <$T>::new();
let v1 = graph.add_vertex();
let v2 = graph.add_vertex();
@@ -974,7 +974,7 @@ macro_rules! graph_topology_deletion_tests {
#[test]
fn delete_vertex_invalid_index() {
use $crate::traits::GraphTopology;
use $crate::traits::GraphTopologyAddition;
use $crate::traits::GraphTopologyDeletion;
let mut graph = Graph::new();
let v = graph.add_vertex();
@@ -1169,7 +1169,7 @@ macro_rules! graph_topology_deletion_tests {
#[test]
fn delete_edge_invalid_index() {
use $crate::traits::GraphTopology;
use $crate::traits::GraphTopologyAddition;
use $crate::traits::GraphTopologyDeletion;
let mut graph = Graph::new();
let v1 = graph.add_vertex();