From c589095737632ccbea1b9c910d7ee980d31c6279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20M=C3=BCller?= Date: Tue, 5 May 2026 22:52:07 +0200 Subject: [PATCH] Add test for GraphTopology::vertices() after delete --- src/testing/graph_topology_testing.rs | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/testing/graph_topology_testing.rs b/src/testing/graph_topology_testing.rs index 1e09b5f..bf864f0 100644 --- a/src/testing/graph_topology_testing.rs +++ b/src/testing/graph_topology_testing.rs @@ -553,5 +553,35 @@ macro_rules! graph_topology_deletion_tests { let result = std::panic::catch_unwind(move || graph.delete_edge(e)); assert!(result.is_err(), "second deletion should panic"); } + + #[test] + fn vertices_after_delete() { + let (mut graph, vertices) = make_test_graph(); + graph.delete_vertex(vertices[2]); + assert_eq!( + graph.vertex_count(), + 9, + "unexpected vertex count after delete" + ); + assert_eq!( + graph.vertices().count(), + 9, + "unexpected vertex iterator count after delete" + ); + for v in graph.vertices() { + assert_ne!( + v, vertices[2], + "deleted vertex {:?} appeared in iterator", + vertices[2] + ); + } + for i in [0, 1, 3, 4, 5, 6, 7, 8, 9] { + assert!( + graph.vertices().any(|v| v == vertices[i]), + "expected vertex {:?} missing from iterator after delete", + vertices[i] + ); + } + } }; }