From 23f7ac835d757813b0e3f61fa2eb47626eb65fe2 Mon Sep 17 00:00:00 2001 From: Harpreet Sangar Date: Tue, 21 Mar 2023 15:50:14 +0530 Subject: [PATCH] Add `filter_result_iterator_t::valid(uint32_t id)` test case. --- test/filter_test.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/filter_test.cpp b/test/filter_test.cpp index 7c1a81ad..f803adc4 100644 --- a/test/filter_test.cpp +++ b/test/filter_test.cpp @@ -594,5 +594,21 @@ TEST_F(FilterTest, FilterTreeIterator) { ASSERT_FALSE(iter_skip_complex_filter_test.valid()); ASSERT_TRUE(iter_op.ok()); + delete filter_tree_root; + filter_tree_root = nullptr; + filter_op = filter::parse_filter_query("name: James || (tags: gold && tags: [silver, bronze])", coll->get_schema(), store, doc_id_prefix, + filter_tree_root); + ASSERT_TRUE(filter_op.ok()); + + auto iter_validate_ids_test = filter_result_iterator_t(coll->get_name(), coll->_get_index(), filter_tree_root, iter_op); + + expected = {0, 2, 4, 5}; + for (auto const& i : expected) { + ASSERT_TRUE(iter_validate_ids_test.valid(i)); + } + + ASSERT_FALSE(iter_skip_complex_filter_test.valid()); + ASSERT_TRUE(iter_op.ok()); + delete filter_tree_root; } \ No newline at end of file