diff options
author | Tor Egge <Tor.Egge@online.no> | 2024-02-06 14:38:33 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2024-02-06 14:38:33 +0100 |
commit | 624bb3303a021ab3f3065c8d2be3d399054a82cf (patch) | |
tree | 90ee218ab735fa38ac1a5cc6c9bbe8afef0d68bb /searchlib/src/tests/query | |
parent | 9ae25d8c35f7a15fdb8f45eee4ca34afe8cd483a (diff) |
Handle search::streaming::PhraseQueryNode as a leaf in the query tree.
Diffstat (limited to 'searchlib/src/tests/query')
-rw-r--r-- | searchlib/src/tests/query/streaming/phrase_query_node_test.cpp | 13 | ||||
-rw-r--r-- | searchlib/src/tests/query/streaming_query_test.cpp | 24 |
2 files changed, 14 insertions, 23 deletions
diff --git a/searchlib/src/tests/query/streaming/phrase_query_node_test.cpp b/searchlib/src/tests/query/streaming/phrase_query_node_test.cpp index 2459fe2f01c..a6b3a1ffe05 100644 --- a/searchlib/src/tests/query/streaming/phrase_query_node_test.cpp +++ b/searchlib/src/tests/query/streaming/phrase_query_node_test.cpp @@ -34,11 +34,9 @@ TEST(PhraseQueryNodeTest, test_phrase_evaluate) vespalib::string stackDump = StackDumpCreator::create(*node); QueryNodeResultFactory empty; Query q(empty, stackDump); - QueryNodeRefList phrases; - q.getPhrases(phrases); - QueryTermList terms; - q.getLeaves(terms); - for (QueryTerm * qt : terms) { + auto& p = dynamic_cast<PhraseQueryNode&>(q.getRoot()); + auto& terms = p.get_terms(); + for (auto& qt : terms) { qt->resizeFieldId(1); } @@ -69,8 +67,7 @@ TEST(PhraseQueryNodeTest, test_phrase_evaluate) terms[1]->add(5, 0, 1, 1); terms[2]->add(5, 0, 1, 0); HitList hits; - auto * p = static_cast<PhraseQueryNode *>(phrases[0]); - p->evaluateHits(hits); + p.evaluateHits(hits); ASSERT_EQ(3u, hits.size()); EXPECT_EQ(0u, hits[0].field_id()); EXPECT_EQ(0u, hits[0].element_id()); @@ -81,7 +78,7 @@ TEST(PhraseQueryNodeTest, test_phrase_evaluate) EXPECT_EQ(3u, hits[2].field_id()); EXPECT_EQ(0u, hits[2].element_id()); EXPECT_EQ(0u, hits[2].position()); - EXPECT_TRUE(p->evaluate()); + EXPECT_TRUE(p.evaluate()); } GTEST_MAIN_RUN_ALL_TESTS() diff --git a/searchlib/src/tests/query/streaming_query_test.cpp b/searchlib/src/tests/query/streaming_query_test.cpp index cf72b71d6ad..19a2a0876c6 100644 --- a/searchlib/src/tests/query/streaming_query_test.cpp +++ b/searchlib/src/tests/query/streaming_query_test.cpp @@ -404,26 +404,20 @@ TEST(StreamingQueryTest, test_get_query_parts) QueryNodeResultFactory empty; Query q(empty, stackDump); QueryTermList terms; - QueryNodeRefList phrases; q.getLeaves(terms); - q.getPhrases(phrases); - ASSERT_TRUE(terms.size() == 7); - ASSERT_TRUE(phrases.size() == 2); - { - QueryTermList pts; - phrases[0]->getLeaves(pts); + ASSERT_TRUE(terms.size() == 4); + PhraseQueryNode* null = nullptr; + EXPECT_EQ(null, dynamic_cast<PhraseQueryNode*>(terms[0])); + EXPECT_NE(null, dynamic_cast<PhraseQueryNode*>(terms[1])); + EXPECT_EQ(null, dynamic_cast<PhraseQueryNode*>(terms[2])); + EXPECT_NE(null, dynamic_cast<PhraseQueryNode*>(terms[3])); + { + auto& pts = dynamic_cast<PhraseQueryNode&>(*terms[1]).get_terms(); ASSERT_TRUE(pts.size() == 3); - for (size_t i = 0; i < 3; ++i) { - EXPECT_EQ(pts[i], terms[i + 1]); - } } { - QueryTermList pts; - phrases[1]->getLeaves(pts); + auto& pts = dynamic_cast<PhraseQueryNode&>(*terms[3]).get_terms(); ASSERT_TRUE(pts.size() == 2); - for (size_t i = 0; i < 2; ++i) { - EXPECT_EQ(pts[i], terms[i + 5]); - } } } |