Fix clippy findings and related issues

This commit is contained in:
2026-10-13 21:25:50 +02:00
parent 7cfee9cce5
commit 3d1e8246a8
11 changed files with 179 additions and 254 deletions
+55 -79
View File
@@ -262,7 +262,8 @@ where
G::Vertex: Debug,
{
let (mut graph, vertices, _, _) = G::standard();
graph.delete_vertex(vertices[2]);
let del = vertices[2];
graph.delete_vertex(del);
assert_eq!(
graph.vertex_count(),
9,
@@ -274,17 +275,12 @@ where
"unexpected vertex iterator count after delete"
);
for v in graph.vertices() {
assert_ne!(
v, vertices[2],
"deleted vertex {:?} appeared in iterator",
vertices[2]
);
assert_ne!(v, del, "deleted vertex {del:?} appeared in iterator");
}
for i in [0, 1, 3, 4, 5, 6, 7, 8, 9] {
for &v in vertices.iter().filter(|&&u| u != del) {
assert!(
graph.vertices().any(|v| v == vertices[i]),
"expected vertex {:?} missing from iterator after delete",
vertices[i]
graph.vertices().any(|u| u == v),
"expected vertex {v:?} missing from iterator after delete"
);
}
}
@@ -295,9 +291,9 @@ where
G::Edge: Debug,
{
let (mut graph, _, edges, _) = G::standard();
let e = edges[2].0;
graph.delete_edge(e);
for &(f, v0, v1) in edges.iter().filter(|&&(f, _, _)| f != e) {
let del = edges[2].0;
graph.delete_edge(del);
for &(f, v0, v1) in edges.iter().filter(|&&(f, _, _)| f != del) {
let (u0, u1) = graph.incident_vertices(f);
assert!(
(u0 == v0 && u1 == v1) || (u0 == v1 && u1 == v0),
@@ -340,13 +336,15 @@ where
G::Edge: Debug,
{
let (mut graph, vertices, edges, incidences) = G::standard();
graph.delete_edge(edges[2].0);
for i in 0..10 {
let mut expected: Vec<_> = incidences[i]
let del = edges[2].0;
graph.delete_edge(del);
assert_eq!(vertices.len(), incidences.len());
for (&v, incs) in vertices.iter().zip(&incidences) {
let mut expected = incs
.iter()
.filter_map(|x| (x.edge != edges[2].0).then_some(x.edge))
.filter_map(|x| (x.edge != del).then_some(x.edge))
.collect();
assert_incident_edges_after_delete(&graph, vertices[i], &mut expected);
assert_incident_edges_after_delete(&graph, v, &mut expected);
}
}
@@ -356,13 +354,14 @@ where
G::Edge: Debug,
{
let (mut graph, vertices, _, incidences) = G::standard();
graph.delete_vertex(vertices[2]);
for i in [0, 1, 3, 4, 5, 6, 7, 8, 9] {
let mut expected: Vec<_> = incidences[i]
let del = vertices[2];
graph.delete_vertex(del);
for (&v, incs) in vertices.iter().zip(&incidences).filter(|&(&u, _)| u != del) {
let mut expected = incs
.iter()
.filter_map(|x| (x.vertex != vertices[2]).then_some(x.edge))
.filter_map(|x| (x.vertex != del).then_some(x.edge))
.collect();
assert_incident_edges_after_delete(&graph, vertices[i], &mut expected);
assert_incident_edges_after_delete(&graph, v, &mut expected);
}
}
@@ -372,14 +371,11 @@ where
G::Edge: Debug,
{
let (mut graph, vertices, _, incidences) = G::standard();
graph.delete_vertex(vertices[2]);
for i in [0, 1, 3, 4, 5, 6, 7, 8, 9] {
let remaining = incidences[i]
.iter()
.filter(|x| x.vertex != vertices[2])
.cloned()
.collect();
assert_vertex_incidences(&graph, vertices[i], remaining);
let del = vertices[2];
graph.delete_vertex(del);
for (&v, incs) in vertices.iter().zip(&incidences).filter(|&(&u, _)| u != del) {
let remaining = incs.iter().filter(|x| x.vertex != del).cloned().collect();
assert_vertex_incidences(&graph, v, remaining);
}
}
@@ -389,14 +385,12 @@ where
G::Edge: Debug,
{
let (mut graph, vertices, edges, incidences) = G::standard();
graph.delete_edge(edges[2].0);
for i in 0..10 {
let remaining = incidences[i]
.iter()
.filter(|x| x.edge != edges[2].0)
.cloned()
.collect();
assert_vertex_incidences(&graph, vertices[i], remaining);
let del = edges[2].0;
graph.delete_edge(del);
assert_eq!(vertices.len(), incidences.len());
for (&v, incs) in vertices.iter().zip(&incidences) {
let remaining = incs.iter().filter(|x| x.edge != del).cloned().collect();
assert_vertex_incidences(&graph, v, remaining);
}
}
@@ -406,14 +400,11 @@ where
G::Edge: Debug,
{
let (mut graph, vertices, _, incidences) = G::standard();
graph.delete_vertex(vertices[2]);
for i in [0, 1, 3, 4, 5, 6, 7, 8, 9] {
let remaining = incidences[i]
.iter()
.filter(|x| x.vertex != vertices[2])
.cloned()
.collect();
assert_vertex_incidence_cursor(&graph, vertices[i], remaining);
let del = vertices[2];
graph.delete_vertex(del);
for (&v, incs) in vertices.iter().zip(&incidences).filter(|&(&u, _)| u != del) {
let remaining = incs.iter().filter(|x| x.vertex != del).cloned().collect();
assert_vertex_incidence_cursor(&graph, v, remaining);
}
}
@@ -423,14 +414,12 @@ where
G::Edge: Debug,
{
let (mut graph, vertices, edges, incidences) = G::standard();
graph.delete_edge(edges[2].0);
for i in 0..10 {
let remaining = incidences[i]
.iter()
.filter(|x| x.edge != edges[2].0)
.cloned()
.collect();
assert_vertex_incidence_cursor(&graph, vertices[i], remaining);
let del = edges[2].0;
graph.delete_edge(del);
assert_eq!(vertices.len(), incidences.len());
for (&v, incs) in vertices.iter().zip(&incidences) {
let remaining = incs.iter().filter(|x| x.edge != del).cloned().collect();
assert_vertex_incidence_cursor(&graph, v, remaining);
}
}
@@ -445,26 +434,22 @@ fn assert_vertex_incidences<G: GraphTopology>(
assert_eq!(
graph.incidences(v).count(),
expected.len(),
"unexpected incidence count for vertex {:?} after delete",
v
"unexpected incidence count for vertex {v:?} after delete"
);
for incidence in graph.incidences(v) {
let pos = expected
.iter()
.position(|x| *x == incidence)
.position(|&x| x == incidence)
.unwrap_or_else(|| {
panic!(
"unexpected incidence {incidence:?} of vertex {:?} from iterator after delete",
v
"unexpected incidence {incidence:?} of vertex {v:?} from iterator after delete"
)
});
expected.swap_remove(pos);
}
assert!(
expected.is_empty(),
"expected incidences {:?} of vertex {:?} not matched by iterator after delete",
expected,
v
"expected incidences {expected:?} of vertex {v:?} not matched by iterator after delete"
);
}
@@ -480,20 +465,17 @@ fn assert_vertex_incidence_cursor<G: GraphTopology>(
while let Some(incidence) = cursor.next(graph) {
let pos = expected
.iter()
.position(|x| *x == incidence)
.position(|&x| x == incidence)
.unwrap_or_else(|| {
panic!(
"unexpected incidence {incidence:?} of vertex {:?} from cursor after delete",
v
"unexpected incidence {incidence:?} of vertex {v:?} from cursor after delete"
)
});
expected.swap_remove(pos);
}
assert!(
expected.is_empty(),
"expected incidences {:?} of vertex {:?} not matched by cursor after delete",
expected,
v
"expected incidences {expected:?} of vertex {v:?} not matched by cursor after delete"
);
}
@@ -508,22 +490,16 @@ fn assert_incident_edges_after_delete<G: GraphTopology>(
assert_eq!(
graph.incident_edges(v).count(),
expected.len(),
"unexpected incident edge count for vertex {:?} after delete",
v
"unexpected incident edge count for vertex {v:?} after delete"
);
for e in graph.incident_edges(v) {
let pos = expected.iter().position(|f| *f == e).unwrap_or_else(|| {
panic!(
"unexpected incident edge {e:?} of vertex {:?} after delete",
v
)
let pos = expected.iter().position(|&f| f == e).unwrap_or_else(|| {
panic!("unexpected incident edge {e:?} of vertex {v:?} after delete")
});
expected.swap_remove(pos);
}
assert!(
expected.is_empty(),
"expected incident edges {:?} of vertex {:?} not matched after delete",
expected,
v
"expected incident edges {expected:?} of vertex {v:?} not matched after delete"
);
}