summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2023-06-05 11:46:13 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2023-06-05 11:46:13 -0400
commit59ab2a92a5902b25fbc227bab549eb6f2dd84486 (patch)
tree4f888e5b7ee6a6d5ae0608b79e81eaee4c47c5f2
parent7dcec45b0339cd8b9b2bfab8ce1fc4c6080ea958 (diff)
downloaddynamic-extension-59ab2a92a5902b25fbc227bab549eb6f2dd84486.tar.gz
Added point-lookup tests for WIRS and WSS
-rw-r--r--tests/memisam_tests.cpp1
-rw-r--r--tests/wirs_tests.cpp50
-rw-r--r--tests/wss_tests.cpp50
3 files changed, 101 insertions, 0 deletions
diff --git a/tests/memisam_tests.cpp b/tests/memisam_tests.cpp
index dd4ce72..aaf0b51 100644
--- a/tests/memisam_tests.cpp
+++ b/tests/memisam_tests.cpp
@@ -348,6 +348,7 @@ Suite *unit_testing()
tcase_add_test(tombstone, t_full_cancelation);
suite_add_tcase(unit, tombstone);
+
TCase *lookup = tcase_create("de:MemISAM:point_lookup Testing");
tcase_add_test(lookup, t_point_lookup);
tcase_add_test(lookup, t_point_lookup_miss);
diff --git a/tests/wirs_tests.cpp b/tests/wirs_tests.cpp
index eab94de..d959347 100644
--- a/tests/wirs_tests.cpp
+++ b/tests/wirs_tests.cpp
@@ -96,6 +96,50 @@ START_TEST(t_wirs_init)
}
+START_TEST(t_point_lookup)
+{
+ size_t n = 10000;
+
+ auto buffer = create_double_seq_mbuffer<WRec>(n, false);
+ auto wirs = Shard(buffer);
+
+ for (size_t i=0; i<n; i++) {
+ WRec r;
+ auto rec = (buffer->get_data() + i);
+ r.key = rec->rec.key;
+ r.value = rec->rec.value;
+
+ auto result = wirs.point_lookup(r);
+ ck_assert_ptr_nonnull(result);
+ ck_assert_int_eq(result->rec.key, r.key);
+ ck_assert_int_eq(result->rec.value, r.value);
+ }
+
+ delete buffer;
+}
+END_TEST
+
+
+START_TEST(t_point_lookup_miss)
+{
+ size_t n = 10000;
+
+ auto buffer = create_double_seq_mbuffer<WRec>(n, false);
+ auto wirs = Shard(buffer);
+
+ for (size_t i=n + 100; i<2*n; i++) {
+ WRec r;
+ r.key = i;
+ r.value = i;
+
+ auto result = wirs.point_lookup(r);
+ ck_assert_ptr_null(result);
+ }
+
+ delete buffer;
+}
+
+
START_TEST(t_full_cancelation)
{
size_t n = 100;
@@ -317,6 +361,12 @@ Suite *unit_testing()
suite_add_tcase(unit, tombstone);
+ TCase *lookup = tcase_create("de:WIRS:point_lookup Testing");
+ tcase_add_test(lookup, t_point_lookup);
+ tcase_add_test(lookup, t_point_lookup_miss);
+ suite_add_tcase(unit, lookup);
+
+
TCase *sampling = tcase_create("de:WIRS::WIRSQuery Testing");
tcase_add_test(sampling, t_wirs_query);
tcase_add_test(sampling, t_wirs_query_merge);
diff --git a/tests/wss_tests.cpp b/tests/wss_tests.cpp
index 235f664..c0d6f94 100644
--- a/tests/wss_tests.cpp
+++ b/tests/wss_tests.cpp
@@ -96,6 +96,49 @@ START_TEST(t_wss_init)
}
+START_TEST(t_point_lookup)
+{
+ size_t n = 10000;
+
+ auto buffer = create_double_seq_mbuffer<WRec>(n, false);
+ auto wss = Shard(buffer);
+
+ for (size_t i=0; i<n; i++) {
+ WRec r;
+ auto rec = (buffer->get_data() + i);
+ r.key = rec->rec.key;
+ r.value = rec->rec.value;
+
+ auto result = wss.point_lookup(r);
+ ck_assert_ptr_nonnull(result);
+ ck_assert_int_eq(result->rec.key, r.key);
+ ck_assert_int_eq(result->rec.value, r.value);
+ }
+
+ delete buffer;
+}
+END_TEST
+
+
+START_TEST(t_point_lookup_miss)
+{
+ size_t n = 10000;
+
+ auto buffer = create_double_seq_mbuffer<WRec>(n, false);
+ auto wss = Shard(buffer);
+
+ for (size_t i=n + 100; i<2*n; i++) {
+ WRec r;
+ r.key = i;
+ r.value = i;
+
+ auto result = wss.point_lookup(r);
+ ck_assert_ptr_null(result);
+ }
+
+ delete buffer;
+}
+
START_TEST(t_full_cancelation)
{
size_t n = 100;
@@ -313,6 +356,13 @@ Suite *unit_testing()
suite_add_tcase(unit, tombstone);
+ TCase *lookup = tcase_create("de:WSS:point_lookup Testing");
+ tcase_add_test(lookup, t_point_lookup);
+ tcase_add_test(lookup, t_point_lookup_miss);
+ suite_add_tcase(unit, lookup);
+
+
+
TCase *sampling = tcase_create("de:WSS::WSSQuery Testing");
tcase_add_test(sampling, t_wss_query);
tcase_add_test(sampling, t_wss_query_merge);