diff options
author | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-03-28 13:44:41 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-03-28 13:44:41 +0000 |
commit | f097da4764615cb7e6d116dda2976f2fbce4d46b (patch) | |
tree | 98fb0d3cd38a4c791ccce57cb2798a83ed919f32 /searchcore/src/tests/proton/attribute | |
parent | 0ac458bf1dd30748b97742c06db1710ffb52ef58 (diff) |
Add more failure cases, mismatching base type and mismatching collection type.
Diffstat (limited to 'searchcore/src/tests/proton/attribute')
-rw-r--r-- | searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp b/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp index cb9579d15b6..f369a44a20c 100644 --- a/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp +++ b/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp @@ -24,6 +24,9 @@ namespace proton namespace { +const Config int32_sv(BasicType::Type::INT32); +const Config int16_sv(BasicType::Type::INT16); +const Config int32_array(BasicType::Type::INT32, CollectionType::Type::ARRAY); const Config predicate(BasicType::Type::PREDICATE); Config getPredicate2(uint32_t arity) @@ -89,6 +92,32 @@ Fixture::createInitializer(const vespalib::string &name, const Config &cfg, Seri return std::make_unique<AttributeInitializer>(_diskLayout->createAttributeDir(name), "test.subdb", cfg, serialNum, _factory); } +TEST("require that integer attribute can be initialized") +{ + saveAttr("a", int32_sv, 10, 2); + Fixture f; + auto av = f.createInitializer("a", int32_sv, 5)->init(); + EXPECT_EQUAL(2, av->getCreateSerialNum()); + EXPECT_EQUAL(2, av->getNumDocs()); +} + +TEST("require that mismatching base type is not loaded") +{ + saveAttr("a", int32_sv, 10, 2); + Fixture f; + auto av = f.createInitializer("a", int16_sv, 5)->init(); + EXPECT_EQUAL(5, av->getCreateSerialNum()); + EXPECT_EQUAL(1, av->getNumDocs()); +} + +TEST("require that mismatching collection type is not loaded") +{ + saveAttr("a", int32_sv, 10, 2); + Fixture f; + auto av = f.createInitializer("a", int32_array, 5)->init(); + EXPECT_EQUAL(5, av->getCreateSerialNum()); + EXPECT_EQUAL(1, av->getNumDocs()); +} TEST("require that predicate attributes can be initialized") { |