summaryrefslogtreecommitdiffstats
path: root/tests/wirs_tests.cpp
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2023-06-05 11:43:14 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2023-06-05 11:43:14 -0400
commit7dcec45b0339cd8b9b2bfab8ce1fc4c6080ea958 (patch)
treedb48d4068a29204f6f5725e43841c974cc4cc6f5 /tests/wirs_tests.cpp
parentcd6231c89643d450f538c6063fb759b3bfcea924 (diff)
downloaddynamic-extension-7dcec45b0339cd8b9b2bfab8ce1fc4c6080ea958.tar.gz
WSS tests + bugfixes
Diffstat (limited to 'tests/wirs_tests.cpp')
-rw-r--r--tests/wirs_tests.cpp26
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;