summaryrefslogtreecommitdiffstats
path: root/tests/wirs_tests.cpp
diff options
context:
space:
mode:
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;