warrence
fb64e370dc
Update readme and license information
2026-06-29 21:04:48 +02:00
warrence
21c95b4796
Add find_path algorithm and tests
2026-06-29 21:03:10 +02:00
warrence
f009a86f1e
Add GraphTopology.incidence_cursor() for certain use-cases where the iterator is problematic
...
Also add raw_incidences() and step_incidence() to AppendGraph analogously to
Graph, which allows to remove RawIncidenceIterator and simplify its call sites.
2026-06-26 23:36:41 +02:00
warrence
c197766229
Fix formatting
2026-06-26 15:38:49 +02:00
warrence
c147ed4974
Update breadth-first search tests
2026-06-26 15:35:23 +02:00
warrence
135f256141
Add depth-first search algorithms and tests
2026-06-26 15:34:42 +02:00
warrence
91ac925417
Add breadth-first search algorithms and tests
2026-06-25 21:56:22 +02:00
warrence
e299012948
Move the disconnected test graph to the more general graph_topology_test_fixtures macro
2026-06-25 20:17:55 +02:00
warrence
3adfb4b9eb
Add todo for custom weight type for Dijkstra's algorithm
2026-05-18 16:15:46 +02:00
warrence
ce692cb0b2
Add trait imports to test functions, making macros self-contained
2026-05-18 15:55:56 +02:00
warrence
465a383683
Add tests for Dijkstra's algorithm with edge weights
2026-05-18 12:48:12 +02:00
warrence
25b5d7864a
Refactor Dijkstra test assertions into new functions
2026-05-18 12:45:28 +02:00
warrence
13daf20e1c
Update test names for Dijkstra's algorithm to match the tested functions
...
This should have happened when the functions were renamed with the introduction of custom edge weights
2026-05-13 14:04:07 +02:00
warrence
600664acb6
Update tests for Dijkstra's algorithm to test both graph models
...
Use the already established macro pattern, move actual tests to a new file in src/testing.
Use the make_test_graph() function from the graph topology tests instead of duplicating it for the Dijkstra tests.
2026-05-13 14:02:07 +02:00
warrence
e479074151
Remove todo, proposed change would not affect callers
2026-05-13 12:18:27 +02:00
warrence
aaa1b34db3
Add todo that was accidentally removed
2026-05-13 12:16:10 +02:00
warrence
f862ac55ec
Add GraphTopology::incident_edges() and tests
2026-05-13 10:59:38 +02:00
warrence
384dca2d20
Fix inconsistent local var name in test function
2026-05-13 10:58:47 +02:00
warrence
340fde2133
Add Graph::raw_incidences() iterator as a wrapper for step_incidence()
2026-05-13 10:32:37 +02:00
warrence
6191def324
Fix format
2026-05-13 10:30:36 +02:00
warrence
ff148532ab
Move maps tests to integration tests
2026-05-12 18:32:45 +02:00
warrence
f1d5ccafd2
Add len() for VertexMap and EdgeMap
2026-05-12 18:26:52 +02:00
warrence
be63527478
Add incident vertices to edges return value in make_test_graph() fixture
2026-05-12 13:55:04 +02:00
warrence
ac688b4fc0
Extracted some assert code for GraphTopology::incidences into new fn
2026-05-12 13:39:13 +02:00
warrence
f45fc98afc
Add GraphTopology::incident_vertices and tests
2026-05-12 13:37:27 +02:00
warrence
85e25ef0ca
Refactor Graph iterator structs into private method used with std::iter::from_fn()
2026-05-08 20:48:43 +02:00
warrence
2eb054eb0c
Refactor AppendGraph iterators into one RawIncidenceIterator
2026-05-08 20:40:20 +02:00
warrence
0f5f0d67d2
Update Dijkstra's to use incidences instead of neighbors, and with it custom edge weights
2026-05-08 13:16:23 +02:00
warrence
0bcd270d12
Add GraphTopology::incidences(), update and add related tests
2026-05-08 13:12:23 +02:00
warrence
d3fcd690a5
Remove deprecated From<Vertex> for usize implementation
2026-05-08 12:57:16 +02:00
warrence
4e47573290
Renamed the private graph iterators to attune for upcoming changes
2026-05-07 18:01:16 +02:00
warrence
a7be995e34
Change "neighbor" terminology to "adjacent vertex" throughout the code
2026-05-07 17:34:20 +02:00
warrence
726e7691ea
Add weight parameter for Dijkstra's algorithm, add unweighted variants (unused)
2026-05-07 17:15:34 +02:00
warrence
6fe3acb306
Add EdgeMap and private generic EntityMap, update tests
2026-05-07 16:03:17 +02:00
warrence
e074fdf944
Move edge_count() in method order
2026-05-07 11:38:15 +02:00
warrence
016cece626
Update VertexMap tests to validate both graph models
2026-05-07 00:12:06 +02:00
warrence
7f91743b02
Add VertexMap tests for Graph (vertex deletion)
2026-05-06 23:37:48 +02:00
warrence
166b91cdd2
Update Dijkstra's algorithm to use VertexMap
2026-05-06 20:28:53 +02:00
warrence
f40c03b113
Add VertexMap to attach data to vertices
2026-05-06 20:28:00 +02:00
warrence
6e9867a65e
Add GraphTopology::edges() and tests
2026-05-05 22:54:33 +02:00
warrence
c589095737
Add test for GraphTopology::vertices() after delete
2026-05-05 22:52:07 +02:00
warrence
18245b9955
Add Copy and Eq traits to GraphTopology::Edge
2026-05-05 22:37:32 +02:00
warrence
feaca335b1
Add loops and multi-edges to the test graph, fix neighbors() test
2026-05-05 19:21:48 +02:00
warrence
8324f93ebd
Add graph topology test helper macros to deduplicate test code
2026-04-30 17:41:53 +02:00
warrence
09c5850ff3
Add Graph::delete_vertex() implementation
2026-04-29 20:50:19 +02:00
warrence
b3dc0ea666
Add test for Graph vertex deletion with loop
2026-04-29 20:49:34 +02:00
warrence
5b0d6ca1ad
Fix Graph::delete_edge() for paired index with loops
...
- Add new tests for this case
- Fix double list traversal for loop deletions
- Rename Graph::delete_incidence() to update_incidence_list(), and its arguments and local vars
2026-04-29 18:24:10 +02:00
warrence
2793f8af8a
Add Graph::delete_edge() implementation
2026-04-28 17:39:32 +02:00
warrence
ceedea6a0f
Fix formatting
2026-04-28 17:38:41 +02:00
warrence
8e0b3325f5
Update and adds tests for Graph edge deletion
2026-04-28 17:36:38 +02:00