Initial release #1

Merged
warrence merged 102 commits from dev into main 2026-06-30 10:26:52 +02:00
2 changed files with 14 additions and 13 deletions
Showing only changes of commit e299012948 - Show all commits
+3 -13
View File
@@ -14,7 +14,7 @@ macro_rules! dijkstra_tests {
#[test]
fn dijkstra_disconnected() {
let (graph, vertices) = make_test_graph_dijkstra_disconnected();
let (graph, vertices) = make_test_graph_disconnected();
let result = $crate::algorithms::dijkstra(&graph, vertices[0], |_| {
panic!("unexpected call of weight functor")
});
@@ -79,7 +79,7 @@ macro_rules! dijkstra_tests {
#[test]
fn dijkstra_unweighted_disconnected() {
let (graph, vertices) = make_test_graph_dijkstra_disconnected();
let (graph, vertices) = make_test_graph_disconnected();
let result = $crate::algorithms::dijkstra_unweighted(&graph, vertices[0]);
assert_single_vertex(&result, vertices[0]);
assert_disconnected(&result, &vertices[1..3]);
@@ -103,7 +103,7 @@ macro_rules! dijkstra_tests {
#[test]
fn dijkstra_distances_unweighted_disconnected() {
let (graph, vertices) = make_test_graph_dijkstra_disconnected();
let (graph, vertices) = make_test_graph_disconnected();
let distances = $crate::algorithms::dijkstra_distances_unweighted(&graph, vertices[0]);
assert_distances_single_vertex(&distances, vertices[0]);
assert_distances_disconnected(&distances, &vertices[1..3]);
@@ -287,16 +287,6 @@ macro_rules! dijkstra_tests {
}
}
fn make_test_graph_dijkstra_disconnected()
-> ($T, [<$T as $crate::traits::GraphTopology>::Vertex; 3]) {
use $crate::traits::GraphTopology;
let mut graph = <$T>::new();
let vertices: [<$T as $crate::traits::GraphTopology>::Vertex; 3] =
core::array::from_fn(|_| graph.add_vertex());
graph.add_edge(vertices[1], vertices[2]);
(graph, vertices)
}
fn make_test_graph_weighted() -> (
$T,
[<$T as $crate::traits::GraphTopology>::Vertex; 10],
+11
View File
@@ -87,6 +87,17 @@ macro_rules! graph_topology_test_fixtures {
];
(graph, vertices, edges, incidences)
}
#[allow(dead_code)]
fn make_test_graph_disconnected()
-> ($T, [<$T as $crate::traits::GraphTopology>::Vertex; 3]) {
use $crate::traits::GraphTopology;
let mut graph = <$T>::new();
let vertices: [<$T as $crate::traits::GraphTopology>::Vertex; 3] =
core::array::from_fn(|_| graph.add_vertex());
graph.add_edge(vertices[1], vertices[2]);
(graph, vertices)
}
};
}