From f29be47b39f1ba5b69aa7e2383ef08eb4a215444 Mon Sep 17 00:00:00 2001 From: David Knapp Date: Tue, 12 Nov 2024 11:42:08 +0100 Subject: [PATCH] Test search without queries seperatly. --- test/t8_forest/t8_gtest_search.cxx | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/t8_forest/t8_gtest_search.cxx b/test/t8_forest/t8_gtest_search.cxx index 39da42acc8..524d6658fb 100644 --- a/test/t8_forest/t8_gtest_search.cxx +++ b/test/t8_forest/t8_gtest_search.cxx @@ -112,6 +112,29 @@ t8_test_search_query_all_fn (const t8_forest_t forest, const t8_locidx_t ltreeid } } +TEST_P (forest_search, t8_test_search_all_fn) +{ + t8_locidx_t num_elements = t8_forest_get_local_num_elements (forest); + /* set up an array in which we flag whether an element was matched in the + * search */ + std::vector matched_leaves (num_elements, false); + + /* Call search. This search matches all elements. After this call we expect + * all entries in the matched_leaves array to be set to 1. */ + + t8_search> search (t8_test_search_all_fn); + + search.update_user_data (&matched_leaves); + search.update_forest (forest); + search.do_search (); + + /* Check whether matched_leaves entries are all 1 */ + std::for_each (matched_leaves.begin (), matched_leaves.end (), + [] (bool b) { ASSERT_TRUE (b) << "Search did not match all leaves. First mismatch at leaf " << b; }); + + t8_forest_unref (&forest); +} + TEST_P (forest_search, test_search_one_query_matches_all) { /* set up a single query containing our query */