This directory contains test code for various data structures. We used the googletest framework for testing.
A call of make test-sdsl
in your cmake build directory will execute all tests.
If you only want to run a test of a specific component X
then run
make X
, where X should be in the following list:
bits-test
(tests basic bit operations)bit-vector-test
(tests bit_vector structures)coder-test
(tests coder e.g. elias-gamma, fibonacci, comma)compile-test
(tests if a program that include all header-files compiles)csa-byte-test
(tests CSAs on byte alphabets)csa-int-test
(tests CSAs on integer alphabets)cst-byte-test
(tests CSTs on byte alphabets)cst-int-test
(tests CSTs on integer alphabets)int-vector-buffer-test
(tests int_vector_buffer)int-vector-mapper-test
(tests int_vector_mapper)int-vector-test
(tests int_vector)inv-perm-support-test
(tests inv_perm_support)k2-treap-test
(tests k2-treap)lcp-construct-test
(tests different lcp-array construction algorithms)nn-dict-dynamic-test
(tests nn-dict-dynamic)rank-support-test
(tests rank_support structures)rmq-test
(tests RMQ structures)sa-construct-test
(tests different suffix-array construction algorithms)sd-vector-test
(tests sd_vector constructors)search-bidirectional-test
(tests bidirectional search)select-support-test
andselect-support-0-test
(tests select_support structures)sorted-int-stack-test
(tests sorted-int-stack)sorted-stack-support-test
(tests sorted-stack-support)wt-byte-test
(tests wavelet trees on byte alphabets)wt-int-test
(tests wavelet trees on integer alphabets)
Test inputs are downloaded as needed before the first execution of the test. See the download.config files for details on the sources.
Executing make test-sdsl
should take about 60 minutes on a recent machine.
Please report, if a test fails. Thanks.
- Tests can be customized by editing the
.config
files. Test files should be located in test_cases.
We thank
- Project Gutenberg for providing text files
faust.txt
andzarathustra.txt
. - Shane Culpepper for providing the test inputs
keeper.int
andmoby.int
for the integer-alphabet CSAs and CSTs.