Commit Graph
100 Commits
Author SHA1 Message Date
warrence f5bb3ad07a Change generate_as and petersen to return Vecs instead of arrays 2026-10-22 20:30:24 +02:00
warrence baa6775156 Fix docs in testing helper assert_valid_path 2026-10-21 22:03:40 +02:00
warrence 32fae0b24c Add generators::complete, without tests 2026-10-18 11:58:26 +02:00
warrence 026005fe46 Change path graph size parameter by 1, add doc link and P(n) notation 2026-10-18 11:57:51 +02:00
warrence 421207a1cd Update cycle graph docs with link and C(n) denotation 2026-10-18 11:53:37 +02:00
warrence 9b11090e82 Fix missing loop var usage 2026-10-18 11:48:23 +02:00
warrence d1463544f7 Add generators::cycle, without tests 2026-10-17 00:40:33 +02:00
warrence ba3717f246 Add generators::path, without tests 2026-10-17 00:32:42 +02:00
warrence f34a7e6541 Simplify generators::petersen function signature formatting 2026-10-17 00:20:58 +02:00
warrence 5fc586f58e Use prelude import in generators doc example 2026-10-17 00:19:40 +02:00
warrence 6f557a92aa Update package version 2026-10-16 20:35:54 +02:00
warrence 6403862977 Merge branch 'fixes' into common-neighbors 2026-10-16 20:29:11 +02:00
warrence 3ae0aa9b67 Update generators unit tests to cover generate_as and better validate Petersen graph 2026-10-16 20:28:48 +02:00
warrence 5b6ad13f0e Add generators::generate_as 2026-10-16 20:25:40 +02:00
warrence f41b77903f Add docs for MakeTestGraph generator methods 2026-10-16 20:23:58 +02:00
warrence 3fb3e67e8e Add GraphTopology::common_neighbors 2026-10-16 20:19:08 +02:00
warrence 8c57f5d2c4 Fix import order 2026-10-15 20:09:35 +02:00
warrence 1d1ca3bd6a Update package version 2026-10-15 10:03:18 +02:00
warrence 90a2bd9e9e Add GraphTopologyConversion tests related to addition and deletion 2026-10-15 10:01:54 +02:00
warrence 7196871a96 Add ElementMap conversion tests via new GraphIsomorphism 2026-10-15 09:32:15 +02:00
warrence dd0ae64984 Add unit tests for ElementMap::remap 2026-10-15 09:06:21 +02:00
warrence 9ae841288b Add conversion test for empty graph 2026-10-15 08:46:47 +02:00
warrence eab5a63e6c Fix loop patterns 2026-10-15 08:45:18 +02:00
warrence 653cd39279 Fix doc links 2026-10-13 21:38:44 +02:00
warrence 3d1e8246a8 Fix clippy findings and related issues 2026-10-13 21:25:50 +02:00
warrence 7cfee9cce5 Remove function calls inside of 'expect' 2026-10-12 21:52:51 +02:00
warrence b124e58b38 Change GraphTopologyConversion::convert return value to include the new GraphIsomorphism
This allows to convert maps for the converted graph.
2026-10-12 21:33:49 +02:00
warrence 1979d33649 Add reserve calls to the test fixtures 2026-10-12 20:23:27 +02:00
warrence 3d7dda6f7b Refactor ElementMap, removing its copy-on-write feature 2026-10-11 22:24:00 +02:00
warrence 4e20c49486 Update generators::petersen to use graph reserve methods 2026-09-29 23:22:10 +02:00
warrence b943dddf1b Add docs for generators and generators::petersen 2026-09-29 23:19:08 +02:00
warrence c8855daddf Renamed FromGraph to GraphTopologyConversion to align with existing traits and separate from From trait 2026-09-29 23:16:57 +02:00
warrence 9d43f0cb8d Move FromGrath trait within traits module 2026-09-29 00:00:13 +02:00
warrence 8bf196d1ad Fix code format 2026-09-28 23:59:30 +02:00
warrence 3478274959 Add From and FromGraph implementations for Graph and AppendGraph 2026-09-28 23:58:30 +02:00
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 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
warrence 99bab32f8c Add module level documentation for prelude, models, and testing 2026-07-24 20:57:19 +02:00
warrence 6e80b2fc9a Update traits module documentation 2026-07-24 20:56:39 +02:00
warrence b5cc3b1c3f Add documentation for Graph 2026-07-24 20:55:41 +02:00
warrence 21e79c660f Update documentation for AppendGraph 2026-07-24 20:55:01 +02:00
warrence 399b36bb16 Add documentation for Graph and AppendGraph EntityMap types 2026-07-24 10:13:15 +02:00
warrence 9f76ce4ce3 Fix vertex_capacity and edge_capacity in AppendGraph
Fix AppendGraph::vertex_capacity and AppendGraph::edge_capacity to use the actual capacity of the underlying Vecs.
2026-07-24 10:09:37 +02:00
warrence d9dc102993 Add documentation for models::append_graph module 2026-07-24 10:06:43 +02:00
warrence 3708c1e0d1 Fix formatting 2026-07-22 13:45:46 +02:00
warrence 9608796f23 Move dfs_find_path tests into dfs_testing 2026-07-22 13:44:32 +02:00
warrence c253e4a840 Add tests for GraphTopology::vertex_map and edge_map 2026-07-22 13:31:15 +02:00
warrence d711e68577 Replace VertexMap and EdgeMap with now public EntityMap 2026-07-22 13:30:09 +02:00
warrence 8db7a86187 Add Petersen graph generator 2026-07-18 23:38:08 +02:00
warrence 3fa4b66981 Fix IncidenceCursor for AppendGraph and Graph, and add tests 2026-07-17 22:06:28 +02:00
warrence ad9850800d Update IncidenceCursor trait doc with note on Copy 2026-07-17 11:30:45 +02:00
warrence a14202effc Merge branch 'main' into release-0.3.0 2026-07-17 11:29:41 +02:00
warrence 8f9f0bf4c8 Add language tag to readme example code for syntax highlighting 2026-07-17 11:21:31 +02:00