diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-03-05 06:04:04 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-03-05 12:16:43 +0000 |
commit | f1c2464fd83e6623000ad6eb59272b189fffb78e (patch) | |
tree | 55288880cd7f6a05125079aaa432c5740fae28ef /searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp | |
parent | ede6354f72951bde6247519e03d6445d3f155985 (diff) |
Transform to slime.
Diffstat (limited to 'searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp')
-rw-r--r-- | searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp b/searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp index e5ee83507ae..0d34b41d5c7 100644 --- a/searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp +++ b/searchlib/src/tests/queryeval/blueprint/blueprint_test.cpp @@ -5,6 +5,7 @@ #include <vespa/searchlib/queryeval/intermediate_blueprints.h> #include <vespa/vespalib/objects/objectdumper.h> #include <vespa/vespalib/objects/visit.h> +#include <vespa/vespalib/data/slime/slime.h> #include <algorithm> #include <vespa/log/log.h> @@ -178,6 +179,7 @@ public: void testSearchCreation(); void testBlueprintMakeNew(); void requireThatAsStringWorks(); + void requireThatAsSlimeWorks(); void requireThatVisitMembersWorks(); void requireThatDocIdLimitInjectionWorks(); int Main() override; @@ -698,6 +700,59 @@ getExpectedBlueprint() "}\n"; } +vespalib::string +getExpectedSlimeBlueprint() { + return "{" + " '(anonymous namespace)::MyOr': {" + " isTermLike: true," + " fields: {" + " '[type]': 'FieldList'," + " '[0]': {" + " '[type]': 'Field'," + " fieldId: 5," + " handle: 7," + " isFilter: false" + " }" + " }," + " estimate: {" + " '[type]': 'HitEstimate'," + " empty: false," + " estHits: 9," + " tree_size: 2," + " allow_termwise_eval: 0" + " }," + " sourceId: 4294967295," + " docid_limit: 0," + " children: {" + " '[type]': 'std::vector'," + " '[0]': {" + " isTermLike: true," + " fields: {" + " '[type]': 'FieldList'," + " '[0]': {" + " '[type]': 'Field'," + " fieldId: 5," + " handle: 7," + " isFilter: false" + " }" + " }," + " '[type]': '(anonymous namespace)::MyTerm'," + " estimate: {" + " '[type]': 'HitEstimate'," + " empty: false," + " estHits: 9," + " tree_size: 1," + " allow_termwise_eval: 1" + " }," + " sourceId: 4294967295," + " docid_limit: 0" + " }" + " }" + " }" + "}"; +} + + struct BlueprintFixture { MyOr _blueprint; @@ -714,6 +769,18 @@ Test::requireThatAsStringWorks() } void +Test::requireThatAsSlimeWorks() +{ + BlueprintFixture f; + vespalib::Slime slime; + f._blueprint.asSlime(vespalib::slime::SlimeInserter(slime)); + auto s = slime.toString(); + vespalib::Slime expectedSlime; + vespalib::slime::JsonFormat::decode(getExpectedSlimeBlueprint(), expectedSlime); + EXPECT_EQUAL(expectedSlime, slime); +} + +void Test::requireThatVisitMembersWorks() { BlueprintFixture f; @@ -749,6 +816,7 @@ Test::Main() testSearchCreation(); testBlueprintMakeNew(); requireThatAsStringWorks(); + requireThatAsSlimeWorks(); requireThatVisitMembersWorks(); requireThatDocIdLimitInjectionWorks(); TEST_DONE(); |