summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton')
-rw-r--r--searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp83
-rw-r--r--searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp2
-rw-r--r--searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp2
-rw-r--r--searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp2
-rw-r--r--searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp2
-rw-r--r--searchcore/src/tests/proton/server/documentretriever_test.cpp125
6 files changed, 84 insertions, 132 deletions
diff --git a/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp b/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp
index abe326425c3..64e67672f0f 100644
--- a/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp
+++ b/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp
@@ -133,7 +133,7 @@ struct UnitDR : DocumentRetrieverBaseForTest {
}
return DocumentMetaData();
}
- document::Document::UP getFullDocument(DocumentIdT lid) const override {
+ document::Document::UP getDocument(DocumentIdT lid) const override {
return Document::UP((lid == docid) ? document->clone() : nullptr);
}
@@ -145,7 +145,7 @@ struct UnitDR : DocumentRetrieverBaseForTest {
}
CachedSelect::SP parseSelect(const vespalib::string &selection) const override {
- auto res = std::make_shared<CachedSelect>();
+ CachedSelect::SP res(new CachedSelect);
res->set(selection, repo);
return res;
}
@@ -154,7 +154,7 @@ struct UnitDR : DocumentRetrieverBaseForTest {
};
UnitDR::UnitDR()
- : repo(), document(std::make_unique<Document>(*DataType::DOCUMENT, DocumentId())), timestamp(0),
+ : repo(), document(new Document(*DataType::DOCUMENT, DocumentId())), timestamp(0),
bucket(), removed(false), docid(0), docIdLimit(std::numeric_limits<uint32_t>::max())
{}
UnitDR::UnitDR(document::Document::UP d, Timestamp t, Bucket b, bool r)
@@ -179,11 +179,11 @@ struct VisitRecordingUnitDR : UnitDR {
{
}
- document::Document::UP getFullDocument(DocumentIdT lid) const override {
+ document::Document::UP getDocument(DocumentIdT lid) const override {
if (lid == docid) {
visited_lids.insert(lid);
}
- return UnitDR::getFullDocument(lid);
+ return UnitDR::getDocument(lid);
}
};
@@ -238,7 +238,7 @@ struct AttrUnitDR : public UnitDR
}
CachedSelect::SP parseSelect(const vespalib::string &selection) const override {
- auto res = std::make_shared<CachedSelect>();
+ CachedSelect::SP res(new CachedSelect);
res->set(selection, "foo", Document(document->getType(), DocumentId()), repo, &_amgr, true);
return res;
}
@@ -262,13 +262,13 @@ struct PairDR : DocumentRetrieverBaseForTest {
DocumentMetaData ret = first->getDocumentMetaData(id);
return (ret.valid()) ? ret : second->getDocumentMetaData(id);
}
- document::Document::UP getFullDocument(DocumentIdT lid) const override {
- Document::UP ret = first->getFullDocument(lid);
- return ret ? std::move(ret) : second->getFullDocument(lid);
+ document::Document::UP getDocument(DocumentIdT lid) const override {
+ Document::UP ret = first->getDocument(lid);
+ return ret ? std::move(ret) : second->getDocument(lid);
}
CachedSelect::SP parseSelect(const vespalib::string &selection) const override {
- auto res = std::make_shared<CachedSelect>();
+ CachedSelect::SP res(new CachedSelect);
res->set(selection, getDocumentTypeRepo());
return res;
}
@@ -296,26 +296,16 @@ size_t getSize(const document::DocumentId &id) {
return id.getSerializedSize() + getSize();
}
-IDocumentRetriever::SP nil() { return std::make_unique<UnitDR>(); }
+IDocumentRetriever::SP nil() { return IDocumentRetriever::SP(new UnitDR()); }
-IDocumentRetriever::SP
-doc(const DocumentId &id, Timestamp t, Bucket b) {
- return std::make_shared<UnitDR>(std::make_unique<Document>(*DataType::DOCUMENT, id), t, b, false);
+IDocumentRetriever::SP doc(const std::string &id, Timestamp t, Bucket b) {
+ Document::UP d(new Document(*DataType::DOCUMENT, DocumentId(id)));
+ return IDocumentRetriever::SP(new UnitDR(std::move(d), t, b, false));
}
-IDocumentRetriever::SP
-doc(const std::string &id, Timestamp t, Bucket b) {
- return doc(DocumentId(id), t, b);
-}
-
-IDocumentRetriever::SP
-rem(const DocumentId &id, Timestamp t, Bucket b) {
- return std::make_shared<UnitDR>(std::make_unique<Document>(*DataType::DOCUMENT, id), t, b, true);
-}
-
-IDocumentRetriever::SP
-rem(const std::string &id, Timestamp t, Bucket b) {
- return rem(DocumentId(id), t, b);
+IDocumentRetriever::SP rem(const std::string &id, Timestamp t, Bucket b) {
+ Document::UP d(new Document(*DataType::DOCUMENT, DocumentId(id)));
+ return IDocumentRetriever::SP(new UnitDR(std::move(d), t, b, true));
}
IDocumentRetriever::SP cat(IDocumentRetriever::SP first, IDocumentRetriever::SP second) {
@@ -347,14 +337,15 @@ const DocumentType &getAttrDocType() {
}
IDocumentRetriever::SP doc_with_fields(const std::string &id, Timestamp t, Bucket b) {
- auto d = std::make_unique<Document>(getDocType(), DocumentId(id));
+ Document::UP d(new Document(getDocType(), DocumentId(id)));
d->set("header", "foo");
d->set("body", "bar");
- return std::make_shared<UnitDR>(getDocType(), std::move(d), t, b, false);
+ return IDocumentRetriever::SP(new UnitDR(getDocType(), std::move(d), t, b, false));
}
IDocumentRetriever::SP doc_with_null_fields(const std::string &id, Timestamp t, Bucket b) {
- return std::make_unique<AttrUnitDR>(std::make_unique<Document>(getAttrDocType(), DocumentId(id)), t, b, false);
+ Document::UP d(new Document(getAttrDocType(), DocumentId(id)));
+ return IDocumentRetriever::SP(new AttrUnitDR(std::move(d), t, b, false));
}
IDocumentRetriever::SP doc_with_attr_fields(const vespalib::string &id,
@@ -364,32 +355,35 @@ IDocumentRetriever::SP doc_with_attr_fields(const vespalib::string &id,
const vespalib::string &ss,
const vespalib::string &attr_ss)
{
- auto d = std::make_unique<Document>(getAttrDocType(), DocumentId(id));
+ Document::UP d(new Document(getAttrDocType(), DocumentId(id)));
d->set("header", "foo");
d->set("body", "bar");
d->set("aa", aa);
d->set("ab", ab);
d->set("dd", dd);
d->set("ss", ss);
- return std::make_shared<AttrUnitDR>(std::move(d), t, b, false, attr_aa, attr_dd, attr_ss);
+ return IDocumentRetriever::SP(new AttrUnitDR(std::move(d), t, b, false,
+ attr_aa, attr_dd, attr_ss));
}
-auto doc_rec(VisitRecordingUnitDR::VisitedLIDs& visited_lids, const std::string &id, Timestamp t, Bucket b)
+auto doc_rec(VisitRecordingUnitDR::VisitedLIDs& visited_lids,
+ const std::string &id, Timestamp t, Bucket b)
{
- return std::make_shared<VisitRecordingUnitDR>(visited_lids, std::make_unique<Document>(getAttrDocType(), DocumentId(id)), t, b, false);
+ Document::UP d(new Document(getDocType(), DocumentId(id)));
+ return std::make_shared<VisitRecordingUnitDR>(
+ visited_lids, std::move(d), t, b, false);
}
void checkDoc(const IDocumentRetriever &dr, const std::string &id,
size_t timestamp, size_t bucket, bool removed)
{
- DocumentId documentId(id);
- DocumentMetaData dmd = dr.getDocumentMetaData(documentId);
+ DocumentMetaData dmd = dr.getDocumentMetaData(DocumentId(id));
EXPECT_TRUE(dmd.valid());
EXPECT_EQUAL(timestamp, dmd.timestamp);
EXPECT_EQUAL(bucket, dmd.bucketId.getId());
EXPECT_EQUAL(DocumentId(id).getGlobalId(), dmd.gid);
EXPECT_EQUAL(removed, dmd.removed);
- Document::UP doc = dr.getDocument(dmd.lid, documentId);
+ Document::UP doc = dr.getDocument(dmd.lid);
ASSERT_TRUE(doc);
EXPECT_TRUE(DocumentId(id) == doc->getId());
}
@@ -421,18 +415,15 @@ void checkEntry(const IterateResult &res, size_t idx, const Document &doc, const
}
TEST("require that custom retrievers work as expected") {
- DocumentId id1("id:ns:document::1");
- DocumentId id2("id:ns:document::2");
- DocumentId id3("id:ns:document::3");
IDocumentRetriever::SP dr =
- cat(cat(doc(id1, Timestamp(2), bucket(5)),
- rem(id2, Timestamp(3), bucket(5))),
- cat(doc(id3, Timestamp(7), bucket(6)),
+ cat(cat(doc("id:ns:document::1", Timestamp(2), bucket(5)),
+ rem("id:ns:document::2", Timestamp(3), bucket(5))),
+ cat(doc("id:ns:document::3", Timestamp(7), bucket(6)),
nil()));
EXPECT_FALSE(dr->getDocumentMetaData(DocumentId("id:ns:document::bogus")).valid());
- EXPECT_FALSE(dr->getDocument(1, id1));
- EXPECT_FALSE(dr->getDocument(2, id2));
- EXPECT_TRUE(dr->getDocument(3, id3));
+ EXPECT_FALSE(dr->getDocument(1));
+ EXPECT_FALSE(dr->getDocument(2));
+ EXPECT_TRUE(dr->getDocument(3));
TEST_DO(checkDoc(*dr, "id:ns:document::1", 2, 5, false));
TEST_DO(checkDoc(*dr, "id:ns:document::2", 3, 5, true));
TEST_DO(checkDoc(*dr, "id:ns:document::3", 7, 6, false));
diff --git a/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp b/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp
index bdeb4a09685..5fac9ef9c94 100644
--- a/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp
@@ -104,7 +104,7 @@ struct MyDocumentRetriever : public DocumentRetrieverBaseForTest
const document::DocumentTypeRepo &getDocumentTypeRepo() const override { return *_repo; }
void getBucketMetaData(const storage::spi::Bucket &, DocumentMetaData::Vector &) const override {}
DocumentMetaData getDocumentMetaData(const DocumentId &) const override { return DocumentMetaData(); }
- Document::UP getFullDocument(DocumentIdT lid) const override {
+ Document::UP getDocument(DocumentIdT lid) const override {
return Document::UP(_docs[lid]->clone());
}
diff --git a/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp b/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp
index e045ec31418..7303d4ef6d0 100644
--- a/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp
@@ -217,7 +217,7 @@ struct MyDocumentRetriever : public DocumentRetrieverBaseForTest {
const document::DocumentTypeRepo& getDocumentTypeRepo() const override { return *repo; }
void getBucketMetaData(const storage::spi::Bucket&, DocumentMetaData::Vector&) const override { abort(); }
DocumentMetaData getDocumentMetaData(const DocumentId&) const override { abort(); }
- Document::UP getFullDocument(DocumentIdT lid) const override {
+ Document::UP getDocument(DocumentIdT lid) const override {
return store.read(lid, *repo);
}
CachedSelect::SP parseSelect(const vespalib::string&) const override { abort(); }
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
index 2540a991015..7e13f99d7b3 100644
--- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
@@ -171,7 +171,7 @@ struct MyDocumentRetriever : public DocumentRetrieverBaseForTest
}
Document::UP
- getFullDocument(DocumentIdT lid) const override
+ getDocument(DocumentIdT lid) const override
{
return _subDB.getDocument(lid);
}
diff --git a/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp b/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp
index a31deca5d12..214ca186656 100644
--- a/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp
+++ b/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp
@@ -127,7 +127,7 @@ struct MyDocumentRetriever : DocumentRetrieverBaseForTest {
}
return DocumentMetaData();
}
- document::Document::UP getFullDocument(search::DocumentIdT) const override {
+ document::Document::UP getDocument(search::DocumentIdT) const override {
if (document != nullptr) {
return Document::UP(document->clone());
}
diff --git a/searchcore/src/tests/proton/server/documentretriever_test.cpp b/searchcore/src/tests/proton/server/documentretriever_test.cpp
index 8385bf89780..40224902b8f 100644
--- a/searchcore/src/tests/proton/server/documentretriever_test.cpp
+++ b/searchcore/src/tests/proton/server/documentretriever_test.cpp
@@ -157,7 +157,7 @@ struct MyDocumentStore : proton::test::DummyDocumentStore {
}
const DocumentType *doc_type = r.getDocumentType(doc_type_name);
auto doc = std::make_unique<Document>(*doc_type, doc_id);
- ASSERT_TRUE(doc);
+ ASSERT_TRUE(doc.get());
doc->set(static_field, static_value);
doc->set(dyn_field_i, static_value);
doc->set(dyn_field_s, static_value_s);
@@ -170,7 +170,7 @@ struct MyDocumentStore : proton::test::DummyDocumentStore {
doc->setValue(dyn_field_tensor, tensorFieldValue);
if (_set_position_struct_field) {
FieldValue::UP fv = PositionDataType::getInstance().createFieldValue();
- auto &pos = dynamic_cast<StructFieldValue &>(*fv);
+ StructFieldValue &pos = static_cast<StructFieldValue &>(*fv);
pos.set(PositionDataType::FIELD_X, 42);
pos.set(PositionDataType::FIELD_Y, 21);
doc->setValue(doc->getField(position_field), *fv);
@@ -179,7 +179,7 @@ struct MyDocumentStore : proton::test::DummyDocumentStore {
return doc;
}
- uint64_t
+ virtual uint64_t
initFlush(uint64_t syncToken) override
{
return syncToken;
@@ -278,10 +278,11 @@ struct Fixture {
search::AttributeManager attr_manager;
Schema schema;
DocTypeName _dtName;
- std::unique_ptr<IDocumentRetriever> _retriever;
+ std::unique_ptr<DocumentRetriever> _retriever;
template <typename T>
- T *addAttribute(const char *name, Schema::DataType t, Schema::CollectionType ct) {
+ T *addAttribute(const char *name,
+ Schema::DataType t, Schema::CollectionType ct) {
AttributeVector::SP attrPtr = AttributeFactory::createAttribute(name, convertConfig(t, ct));
T *attr = dynamic_cast<T *>(attrPtr.get());
AttributeVector::DocId id;
@@ -296,7 +297,8 @@ struct Fixture {
}
template <typename T, typename U>
- void addAttribute(const char *name, U val, Schema::DataType t, Schema::CollectionType ct) {
+ void addAttribute(const char *name, U val,
+ Schema::DataType t, Schema::CollectionType ct) {
T *attr = addAttribute<T>(name, t, ct);
if (ct == schema::CollectionType::SINGLE) {
attr->update(lid, val);
@@ -307,7 +309,7 @@ struct Fixture {
attr->commit();
}
void addTensorAttribute(const char *name, const Tensor &val) {
- auto * attr = addAttribute<TensorAttribute>(name, schema::DataType::TENSOR, schema::CollectionType::SINGLE);
+ TensorAttribute *attr = addAttribute<TensorAttribute>(name, schema::DataType::TENSOR, schema::CollectionType::SINGLE);
attr->setTensor(lid, val);
attr->commit();
}
@@ -352,7 +354,7 @@ struct Fixture {
addAttribute<StringAttribute>(dyn_field_nas, DataType::STRING, ct);
addAttribute<IntegerAttribute>(zcurve_field, dynamic_zcurve_value, DataType::INT64, ct);
addTensorAttribute(dyn_field_tensor.c_str(), *dynamic_tensor);
- auto * attr = addAttribute<PredicateAttribute>(dyn_field_p, DataType::BOOLEANTREE, ct);
+ PredicateAttribute *attr = addAttribute<PredicateAttribute>(dyn_field_p, DataType::BOOLEANTREE, ct);
attr->getIndex().indexEmptyDocument(lid);
attr->commit();
ct = schema::CollectionType::ARRAY;
@@ -369,7 +371,7 @@ struct Fixture {
build();
}
- void clearAttributes(const std::vector<vespalib::string> & names) const {
+ void clearAttributes(std::vector<vespalib::string> names) {
for (const auto &name : names) {
auto guard = *attr_manager.getAttribute(name);
guard->clearDoc(lid);
@@ -398,14 +400,14 @@ TEST_F("require that document retriever can retrieve bucket meta data", Fixture)
TEST_F("require that document retriever can retrieve document", Fixture) {
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
EXPECT_EQUAL(doc_id, doc->getId());
}
template <typename T>
bool checkFieldValue(FieldValue::UP field_value, typename T::value_type v) {
- ASSERT_TRUE(field_value);
+ ASSERT_TRUE(field_value.get());
T *t_value = dynamic_cast<T *>(field_value.get());
ASSERT_TRUE(t_value);
return EXPECT_EQUAL(v, t_value->getValue());
@@ -413,8 +415,8 @@ bool checkFieldValue(FieldValue::UP field_value, typename T::value_type v) {
template <typename T>
void checkArray(FieldValue::UP array, typename T::value_type v) {
- ASSERT_TRUE(array);
- auto *array_val = dynamic_cast<ArrayFieldValue *>(array.get());
+ ASSERT_TRUE(array.get());
+ ArrayFieldValue *array_val = dynamic_cast<ArrayFieldValue *>(array.get());
ASSERT_TRUE(array_val);
ASSERT_EQUAL(2u, array_val->size());
T *t_value = dynamic_cast<T *>(&(*array_val)[0]);
@@ -426,8 +428,9 @@ void checkArray(FieldValue::UP array, typename T::value_type v) {
template <typename T>
void checkWset(FieldValue::UP wset, T v) {
- ASSERT_TRUE(wset);
- auto *wset_val = dynamic_cast<WeightedSetFieldValue *>(wset.get());
+ ASSERT_TRUE(wset.get());
+ WeightedSetFieldValue *wset_val =
+ dynamic_cast<WeightedSetFieldValue *>(wset.get());
ASSERT_TRUE(wset_val);
ASSERT_EQUAL(2u, wset_val->size());
EXPECT_EQUAL(dyn_weight, wset_val->get(v));
@@ -436,12 +439,12 @@ void checkWset(FieldValue::UP wset, T v) {
TEST_F("require that attributes are patched into stored document", Fixture) {
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
FieldValue::UP value = doc->getValue(static_field);
- ASSERT_TRUE(value);
- auto *int_value = dynamic_cast<IntFieldValue *>(value.get());
+ ASSERT_TRUE(value.get());
+ IntFieldValue *int_value = dynamic_cast<IntFieldValue *>(value.get());
ASSERT_TRUE(int_value);
EXPECT_EQUAL(static_value, int_value->getValue());
@@ -467,18 +470,18 @@ TEST_F("require that attributes are patched into stored document", Fixture) {
TEST_F("require that attributes are patched into stored document unless also index field", Fixture) {
f.addIndexField(Schema::IndexField(dyn_field_s, DataType::STRING)).build();
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
checkFieldValue<StringFieldValue>(doc->getValue(dyn_field_s), static_value_s);
}
void verify_position_field_has_expected_values(Fixture& f) {
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
FieldValue::UP value = doc->getValue(position_field);
- ASSERT_TRUE(value);
+ ASSERT_TRUE(value.get());
const auto *position = dynamic_cast<StructFieldValue *>(value.get());
ASSERT_TRUE(position);
FieldValue::UP x = position->getValue(PositionDataType::FIELD_X);
@@ -500,10 +503,10 @@ TEST_F("zcurve attribute is authoritative for single value position field existe
TEST_F("require that array position field value is generated from zcurve array attribute", Fixture) {
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
FieldValue::UP value = doc->getValue(position_array_field);
- ASSERT_TRUE(value);
+ ASSERT_TRUE(value.get());
const auto* array_value = dynamic_cast<const document::ArrayFieldValue*>(value.get());
ASSERT_TRUE(array_value != nullptr);
ASSERT_EQUAL(array_value->getNestedType(), document::PositionDataType::getInstance());
@@ -525,32 +528,33 @@ TEST_F("require that array position field value is generated from zcurve array a
}
TEST_F("require that non-existing lid returns null pointer", Fixture) {
- Document::UP doc = f._retriever->getDocument(0, DocumentId("id:ns:document::1"));
- ASSERT_FALSE(doc);
+ Document::UP doc = f._retriever->getDocument(0);
+ ASSERT_FALSE(doc.get());
}
TEST_F("require that predicate attributes can be retrieved", Fixture) {
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
FieldValue::UP value = doc->getValue(dyn_field_p);
- ASSERT_TRUE(value);
- auto *predicate_value = dynamic_cast<PredicateFieldValue *>(value.get());
+ ASSERT_TRUE(value.get());
+ PredicateFieldValue *predicate_value =
+ dynamic_cast<PredicateFieldValue *>(value.get());
ASSERT_TRUE(predicate_value);
}
TEST_F("require that zero values in multivalue attribute removes fields", Fixture)
{
auto meta_data = f._retriever->getDocumentMetaData(doc_id);
- auto doc = f._retriever->getDocument(meta_data.lid, doc_id);
+ auto doc = f._retriever->getDocument(meta_data.lid);
ASSERT_TRUE(doc);
const Document *docPtr = doc.get();
ASSERT_TRUE(doc->hasValue(dyn_arr_field_i));
ASSERT_TRUE(doc->hasValue(dyn_wset_field_i));
f.doc_store._testDoc = std::move(doc);
f.clearAttributes({ dyn_arr_field_i, dyn_wset_field_i });
- doc = f._retriever->getDocument(meta_data.lid, doc_id);
+ doc = f._retriever->getDocument(meta_data.lid);
EXPECT_EQUAL(docPtr, doc.get());
ASSERT_FALSE(doc->hasValue(dyn_arr_field_i));
ASSERT_FALSE(doc->hasValue(dyn_wset_field_i));
@@ -558,58 +562,15 @@ TEST_F("require that zero values in multivalue attribute removes fields", Fixtur
TEST_F("require that tensor attribute can be retrieved", Fixture) {
DocumentMetaData meta_data = f._retriever->getDocumentMetaData(doc_id);
- Document::UP doc = f._retriever->getDocument(meta_data.lid, doc_id);
- ASSERT_TRUE(doc);
+ Document::UP doc = f._retriever->getDocument(meta_data.lid);
+ ASSERT_TRUE(doc.get());
FieldValue::UP value = doc->getValue(dyn_field_tensor);
ASSERT_TRUE(value);
- auto * tensor_value = dynamic_cast<TensorFieldValue *>(value.get());
+ TensorFieldValue *tensor_value = dynamic_cast<TensorFieldValue *>(value.get());
ASSERT_TRUE(tensor_value->getAsTensorPtr()->equals(*dynamic_tensor));
}
-struct Lookup : public IFieldInfo
-{
- Lookup() : _count(0) {}
- bool isFieldAttribute(const document::Field & field) const override {
- _count++;
- return (field.getName()[0] == 'a');
- }
- mutable unsigned _count;
-};
-
-TEST("require ") {
- Lookup lookup;
- FieldSetAttributeDB fsDB(lookup);
- document::Field attr1("attr1", 1, *document::DataType::LONG, true);
- document::Field attr2("attr2", 2, *document::DataType::LONG, true);
- document::Field not_attr1("not_attr1", 3, *document::DataType::LONG, true);
- document::Field::Set allAttr;
- allAttr.insert(&attr1);
- EXPECT_TRUE(fsDB.areAllFieldsAttributes(13, allAttr));
- EXPECT_EQUAL(1u, lookup._count);
- EXPECT_TRUE(fsDB.areAllFieldsAttributes(13, allAttr));
- EXPECT_EQUAL(1u, lookup._count);
-
- allAttr.insert(&attr2);
- EXPECT_TRUE(fsDB.areAllFieldsAttributes(17, allAttr));
- EXPECT_EQUAL(3u, lookup._count);
- EXPECT_TRUE(fsDB.areAllFieldsAttributes(17, allAttr));
- EXPECT_EQUAL(3u, lookup._count);
-
- document::Field::Set notAllAttr;
- notAllAttr.insert(&not_attr1);
- EXPECT_FALSE(fsDB.areAllFieldsAttributes(33, notAllAttr));
- EXPECT_EQUAL(4u, lookup._count);
- EXPECT_FALSE(fsDB.areAllFieldsAttributes(33, notAllAttr));
- EXPECT_EQUAL(4u, lookup._count);
-
- notAllAttr.insert(&attr1);
- EXPECT_FALSE(fsDB.areAllFieldsAttributes(39, notAllAttr));
- EXPECT_EQUAL(6u, lookup._count);
- EXPECT_FALSE(fsDB.areAllFieldsAttributes(39, notAllAttr));
- EXPECT_EQUAL(6u, lookup._count);
-}
-
} // namespace
TEST_MAIN() { TEST_RUN_ALL(); }