From d47eeea719448f649e93b6a9ec7593b4cb2fb40e Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 5 Jun 2023 14:25:19 -0400 Subject: Added TrieSpline and PGM Range queries + tests and bugfixes --- tests/pgm_tests.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'tests/pgm_tests.cpp') diff --git a/tests/pgm_tests.cpp b/tests/pgm_tests.cpp index 33979ae..254de03 100644 --- a/tests/pgm_tests.cpp +++ b/tests/pgm_tests.cpp @@ -139,6 +139,60 @@ START_TEST(t_point_lookup_miss) } +START_TEST(t_range_query) +{ + auto buffer = create_sequential_mbuffer(100, 1000); + auto shard = Shard(buffer); + + pgm_range_query_parms parms; + parms.lower_bound = 300; + parms.upper_bound = 500; + + auto state = PGMRangeQuery::get_query_state(&shard, &parms); + auto result = PGMRangeQuery::query(&shard, state, &parms); + PGMRangeQuery::delete_query_state(state); + + ck_assert_int_eq(result.size(), parms.upper_bound - parms.lower_bound + 1); + for (size_t i=0; i(100, 1000); + + pgm_range_query_parms parms; + parms.lower_bound = 300; + parms.upper_bound = 500; + + auto state = PGMRangeQuery::get_buffer_query_state(buffer, &parms); + auto result = PGMRangeQuery::buffer_query(buffer, state, &parms); + PGMRangeQuery::delete_buffer_query_state(state); + + ck_assert_int_eq(result.size(), parms.upper_bound - parms.lower_bound + 1); + for (size_t i=0; i