Skip to content

Commit d7fca5c

Browse files
committed
clusterlin: add big comment explaning the relation between tests
1 parent b64e61d commit d7fca5c

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

src/test/fuzz/cluster_linearize.cpp

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,63 @@
1717
#include <utility>
1818
#include <vector>
1919

20+
/*
21+
* The tests in this file primarily cover the candidate finder classes and linearization algorithms.
22+
*
23+
* <----: An implementation (at the start of the line --) is tested in the test marked with *,
24+
* possibly by comparison with other implementations (at the end of the line ->).
25+
* <<---: The right side is implemented using the left side.
26+
*
27+
* +-----------------------+
28+
* | SearchCandidateFinder | <<---------------------\
29+
* +-----------------------+ |
30+
* | +-----------+
31+
* | | Linearize |
32+
* | +-----------+
33+
* | +-------------------------+ | |
34+
* | | AncestorCandidateFinder | <<--------/ |
35+
* | +-------------------------+ |
36+
* | | ^ | ^^ PRODUCTION CODE
37+
* | | | | ||
38+
* ==============================================================================================
39+
* | | | | ||
40+
* | clusterlin_ancestor_finder* | | vv TEST CODE
41+
* | | |
42+
* |-clusterlin_search_finder* | |-clusterlin_linearize*
43+
* | | |
44+
* v | v
45+
* +-----------------------+ | +-----------------+
46+
* | SimpleCandidateFinder | <<-------------------| SimpleLinearize |
47+
* +-----------------------+ | +-----------------+
48+
* | | |
49+
* +-------------------/ |
50+
* | |
51+
* |-clusterlin_simple_finder* |-clusterlin_simple_linearize*
52+
* v v
53+
* +---------------------------+ +---------------------+
54+
* | ExhaustiveCandidateFinder | | ExhaustiveLinearize |
55+
* +---------------------------+ +---------------------+
56+
*
57+
* More tests are included for lower-level and related functions and classes:
58+
* - DepGraph tests:
59+
* - clusterlin_depgraph_sim
60+
* - clusterlin_depgraph_serialization
61+
* - clusterlin_components
62+
* - ChunkLinearization and LinearizationChunking tests:
63+
* - clusterlin_chunking
64+
* - clusterlin_linearization_chunking
65+
* - PostLinearize tests:
66+
* - clusterlin_postlinearize
67+
* - clusterlin_postlinearize_tree
68+
* - clusterlin_postlinearize_moved_leaf
69+
* - MergeLinearization tests:
70+
* - clusterlin_merge
71+
* - FixLinearization tests:
72+
* - clusterlin_fix_linearization
73+
* - MakeConnected tests (a test-only function):
74+
* - clusterlin_make_connected
75+
*/
76+
2077
using namespace cluster_linearize;
2178

2279
namespace {

0 commit comments

Comments
 (0)