diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-05-08 10:04:24 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-05-08 10:04:24 +0000 |
commit | 48463c7ee40e65d819320ee847db366f52891de5 (patch) | |
tree | 709b241333da614981a6a7c3a645788080358c53 /searchlib/src/tests/queryeval | |
parent | ab94fe1f66ed93be672b5ea4435fb155e0e22b50 (diff) |
unit test want_global_filter aggregation
Diffstat (limited to 'searchlib/src/tests/queryeval')
-rw-r--r-- | searchlib/src/tests/queryeval/blueprint/intermediate_blueprints_test.cpp | 14 | ||||
-rw-r--r-- | searchlib/src/tests/queryeval/blueprint/mysearch.h | 9 |
2 files changed, 22 insertions, 1 deletions
diff --git a/searchlib/src/tests/queryeval/blueprint/intermediate_blueprints_test.cpp b/searchlib/src/tests/queryeval/blueprint/intermediate_blueprints_test.cpp index b73bae67147..dcd48949da6 100644 --- a/searchlib/src/tests/queryeval/blueprint/intermediate_blueprints_test.cpp +++ b/searchlib/src/tests/queryeval/blueprint/intermediate_blueprints_test.cpp @@ -62,6 +62,9 @@ TEST("test AndNot Blueprint") { AndNotBlueprint a; a.addChild(ap(MyLeafSpec(10).addField(1, 1).create())); EXPECT_EQUAL(0u, a.exposeFields().size()); + EXPECT_EQUAL(false, a.getState().want_global_filter()); + a.addChild(ap(MyLeafSpec(20).addField(1, 1).want_global_filter().create())); + EXPECT_EQUAL(true, a.getState().want_global_filter()); } { std::vector<Blueprint *> children; @@ -130,6 +133,9 @@ TEST("test And Blueprint") { AndBlueprint a; a.addChild(ap(MyLeafSpec(10).addField(1, 1).create())); EXPECT_EQUAL(0u, a.exposeFields().size()); + EXPECT_EQUAL(false, a.getState().want_global_filter()); + a.addChild(ap(MyLeafSpec(20).addField(1, 1).want_global_filter().create())); + EXPECT_EQUAL(true, a.getState().want_global_filter()); } { std::vector<Blueprint *> children; @@ -202,6 +208,10 @@ TEST("test Or Blueprint") { EXPECT_EQUAL(2u, a->getState().numFields()); o.addChild(ap(MyLeafSpec(0, true).create())); EXPECT_EQUAL(0u, a->getState().numFields()); + + EXPECT_EQUAL(false, o.getState().want_global_filter()); + o.addChild(ap(MyLeafSpec(20).addField(1, 1).want_global_filter().create())); + EXPECT_EQUAL(true, o.getState().want_global_filter()); } { std::vector<Blueprint *> children; @@ -349,6 +359,10 @@ TEST("test Rank Blueprint") { RankBlueprint a; a.addChild(ap(MyLeafSpec(10).addField(1, 1).create())); EXPECT_EQUAL(0u, a.exposeFields().size()); + + EXPECT_EQUAL(false, a.getState().want_global_filter()); + a.addChild(ap(MyLeafSpec(20).addField(1, 1).want_global_filter().create())); + EXPECT_EQUAL(true, a.getState().want_global_filter()); } { std::vector<Blueprint *> children; diff --git a/searchlib/src/tests/queryeval/blueprint/mysearch.h b/searchlib/src/tests/queryeval/blueprint/mysearch.h index 82ef58147c3..6fb2a52143d 100644 --- a/searchlib/src/tests/queryeval/blueprint/mysearch.h +++ b/searchlib/src/tests/queryeval/blueprint/mysearch.h @@ -131,6 +131,7 @@ public: set_cost_tier(value); return *this; } + using LeafBlueprint::set_want_global_filter; }; //----------------------------------------------------------------------------- @@ -141,10 +142,11 @@ private: FieldSpecBaseList _fields; Blueprint::HitEstimate _estimate; uint32_t _cost_tier; + bool _want_global_filter; public: explicit MyLeafSpec(uint32_t estHits, bool empty = false) - : _fields(), _estimate(estHits, empty), _cost_tier(0) {} + : _fields(), _estimate(estHits, empty), _cost_tier(0), _want_global_filter(false) {} MyLeafSpec &addField(uint32_t fieldId, uint32_t handle) { _fields.add(FieldSpecBase(fieldId, handle)); @@ -155,6 +157,10 @@ public: _cost_tier = value; return *this; } + MyLeafSpec &want_global_filter() { + _want_global_filter = true; + return *this; + } MyLeaf *create() const { return create<MyLeaf>(); } @@ -165,6 +171,7 @@ public: if (_cost_tier > 0) { leaf->cost_tier(_cost_tier); } + leaf->set_want_global_filter(_want_global_filter); return leaf; } }; |