Commit Graph
199 Commits
Author SHA1 Message Date
warrence a9190f88db Add From and FromGraph tests for FrozenGraph and for GraphTopologyAddition
The new tests are analogous to the existing Clone tests. Currently, only FrozenGraph implements From and FromGraph, but not GraphTopologyAddition, so the tests relying on GraphTopologyAddition are currently unused.
2026-09-25 08:41:10 +02:00
warrence d438a4288a Extract asserts from Clone tests to be reusable 2026-09-25 08:36:30 +02:00
warrence 0dea90ceff Update Dijkstra's algorithm to take any weights that satisfy the new Weight trait 2026-09-25 08:32:56 +02:00
warrence 64c48287a7 Fix ElementMap capacity in FrozenGraph::edge_map 2026-09-19 18:07:33 +02:00
warrence 345dbc0d5d Add ElementMap::map 2026-09-19 17:59:27 +02:00
warrence 038e984c97 Add FromGraph trait, and add implementation for FrozenGraph 2026-09-19 17:53:44 +02:00
warrence e593298eba Add Clone to graph models, and tests 2026-09-19 17:19:47 +02:00
warrence 4c6a8a43e4 Refactor tests: use MakeTestGraph in model-specific tests, deconstruct vertex arrays where useful, adjust local variable names 2026-09-04 09:28:00 +02:00
warrence 016d127bd1 Update comment for pub, hidden Graph structs 2026-09-04 08:16:09 +02:00
warrence 8c3c6abc78 Updated todos 2026-09-03 20:40:43 +02:00
warrence 3ad448974e Add new assert helper function for GraphTopologyDeletion tests 2026-09-03 20:40:15 +02:00
warrence 1209d75e15 Use non-zero edge indices to reduce size of structs with Option fields 2026-09-03 20:28:41 +02:00
warrence c25a8a4fc1 Add FrozenGraph tests 2026-09-03 19:49:45 +02:00
warrence 73af8a16ca Add algorithms::bfs_find_path 2026-09-03 09:43:45 +02:00
warrence a8b6f7591c Move common test helpers to fixtures module 2026-09-03 09:10:03 +02:00
warrence 8a1d491943 Format test code 2026-09-03 09:06:22 +02:00
warrence 5825ef3b47 Change all graph tests to pub to avoid unused-warnings 2026-09-02 09:30:37 +02:00
warrence 0ff830ef48 Refactor graph trait tests to minimize macro code, and split into separate files per macro
The tests only declare a list of tests in the macro, no longer the test functions themselves. This allows better tooling support (e.g. IDE and rustfmt).
2026-08-31 19:49:42 +02:00
warrence df5170f2f5 Refactor algorithm tests to minimize macro code, and move into tests/
The tests only declare a list of tests in the macro, no longer the test functions themselves. This allows better tooling support (e.g. IDE and rustfmt).
2026-08-31 19:44:55 +02:00
warrence 6d3a206995 Hide mod testing from documentation 2026-08-31 19:44:05 +02:00
warrence 95601a7a5a Add todos 2026-08-29 22:39:45 +02:00
warrence 7fbd5eed9d Refactor graph creation in all tests into new internal MakeTestGraph trait
This large refactor allows future re-use of the existing tests for `FrozenGraph`, which does not implement `GraphTopologyAddition`, but instead has to convert from a different graph which does.

- Fix tests for `GraphTopologyDeletion` hard-coding Graph instead of using the trait.
- Fix some tests silently depending on macro call site uses.
- Change `GraphTopologyAddition` tests to use `Default::default` instead of `new`.
- Add new tests for `GraphTopology::vertex_map` and `edge_map` that also depend on `GraphTopologyAddition`, removing these dependencies from the existing tests.
- Add new test macro `graph_topology_addition_deletion_tests` for tests that need deletion and addition.
2026-08-29 22:38:27 +02:00
warrence 1185e3b667 Add Default trait to GraphTopologyAddition 2026-08-27 20:11:54 +02:00
warrence cbabb8f960 Remove unnecessary doc link path parts 2026-08-27 20:11:03 +02:00
warrence a89086253a Add FrozenGraph (without tests) 2026-08-17 10:25:52 +02:00
warrence 5085b7795b Remove local vars in AppendGraph::incident_vertices and construct result directly 2026-08-17 10:20:53 +02:00
warrence cd1d2cddee Move related tests into new testing macro for GraphTopologyAddition 2026-08-17 10:19:22 +02:00
warrence 3d99501d4b Fix inline documentation after recent changes 2026-08-17 10:16:54 +02:00
warrence b4374174a9 Add reserve_vertices and reserve_edges to GraphTopologyAddition 2026-08-07 19:01:03 +02:00
warrence 59d9c2b8a7 Add ElementMap::reserve to replace ElementMap::expand, update tests
ElementMap tests are now self contained unit tests, without any graph context. The only exception is the repurposed test "reused_slot_returns_old_value", which is not suited for GraphTopologyDeletion, but actually specific for Graph.
2026-08-06 23:06:52 +02:00
warrence a7346bd782 Rename EntityMap to ElementMap (tests not yet updated) 2026-08-06 23:01:10 +02:00
warrence 7d8c9aaa10 Add link in lib module doc 2026-08-06 20:54:42 +02:00
warrence 10d0c382cc Add GraphTopologyAddition trait from GraphTopology
Move capacity and add methods from GraphTopology trait to new GraphTopologyAddition trait
2026-08-06 14:17:21 +02:00
warrence 2851cf60fd Add Incidence struct for GraphTopology to use 2026-08-06 09:57:51 +02:00
warrence 110e6310aa Use PriorityQueue for Dijkstra's, requires Hash for Vertex 2026-08-06 09:44:28 +02:00
warrence 53a6bed932 Add todos 2026-07-31 10:24:51 +02:00
warrence afaf161344 Rename 'weight' parameter in Dijkstra's algorithm to 'weights' 2026-07-31 10:23:47 +02:00
warrence 0169343ac8 Merge branch 'main' into release-0.3.0 2026-07-31 10:16:03 +02:00
warrence 95f9b06088 Merge pull request 'Release 0.2.4' (#7) from release-0.2.4 into main
Reviewed-on: #7
0.2.4
2026-07-31 09:38:27 +02:00
warrence b752e3f9d4 Update package version 2026-07-31 09:34:13 +02:00
warrence 1b79809e2f Remove deprecated method calls from map tests 2026-07-31 09:33:26 +02:00
warrence 242aba09e8 Rename VertexMap/EdgeMap::extend to "expand"
This avoids the naming conflict with e.g. Vec::extend
2026-07-31 09:32:52 +02:00
warrence 1b8df19d00 Remove tests for deprecated VertexMap/EdgeMap::sync 2026-07-31 09:31:21 +02:00
warrence 517b83b328 Add warning for missing docs 2026-07-31 08:50:19 +02:00
warrence dd4e959554 Merge branch 'docs' into release-0.2.4 2026-07-31 08:44:10 +02:00
warrence cf1dafceb7 Add remaining docs for algorithms module 2026-07-28 22:57:55 +02:00
warrence 9a1e2faa9a Allow missing docs on deprecated maps methods 2026-07-28 22:56:51 +02:00
warrence 08b2c4db65 Add documentation for Dijkstra's algorithm, and rearrange related functions 2026-07-27 09:58:41 +02:00
warrence dfa8f8f0df Add EntityMap::extend and deprecate VertexMap/EdgeMap::sync 2026-07-27 08:56:58 +02:00
warrence 43c4ba45a2 Add documentation for maps module 2026-07-27 08:47:19 +02:00