diff options
| author | Douglas Rumbaugh <dbr4@psu.edu> | 2023-06-05 11:43:14 -0400 |
|---|---|---|
| committer | Douglas Rumbaugh <dbr4@psu.edu> | 2023-06-05 11:43:14 -0400 |
| commit | 7dcec45b0339cd8b9b2bfab8ce1fc4c6080ea958 (patch) | |
| tree | db48d4068a29204f6f5725e43841c974cc4cc6f5 /tests/wirs_tests.cpp | |
| parent | cd6231c89643d450f538c6063fb759b3bfcea924 (diff) | |
| download | dynamic-extension-7dcec45b0339cd8b9b2bfab8ce1fc4c6080ea958.tar.gz | |
WSS tests + bugfixes
Diffstat (limited to 'tests/wirs_tests.cpp')
| -rw-r--r-- | tests/wirs_tests.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/tests/wirs_tests.cpp b/tests/wirs_tests.cpp index 32cb863..eab94de 100644 --- a/tests/wirs_tests.cpp +++ b/tests/wirs_tests.cpp @@ -142,10 +142,14 @@ START_TEST(t_wirs_query) wirs_query_parms<WRec> parms = {lower_key, upper_key, k}; parms.rng = gsl_rng_alloc(gsl_rng_mt19937); + size_t total_samples = 0; + for (size_t i=0; i<1000; i++) { auto state = WIRSQuery<WRec>::get_query_state(shard, &parms); auto result = WIRSQuery<WRec>::query(shard, state, &parms); + total_samples += result.size(); + for (size_t j=0; j<result.size(); j++) { cnt[result[j].rec.key - 1]++; } @@ -153,9 +157,9 @@ START_TEST(t_wirs_query) WIRSQuery<WRec>::delete_query_state(state); } - ck_assert(roughly_equal(cnt[0] / 1000, (double) k/4.0, k, .05)); - ck_assert(roughly_equal(cnt[1] / 1000, (double) k/4.0, k, .05)); - ck_assert(roughly_equal(cnt[2] / 1000, (double) k/2.0, k, .05)); + ck_assert(roughly_equal(cnt[0], (double) total_samples/4.0, total_samples, .05)); + ck_assert(roughly_equal(cnt[1], (double) total_samples/4.0, total_samples, .05)); + ck_assert(roughly_equal(cnt[2], (double) total_samples/2.0, total_samples, .05)); gsl_rng_free(parms.rng); delete shard; @@ -233,10 +237,14 @@ START_TEST(t_wirs_buffer_query_scan) wirs_query_parms<WRec> parms = {lower_key, upper_key, k}; parms.rng = gsl_rng_alloc(gsl_rng_mt19937); + size_t total_samples = 0; + for (size_t i=0; i<1000; i++) { auto state = WIRSQuery<WRec, false>::get_buffer_query_state(buffer, &parms); auto result = WIRSQuery<WRec, false>::buffer_query(buffer, state, &parms); + total_samples += result.size(); + for (size_t j=0; j<result.size(); j++) { cnt[result[j].rec.key - 1]++; } @@ -244,9 +252,9 @@ START_TEST(t_wirs_buffer_query_scan) WIRSQuery<WRec, false>::delete_buffer_query_state(state); } - ck_assert(roughly_equal(cnt[0] / 1000, (double) k/4.0, k, .05)); - ck_assert(roughly_equal(cnt[1] / 1000, (double) k/4.0, k, .05)); - ck_assert(roughly_equal(cnt[2] / 1000, (double) k/2.0, k, .05)); + ck_assert(roughly_equal(cnt[0], (double) total_samples/4.0, total_samples, .05)); + ck_assert(roughly_equal(cnt[1], (double) total_samples/4.0, total_samples, .05)); + ck_assert(roughly_equal(cnt[2], (double) total_samples/2.0, total_samples, .05)); gsl_rng_free(parms.rng); delete buffer; @@ -283,9 +291,9 @@ START_TEST(t_wirs_buffer_query_rejection) WIRSQuery<WRec>::delete_buffer_query_state(state); } - ck_assert(roughly_equal(cnt[0] / total_samples, (double) k/4.0, k, .05)); - ck_assert(roughly_equal(cnt[1] / total_samples, (double) k/4.0, k, .05)); - ck_assert(roughly_equal(cnt[2] / total_samples, (double) k/2.0, k, .05)); + ck_assert(roughly_equal(cnt[0], (double) total_samples/4.0, total_samples, .05)); + ck_assert(roughly_equal(cnt[1], (double) total_samples/4.0, total_samples, .05)); + ck_assert(roughly_equal(cnt[2], (double) total_samples/2.0, total_samples, .05)); gsl_rng_free(parms.rng); delete buffer; |