diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-01-14 11:27:51 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-01-14 13:39:03 +0000 |
commit | 87a1a5e68e554245e4fdece8025e401b633b8551 (patch) | |
tree | 0727ef9c567bfc65a9e7c501ba9fc6cc69f4be24 /vsm/src/tests/searcher | |
parent | 2ec9429eb01e6dfdc801d588904723aa12cdf631 (diff) |
Also handle bool queries in streaming search.
Diffstat (limited to 'vsm/src/tests/searcher')
-rw-r--r-- | vsm/src/tests/searcher/searcher.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/vsm/src/tests/searcher/searcher.cpp b/vsm/src/tests/searcher/searcher.cpp index a83c4e6b348..f5f7508a256 100644 --- a/vsm/src/tests/searcher/searcher.cpp +++ b/vsm/src/tests/searcher/searcher.cpp @@ -6,6 +6,7 @@ #include <vespa/vsm/searcher/floatfieldsearcher.h> #include <vespa/vsm/searcher/futf8strchrfieldsearcher.h> #include <vespa/vsm/searcher/intfieldsearcher.h> +#include <vespa/vsm/searcher/boolfieldsearcher.h> #include <vespa/vsm/searcher/utf8flexiblestringfieldsearcher.h> #include <vespa/vsm/searcher/utf8exactstringfieldsearcher.h> #include <vespa/vsm/searcher/utf8substringsearcher.h> @@ -113,7 +114,7 @@ SnippetModifierSetup::SnippetModifierSetup(const StringList & terms) { searcher->prepare(query.qtl, buf); } -SnippetModifierSetup::~SnippetModifierSetup() {} +SnippetModifierSetup::~SnippetModifierSetup() = default; // helper functions ArrayFieldValue getFieldValue(const StringList &fv); @@ -153,6 +154,13 @@ void assertInt(IntFieldSearcher & fs, const std::string &term, int64_t field, bo assertInt(fs, StringList().add(term), field, BoolList().add(exp)); } +void assertBool(BoolFieldSearcher & fs, const StringList &query, bool field, const BoolList &exp) { + assertNumeric(fs, query, BoolFieldValue(field), exp); +} +void assertBool(BoolFieldSearcher & fs, const std::string &term, bool field, bool exp) { + assertBool(fs, StringList().add(term), field, BoolList().add(exp)); +} + void assertInt(IntFieldSearcher & fs, const StringList &query, const LongList &field, const HitsList &exp) { assertSearch(fs, query, getFieldValue(field), exp); } @@ -595,9 +603,23 @@ TEST("utf8 flexible searcher"){ EXPECT_TRUE(testStringFieldInfo(fs)); } +TEST("bool search") { + BoolFieldSearcher fs(0); + TEST_DO(assertBool(fs, "true", true, true)); + TEST_DO(assertBool(fs, "true", false, false)); + TEST_DO(assertBool(fs, "1", true, true)); + TEST_DO(assertBool(fs, "1", false, false)); + TEST_DO(assertBool(fs, "false", true, false)); + TEST_DO(assertBool(fs, "false", false, true)); + TEST_DO(assertBool(fs, "0", true, false)); + TEST_DO(assertBool(fs, "0", false, true)); + TEST_DO(assertBool(fs, StringList().add("true").add("false").add("true"), true, BoolList().add(true).add(false).add(true))); + TEST_DO(assertBool(fs, StringList().add("true").add("false").add("true"), false, BoolList().add(false).add(true).add(false))); +} + TEST("integer search") { - IntFieldSearcher fs; + IntFieldSearcher fs(0); TEST_DO(assertInt(fs, "10", 10, true)); TEST_DO(assertInt(fs, "9", 10, false)); TEST_DO(assertInt(fs, ">9", 10, true)); |