diff options
| author | Douglas Rumbaugh <dbr4@psu.edu> | 2023-06-05 11:46:13 -0400 |
|---|---|---|
| committer | Douglas Rumbaugh <dbr4@psu.edu> | 2023-06-05 11:46:13 -0400 |
| commit | 59ab2a92a5902b25fbc227bab549eb6f2dd84486 (patch) | |
| tree | 4f888e5b7ee6a6d5ae0608b79e81eaee4c47c5f2 | |
| parent | 7dcec45b0339cd8b9b2bfab8ce1fc4c6080ea958 (diff) | |
| download | dynamic-extension-59ab2a92a5902b25fbc227bab549eb6f2dd84486.tar.gz | |
Added point-lookup tests for WIRS and WSS
| -rw-r--r-- | tests/memisam_tests.cpp | 1 | ||||
| -rw-r--r-- | tests/wirs_tests.cpp | 50 | ||||
| -rw-r--r-- | tests/wss_tests.cpp | 50 |
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); |