summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/query
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-02-06 14:38:33 +0100
committerTor Egge <Tor.Egge@online.no>2024-02-06 14:38:33 +0100
commit624bb3303a021ab3f3065c8d2be3d399054a82cf (patch)
tree90ee218ab735fa38ac1a5cc6c9bbe8afef0d68bb /searchlib/src/tests/query
parent9ae25d8c35f7a15fdb8f45eee4ca34afe8cd483a (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.cpp13
-rw-r--r--searchlib/src/tests/query/streaming_query_test.cpp24
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]);
- }
}
}