summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/query
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-10-19 11:08:39 +0000
committerArne H Juul <arnej@yahooinc.com>2021-10-19 11:08:39 +0000
commita7f289541ff64edfeea11d4db4310c5245f1f823 (patch)
tree29c2e575f3f62633e1bdf5ad93290c29211583a0 /searchlib/src/tests/query
parent4a93eeb139aeb500057c9527f19b0c47db2f1a5c (diff)
use custom types for true/false (NodeTypes::True, ProtonTrue, etc)
Diffstat (limited to 'searchlib/src/tests/query')
-rw-r--r--searchlib/src/tests/query/customtypevisitor_test.cpp16
-rw-r--r--searchlib/src/tests/query/querybuilder_test.cpp4
2 files changed, 17 insertions, 3 deletions
diff --git a/searchlib/src/tests/query/customtypevisitor_test.cpp b/searchlib/src/tests/query/customtypevisitor_test.cpp
index 112e49cd1c1..da3d8ffa115 100644
--- a/searchlib/src/tests/query/customtypevisitor_test.cpp
+++ b/searchlib/src/tests/query/customtypevisitor_test.cpp
@@ -42,7 +42,11 @@ struct MyDotProduct : DotProduct { MyDotProduct() : DotProduct(0, "view", 0, Wei
struct MyWandTerm : WandTerm { MyWandTerm() : WandTerm(0, "view", 0, Weight(42), 57, 67, 77.7) {} };
struct MyPredicateQuery : InitTerm<PredicateQuery> {};
struct MyRegExpTerm : InitTerm<RegExpTerm> {};
-struct MyNearestNeighborTerm : NearestNeighborTerm {};
+struct MyNearestNeighborTerm : NearestNeighborTerm {
+ MyNearestNeighborTerm() : NearestNeighborTerm("qt", "fn", 0, Weight(42), 10, true, 666, 1234.5) {}
+};
+struct MyTrue : TrueQueryNode {};
+struct MyFalse : FalseQueryNode {};
struct MyQueryNodeTypes {
typedef MyAnd And;
@@ -68,6 +72,8 @@ struct MyQueryNodeTypes {
typedef MyPredicateQuery PredicateQuery;
typedef MyRegExpTerm RegExpTerm;
typedef MyNearestNeighborTerm NearestNeighborTerm;
+ typedef MyFalse False;
+ typedef MyTrue True;
};
class MyCustomVisitor : public CustomTypeVisitor<MyQueryNodeTypes>
@@ -104,8 +110,8 @@ public:
void visit(MyPredicateQuery &) override { setVisited<MyPredicateQuery>(); }
void visit(MyRegExpTerm &) override { setVisited<MyRegExpTerm>(); }
void visit(MyNearestNeighborTerm &) override { setVisited<MyNearestNeighborTerm>(); }
- void visit(TrueQueryNode &) override {}
- void visit(FalseQueryNode &) override {}
+ void visit(MyTrue &) override { setVisited<MyTrue>(); }
+ void visit(MyFalse &) override { setVisited<MyFalse>(); }
};
template <class T>
@@ -138,6 +144,10 @@ TEST("customtypevisitor_test") {
requireThatNodeIsVisited<MyWandTerm>();
requireThatNodeIsVisited<MyPredicateQuery>();
requireThatNodeIsVisited<MyRegExpTerm>();
+ requireThatNodeIsVisited<MyLocationTerm>();
+ requireThatNodeIsVisited<MyNearestNeighborTerm>();
+ requireThatNodeIsVisited<MyTrue>();
+ requireThatNodeIsVisited<MyFalse>();
}
} // namespace
diff --git a/searchlib/src/tests/query/querybuilder_test.cpp b/searchlib/src/tests/query/querybuilder_test.cpp
index 0c784287e5c..b421084bbef 100644
--- a/searchlib/src/tests/query/querybuilder_test.cpp
+++ b/searchlib/src/tests/query/querybuilder_test.cpp
@@ -409,6 +409,8 @@ struct MyNearestNeighborTerm : NearestNeighborTerm {
: NearestNeighborTerm(query_tensor_name, field_name, i, w, target_num_hits, allow_approximate, explore_additional_hits, distance_threshold)
{}
};
+struct MyTrue : TrueQueryNode {};
+struct MyFalse : FalseQueryNode {};
struct MyQueryNodeTypes {
typedef MyAnd And;
@@ -434,6 +436,8 @@ struct MyQueryNodeTypes {
typedef MyPredicateQuery PredicateQuery;
typedef MyRegExpTerm RegExpTerm;
typedef MyNearestNeighborTerm NearestNeighborTerm;
+ typedef MyTrue True;
+ typedef MyFalse False;
};
TEST("require that Custom Query Trees Can Be Built") {