diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-27 14:05:51 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-27 14:05:51 +0000 |
commit | 3112b96dcd66e8aed0587d44288ca8e347cc31a2 (patch) | |
tree | d537c0d2135604a46feb767a7a7e1986f3813dfd /document/src/tests | |
parent | f1ca88107239ff1ba6bf0f7e142486352ffd90e4 (diff) |
Avoid need to copy/clone FieldUpdate
Diffstat (limited to 'document/src/tests')
-rw-r--r-- | document/src/tests/documentselectparsertest.cpp | 10 | ||||
-rw-r--r-- | document/src/tests/documentupdatetestcase.cpp | 148 | ||||
-rw-r--r-- | document/src/tests/testxml.cpp | 26 |
3 files changed, 90 insertions, 94 deletions
diff --git a/document/src/tests/documentselectparsertest.cpp b/document/src/tests/documentselectparsertest.cpp index 5c263daaa31..443686dde19 100644 --- a/document/src/tests/documentselectparsertest.cpp +++ b/document/src/tests/documentselectparsertest.cpp @@ -137,11 +137,11 @@ DocumentUpdate::SP DocumentSelectParserTest::createUpdate( const std::string& hstr) { const DocumentType* type = _repo->getDocumentType(doctype); - DocumentUpdate::SP doc(new DocumentUpdate(*_repo, *type, DocumentId(id))); - doc->addUpdate(FieldUpdate(doc->getType().getField("headerval")) - .addUpdate(AssignValueUpdate(IntFieldValue(hint)))); - doc->addUpdate(FieldUpdate(doc->getType().getField("hstringval")) - .addUpdate(AssignValueUpdate(StringFieldValue(hstr)))); + auto doc = std::make_shared<DocumentUpdate>(*_repo, *type, DocumentId(id)); + doc->addUpdate(std::move(FieldUpdate(doc->getType().getField("headerval")) + .addUpdate(AssignValueUpdate(IntFieldValue(hint))))); + doc->addUpdate(std::move(FieldUpdate(doc->getType().getField("hstringval")) + .addUpdate(AssignValueUpdate(StringFieldValue(hstr))))); return doc; } diff --git a/document/src/tests/documentupdatetestcase.cpp b/document/src/tests/documentupdatetestcase.cpp index e1e86bca671..a1b5bb17df9 100644 --- a/document/src/tests/documentupdatetestcase.cpp +++ b/document/src/tests/documentupdatetestcase.cpp @@ -133,7 +133,7 @@ TEST(DocumentUpdateTest, testSimpleUsage) // Test that a document update can be serialized DocumentUpdate docUpdate(repo, *docType, DocumentId("id:ns:test::1")); - docUpdate.addUpdate(fieldUpdateCopy); + docUpdate.addUpdate(std::move(fieldUpdateCopy)); nbostream docBuf = serializeHEAD(docUpdate); auto docUpdateCopy(DocumentUpdate::createHEAD(repo, docBuf)); @@ -150,7 +150,7 @@ TEST(DocumentUpdateTest, testSimpleUsage) { Document updated(doc); DocumentUpdate upd(repo, *docType, DocumentId("id:ns:test::1")); - upd.addUpdate(FieldUpdate(docType->getField("intf")).addUpdate(ClearValueUpdate())); + upd.addUpdate(std::move(FieldUpdate(docType->getField("intf")).addUpdate(ClearValueUpdate()))); upd.applyTo(updated); EXPECT_NE(doc, updated); EXPECT_FALSE(updated.getValue("intf")); @@ -158,7 +158,7 @@ TEST(DocumentUpdateTest, testSimpleUsage) { Document updated(doc); DocumentUpdate upd(repo, *docType, DocumentId("id:ns:test::1")); - upd.addUpdate(FieldUpdate(docType->getField("intf")).addUpdate(AssignValueUpdate(IntFieldValue(15)))); + upd.addUpdate(std::move(FieldUpdate(docType->getField("intf")).addUpdate(AssignValueUpdate(IntFieldValue(15))))); upd.applyTo(updated); EXPECT_NE(doc, updated); EXPECT_EQ(15, updated.getValue("intf")->getAsInt()); @@ -166,7 +166,7 @@ TEST(DocumentUpdateTest, testSimpleUsage) { Document updated(doc); DocumentUpdate upd(repo, *docType, DocumentId("id:ns:test::1")); - upd.addUpdate(FieldUpdate(docType->getField("intf")).addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 15))); + upd.addUpdate(std::move(FieldUpdate(docType->getField("intf")).addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 15)))); upd.applyTo(updated); EXPECT_NE(doc, updated); EXPECT_EQ(20, updated.getValue("intf")->getAsInt()); @@ -174,7 +174,7 @@ TEST(DocumentUpdateTest, testSimpleUsage) { Document updated(doc); DocumentUpdate upd(repo, *docType, DocumentId("id:ns:test::1")); - upd.addUpdate(FieldUpdate(docType->getField("intarr")).addUpdate(AddValueUpdate(IntFieldValue(4)))); + upd.addUpdate(std::move(FieldUpdate(docType->getField("intarr")).addUpdate(AddValueUpdate(IntFieldValue(4))))); upd.applyTo(updated); EXPECT_NE(doc, updated); std::unique_ptr<ArrayFieldValue> val(dynamic_cast<ArrayFieldValue*>(updated.getValue("intarr").release())); @@ -184,7 +184,7 @@ TEST(DocumentUpdateTest, testSimpleUsage) { Document updated(doc); DocumentUpdate upd(repo, *docType, DocumentId("id:ns:test::1")); - upd.addUpdate(FieldUpdate(docType->getField("intarr")).addUpdate(RemoveValueUpdate(IntFieldValue(3)))); + upd.addUpdate(std::move(FieldUpdate(docType->getField("intarr")).addUpdate(RemoveValueUpdate(IntFieldValue(3))))); upd.applyTo(updated); EXPECT_NE(doc, updated); std::unique_ptr<ArrayFieldValue> val(dynamic_cast<ArrayFieldValue*>(updated.getValue("intarr").release())); @@ -194,8 +194,8 @@ TEST(DocumentUpdateTest, testSimpleUsage) { Document updated(doc); DocumentUpdate upd(repo, *docType, DocumentId("id:ns:test::1")); - upd.addUpdate(FieldUpdate(docType->getField("bytef")) - .addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 15))); + upd.addUpdate(std::move(FieldUpdate(docType->getField("bytef")) + .addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 15)))); upd.applyTo(updated); EXPECT_NE(doc, updated); EXPECT_EQ(15, (int) updated.getValue("bytef")->getAsByte()); @@ -212,7 +212,7 @@ TEST(DocumentUpdateTest, testClearField) // Apply an update. DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("headerval")).addUpdate(AssignValueUpdate())) + .addUpdate(std::move(FieldUpdate(doc->getField("headerval")).addUpdate(AssignValueUpdate()))) .applyTo(*doc); EXPECT_FALSE(doc->getValue("headerval")); } @@ -227,7 +227,7 @@ TEST(DocumentUpdateTest, testUpdateApplySingleValue) // Apply an update. DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("headerval")).addUpdate(AssignValueUpdate(IntFieldValue(9)))) + .addUpdate(std::move(FieldUpdate(doc->getField("headerval")).addUpdate(AssignValueUpdate(IntFieldValue(9))))) .applyTo(*doc); EXPECT_EQ(9, doc->getValue("headerval")->getAsInt()); } @@ -245,7 +245,7 @@ TEST(DocumentUpdateTest, testUpdateArray) myarray.add(StringFieldValue("bar")); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("tags")).addUpdate(AssignValueUpdate(myarray))) + .addUpdate(std::move(FieldUpdate(doc->getField("tags")).addUpdate(AssignValueUpdate(myarray)))) .applyTo(*doc); auto fval1(doc->getAs<ArrayFieldValue>(doc->getField("tags"))); ASSERT_EQ((size_t) 2, fval1->size()); @@ -254,9 +254,9 @@ TEST(DocumentUpdateTest, testUpdateArray) // Append array field DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("tags")) + .addUpdate(std::move(FieldUpdate(doc->getField("tags")) .addUpdate(AddValueUpdate(StringFieldValue("another"))) - .addUpdate(AddValueUpdate(StringFieldValue("tag")))) + .addUpdate(AddValueUpdate(StringFieldValue("tag"))))) .applyTo(*doc); std::unique_ptr<ArrayFieldValue> fval2(doc->getAs<ArrayFieldValue>(doc->getField("tags"))); @@ -269,16 +269,16 @@ TEST(DocumentUpdateTest, testUpdateArray) // Append single value. ASSERT_THROW( DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("tags")) - .addUpdate(AssignValueUpdate(StringFieldValue("THROW MEH!")))) + .addUpdate(std::move(FieldUpdate(doc->getField("tags")) + .addUpdate(AssignValueUpdate(StringFieldValue("THROW MEH!"))))) .applyTo(*doc), std::exception) << "Expected exception when assigning a string value to an array field."; // Remove array field. DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("tags")) + .addUpdate(std::move(FieldUpdate(doc->getField("tags")) .addUpdate(RemoveValueUpdate(StringFieldValue("foo"))) - .addUpdate(RemoveValueUpdate(StringFieldValue("tag")))) + .addUpdate(RemoveValueUpdate(StringFieldValue("tag"))))) .applyTo(*doc); auto fval3(doc->getAs<ArrayFieldValue>(doc->getField("tags"))); ASSERT_EQ((size_t) 2, fval3->size()); @@ -291,8 +291,8 @@ TEST(DocumentUpdateTest, testUpdateArray) myarray2.add(StringFieldValue("bar")); ASSERT_THROW( DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(doc->getField("tags")) - .addUpdate(RemoveValueUpdate(myarray2))) + .addUpdate(std::move(FieldUpdate(doc->getField("tags")) + .addUpdate(RemoveValueUpdate(myarray2)))) .applyTo(*doc), std::exception) << "Expected exception when removing an array from a string array."; } @@ -310,7 +310,7 @@ TEST(DocumentUpdateTest, testUpdateWeightedSet) wset.add(StringFieldValue("foo"), 3); wset.add(StringFieldValue("bar"), 14); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field).addUpdate(AssignValueUpdate(wset))) + .addUpdate(std::move(FieldUpdate(field).addUpdate(AssignValueUpdate(wset)))) .applyTo(*doc); auto fval1(doc->getAs<WeightedSetFieldValue>(field)); ASSERT_EQ((size_t) 2, fval1->size()); @@ -326,8 +326,8 @@ TEST(DocumentUpdateTest, testUpdateWeightedSet) wset2.add(StringFieldValue("foo"), 16); wset2.add(StringFieldValue("bar"), 24); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field) - .addUpdate(AssignValueUpdate(wset2))) + .addUpdate(std::move(FieldUpdate(field) + .addUpdate(AssignValueUpdate(wset2)))) .applyTo(*doc); auto fval2(doc->getAs<WeightedSetFieldValue>(field)); ASSERT_EQ((size_t) 2, fval2->size()); @@ -340,9 +340,9 @@ TEST(DocumentUpdateTest, testUpdateWeightedSet) // Append weighted field DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field) + .addUpdate(std::move(FieldUpdate(field) .addUpdate(AddValueUpdate(StringFieldValue("foo")).setWeight(3)) - .addUpdate(AddValueUpdate(StringFieldValue("too")).setWeight(14))) + .addUpdate(AddValueUpdate(StringFieldValue("too")).setWeight(14)))) .applyTo(*doc); std::unique_ptr<WeightedSetFieldValue> fval3(doc->getAs<WeightedSetFieldValue>(field)); @@ -356,9 +356,9 @@ TEST(DocumentUpdateTest, testUpdateWeightedSet) // Remove weighted field DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field) + .addUpdate(std::move(FieldUpdate(field) .addUpdate(RemoveValueUpdate(StringFieldValue("foo"))) - .addUpdate(RemoveValueUpdate(StringFieldValue("too")))) + .addUpdate(RemoveValueUpdate(StringFieldValue("too"))))) .applyTo(*doc); auto fval4(doc->getAs<WeightedSetFieldValue>(field)); ASSERT_EQ((size_t) 1, fval4->size()); @@ -404,9 +404,9 @@ WeightedSetAutoCreateFixture::WeightedSetAutoCreateFixture() field(docType->getField("strwset")), update(repo, *docType, DocumentId("id:ns:test::1")) { - update.addUpdate(FieldUpdate(field) + update.addUpdate(std::move(FieldUpdate(field) .addUpdate(MapValueUpdate(StringFieldValue("foo"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 1)))); + ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 1))))); } } // anon ns @@ -442,9 +442,9 @@ TEST(DocumentUpdateTest, testIncrementExistingWSetField) TEST(DocumentUpdateTest, testIncrementWithZeroResultWeightIsRemoved) { WeightedSetAutoCreateFixture fixture; - fixture.update.addUpdate(FieldUpdate(fixture.field) + fixture.update.addUpdate(std::move(FieldUpdate(fixture.field) .addUpdate(MapValueUpdate(StringFieldValue("baz"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 0)))); + ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 0))))); fixture.applyUpdateToDocument(); @@ -524,21 +524,21 @@ TEST(DocumentUpdateTest, testGenerateSerializedFile) const DocumentType *type(repo.getDocumentType("serializetest")); DocumentUpdate upd(repo, *type, DocumentId("id:ns:serializetest::update")); - upd.addUpdate(FieldUpdate(type->getField("intfield")) - .addUpdate(AssignValueUpdate(IntFieldValue(4)))); - upd.addUpdate(FieldUpdate(type->getField("floatfield")) - .addUpdate(AssignValueUpdate(FloatFieldValue(1.00f)))); - upd.addUpdate(FieldUpdate(type->getField("arrayoffloatfield")) + upd.addUpdate(std::move(FieldUpdate(type->getField("intfield")) + .addUpdate(AssignValueUpdate(IntFieldValue(4))))); + upd.addUpdate(std::move(FieldUpdate(type->getField("floatfield")) + .addUpdate(AssignValueUpdate(FloatFieldValue(1.00f))))); + upd.addUpdate(std::move(FieldUpdate(type->getField("arrayoffloatfield")) .addUpdate(AddValueUpdate(FloatFieldValue(5.00f))) .addUpdate(AddValueUpdate(FloatFieldValue(4.23f))) - .addUpdate(AddValueUpdate(FloatFieldValue(-1.00f)))); - upd.addUpdate(FieldUpdate(type->getField("intfield")) - .addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 3))); - upd.addUpdate(FieldUpdate(type->getField("wsfield")) + .addUpdate(AddValueUpdate(FloatFieldValue(-1.00f))))); + upd.addUpdate(std::move(FieldUpdate(type->getField("intfield")) + .addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 3)))); + upd.addUpdate(std::move(FieldUpdate(type->getField("wsfield")) .addUpdate(MapValueUpdate(StringFieldValue("foo"), ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 2))) .addUpdate(MapValueUpdate(StringFieldValue("foo"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Mul, 2)))); + ArithmeticValueUpdate(ArithmeticValueUpdate::Mul, 2))))); nbostream buf(serializeHEAD(upd)); writeBufferToFile(buf, "data/serializeupdatecpp.dat"); } @@ -554,8 +554,8 @@ TEST(DocumentUpdateTest, testSetBadFieldTypes) // Assign a float value to an int field. DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); ASSERT_THROW( - update.addUpdate(FieldUpdate(doc->getField("headerval")) - .addUpdate(AssignValueUpdate(FloatFieldValue(4.00f)))), + update.addUpdate(std::move(FieldUpdate(doc->getField("headerval")) + .addUpdate(AssignValueUpdate(FloatFieldValue(4.00f))))), std::exception) << "Expected exception when adding a float to an int field."; update.applyTo(*doc); @@ -572,7 +572,7 @@ TEST(DocumentUpdateTest, testUpdateApplyNoParams) EXPECT_EQ((document::FieldValue*)nullptr, doc->getValue(doc->getField("tags")).get()); DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); - update.addUpdate(FieldUpdate(doc->getField("tags")).addUpdate(AssignValueUpdate())); + update.addUpdate(std::move(FieldUpdate(doc->getField("tags")).addUpdate(AssignValueUpdate()))); update.applyTo(*doc); @@ -589,8 +589,8 @@ TEST(DocumentUpdateTest, testUpdateApplyNoArrayValues) // Assign array field with no array values = empty array DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); - update.addUpdate(FieldUpdate(field) - .addUpdate(AssignValueUpdate(ArrayFieldValue(field.getDataType())))); + update.addUpdate(std::move(FieldUpdate(field) + .addUpdate(AssignValueUpdate(ArrayFieldValue(field.getDataType()))))); update.applyTo(*doc); @@ -610,7 +610,7 @@ TEST(DocumentUpdateTest, testUpdateArrayEmptyParamValue) // Assign array field with no array values = empty array. DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); - update.addUpdate(FieldUpdate(field).addUpdate(AssignValueUpdate(ArrayFieldValue(field.getDataType())))); + update.addUpdate(std::move(FieldUpdate(field).addUpdate(AssignValueUpdate(ArrayFieldValue(field.getDataType()))))); update.applyTo(*doc); // Verify that the field was set in the document. @@ -620,7 +620,7 @@ TEST(DocumentUpdateTest, testUpdateArrayEmptyParamValue) // Remove array field. DocumentUpdate update2(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); - update2.addUpdate(FieldUpdate(field).addUpdate(ClearValueUpdate())); + update2.addUpdate(std::move(FieldUpdate(field).addUpdate(ClearValueUpdate()))); update2.applyTo(*doc); // Verify that the field was cleared in the document. @@ -638,7 +638,7 @@ TEST(DocumentUpdateTest, testUpdateWeightedSetEmptyParamValue) // Assign weighted set with no items = empty set. DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); - update.addUpdate(FieldUpdate(field).addUpdate(AssignValueUpdate(WeightedSetFieldValue(field.getDataType())))); + update.addUpdate(std::move(FieldUpdate(field).addUpdate(AssignValueUpdate(WeightedSetFieldValue(field.getDataType()))))); update.applyTo(*doc); // Verify that the field was set in the document. @@ -648,7 +648,7 @@ TEST(DocumentUpdateTest, testUpdateWeightedSetEmptyParamValue) // Remove weighted set field. DocumentUpdate update2(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); - update2.addUpdate(FieldUpdate(field).addUpdate(ClearValueUpdate())); + update2.addUpdate(std::move(FieldUpdate(field).addUpdate(ClearValueUpdate()))); update2.applyTo(*doc); // Verify that the field was cleared in the document. @@ -667,9 +667,9 @@ TEST(DocumentUpdateTest, testUpdateArrayWrongSubtype) // Assign int values to string array. DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); ASSERT_THROW( - update.addUpdate(FieldUpdate(field) + update.addUpdate(std::move(FieldUpdate(field) .addUpdate(AddValueUpdate(IntFieldValue(123))) - .addUpdate(AddValueUpdate(IntFieldValue(456)))), + .addUpdate(AddValueUpdate(IntFieldValue(456))))), std::exception) << "Expected exception when adding wrong type."; // Apply update @@ -691,9 +691,9 @@ TEST(DocumentUpdateTest, testUpdateWeightedSetWrongSubtype) // Assign int values to string array. DocumentUpdate update(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()); ASSERT_THROW( - update.addUpdate(FieldUpdate(field) + update.addUpdate(std::move(FieldUpdate(field) .addUpdate(AddValueUpdate(IntFieldValue(123)).setWeight(1000)) - .addUpdate(AddValueUpdate(IntFieldValue(456)).setWeight(2000))), + .addUpdate(AddValueUpdate(IntFieldValue(456)).setWeight(2000)))), std::exception) << "Expected exception when adding wrong type."; // Apply update @@ -717,29 +717,29 @@ TEST(DocumentUpdateTest, testMapValueUpdate) doc->setValue(field2, wsval2); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field1) + .addUpdate(std::move(FieldUpdate(field1) .addUpdate(MapValueUpdate(StringFieldValue("banana"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 1.0)))) + ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 1.0))))) .applyTo(*doc); std::unique_ptr<WeightedSetFieldValue> fv1 = doc->getAs<WeightedSetFieldValue>(field1); EXPECT_EQ(0, fv1->size()); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field2) + .addUpdate(std::move(FieldUpdate(field2) .addUpdate(MapValueUpdate(StringFieldValue("banana"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 1.0)))) + ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 1.0))))) .applyTo(*doc); auto fv2 = doc->getAs<WeightedSetFieldValue>(field2); EXPECT_EQ(1, fv2->size()); EXPECT_EQ(fv1->find(StringFieldValue("apple")), fv1->end()); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field1).addUpdate(ClearValueUpdate())) + .addUpdate(std::move(FieldUpdate(field1).addUpdate(ClearValueUpdate()))) .applyTo(*doc); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field1).addUpdate(AddValueUpdate(StringFieldValue("apple")).setWeight(1))) + .addUpdate(std::move(FieldUpdate(field1).addUpdate(AddValueUpdate(StringFieldValue("apple")).setWeight(1)))) .applyTo(*doc); auto fval3(doc->getAs<WeightedSetFieldValue>(field1)); @@ -747,7 +747,7 @@ TEST(DocumentUpdateTest, testMapValueUpdate) EXPECT_EQ(1, fval3->get(StringFieldValue("apple"))); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field2).addUpdate(AddValueUpdate(StringFieldValue("apple")).setWeight(1))) + .addUpdate(std::move(FieldUpdate(field2).addUpdate(AddValueUpdate(StringFieldValue("apple")).setWeight(1)))) .applyTo(*doc); auto fval3b(doc->getAs<WeightedSetFieldValue>(field2)); @@ -755,9 +755,9 @@ TEST(DocumentUpdateTest, testMapValueUpdate) EXPECT_EQ(1, fval3b->get(StringFieldValue("apple"))); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field1) + .addUpdate(std::move(FieldUpdate(field1) .addUpdate(MapValueUpdate(StringFieldValue("apple"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Sub, 1.0)))) + ArithmeticValueUpdate(ArithmeticValueUpdate::Sub, 1.0))))) .applyTo(*doc); auto fv3 = doc->getAs<WeightedSetFieldValue>(field1); @@ -765,9 +765,9 @@ TEST(DocumentUpdateTest, testMapValueUpdate) EXPECT_EQ(0, fv3->get(StringFieldValue("apple"))); DocumentUpdate(docMan.getTypeRepo(), *doc->getDataType(), doc->getId()) - .addUpdate(FieldUpdate(field2) + .addUpdate(std::move(FieldUpdate(field2) .addUpdate(MapValueUpdate(StringFieldValue("apple"), - ArithmeticValueUpdate(ArithmeticValueUpdate::Sub, 1.0)))) + ArithmeticValueUpdate(ArithmeticValueUpdate::Sub, 1.0))))) .applyTo(*doc); auto fv4 = doc->getAs<WeightedSetFieldValue>(field2); @@ -853,7 +853,7 @@ struct TensorUpdateFixture { void applyUpdate(const ValueUpdate &update) { DocumentUpdate docUpdate(docMan.getTypeRepo(), *emptyDoc->getDataType(), emptyDoc->getId()); - docUpdate.addUpdate(FieldUpdate(docUpdate.getType().getField(fieldName)).addUpdate(update)); + docUpdate.addUpdate(std::move(FieldUpdate(docUpdate.getType().getField(fieldName)).addUpdate(update))); docUpdate.applyTo(updatedDoc); } @@ -1147,14 +1147,14 @@ struct TensorUpdateSerializeFixture { auto result = std::make_unique<DocumentUpdate> (*repo, docType, DocumentId("id:test:test::0")); - result->addUpdate(FieldUpdate(getField("sparse_tensor")) + result->addUpdate(std::move(FieldUpdate(getField("sparse_tensor")) .addUpdate(AssignValueUpdate(*makeTensor())) .addUpdate(TensorAddUpdate(makeTensor())) - .addUpdate(TensorRemoveUpdate(makeTensor()))); - result->addUpdate(FieldUpdate(getField("dense_tensor")) + .addUpdate(TensorRemoveUpdate(makeTensor())))); + result->addUpdate(std::move(FieldUpdate(getField("dense_tensor")) .addUpdate(TensorModifyUpdate(TensorModifyUpdate::Operation::REPLACE, makeTensor())) .addUpdate(TensorModifyUpdate(TensorModifyUpdate::Operation::ADD, makeTensor())) - .addUpdate(TensorModifyUpdate(TensorModifyUpdate::Operation::MULTIPLY, makeTensor()))); + .addUpdate(TensorModifyUpdate(TensorModifyUpdate::Operation::MULTIPLY, makeTensor())))); return result; } @@ -1233,10 +1233,10 @@ CreateIfNonExistentFixture::~CreateIfNonExistentFixture() = default; CreateIfNonExistentFixture::CreateIfNonExistentFixture() : docMan(), document(docMan.createDocument()), - update(new DocumentUpdate(docMan.getTypeRepo(), *document->getDataType(), document->getId())) + update(std::make_unique<DocumentUpdate>(docMan.getTypeRepo(), *document->getDataType(), document->getId())) { - update->addUpdate(FieldUpdate(document->getField("headerval")) - .addUpdate(AssignValueUpdate(IntFieldValue(1)))); + update->addUpdate(std::move(FieldUpdate(document->getField("headerval")) + .addUpdate(AssignValueUpdate(IntFieldValue(1))))); update->setCreateIfNonExistent(true); } @@ -1267,9 +1267,9 @@ ArrayUpdateFixture::ArrayUpdateFixture() array_field(doc->getType().getField("tags")) // of type array<string> { update = std::make_unique<DocumentUpdate>(doc_man.getTypeRepo(), *doc->getDataType(), doc->getId()); - update->addUpdate(FieldUpdate(array_field) + update->addUpdate(std::move(FieldUpdate(array_field) .addUpdate(MapValueUpdate(IntFieldValue(1), - AssignValueUpdate(StringFieldValue("bar"))))); + AssignValueUpdate(StringFieldValue("bar")))))); } ArrayUpdateFixture::~ArrayUpdateFixture() = default; diff --git a/document/src/tests/testxml.cpp b/document/src/tests/testxml.cpp index 4d26be9da9c..8f1ce50f224 100644 --- a/document/src/tests/testxml.cpp +++ b/document/src/tests/testxml.cpp @@ -22,9 +22,7 @@ namespace { Document::UP createTestDocument(const DocumentTypeRepo& repo) { const DocumentType* type(repo.getDocumentType("testdoc")); - Document::UP - doc(new Document(*type, - DocumentId("id:ns:testdoc::crawler/http://www.ntnu.no/"))); + auto doc = std::make_unique<Document>(*type,DocumentId("id:ns:testdoc::crawler/http://www.ntnu.no/")); doc->setRepo(repo); std::string s("humlepungens buffer"); ByteBuffer bb(s.c_str(), s.size()); @@ -47,8 +45,7 @@ Document::UP createTestDocument(const DocumentTypeRepo& repo) val.add(rawVal3); doc->setValue(doc->getField("rawarrayattr"), val); - Document::UP doc2(new Document(*type, DocumentId( - "id:ns:testdoc::crawler/http://www.ntnu.no/2"))); + auto doc2 = std::make_unique<Document>(*type, DocumentId("id:ns:testdoc::crawler/http://www.ntnu.no/2")); doc2->setValue(doc2->getField("stringattr"), StringFieldValue("tjo hei paa du")); doc->setValue(doc->getField("docfield"), *doc2); @@ -61,19 +58,18 @@ createTestDocumentUpdate(const DocumentTypeRepo& repo) const DocumentType* type(repo.getDocumentType("testdoc")); DocumentId id("id:ns:testdoc::crawler/http://www.ntnu.no/"); - DocumentUpdate::UP up(new DocumentUpdate(repo, *type, id)); - up->addUpdate(FieldUpdate(type->getField("intattr")) - .addUpdate(AssignValueUpdate(IntFieldValue(7)))); - up->addUpdate(FieldUpdate(type->getField("stringattr")) - .addUpdate(AssignValueUpdate( - StringFieldValue("New value")))); - up->addUpdate(FieldUpdate(type->getField("arrayattr")) + auto up = std::make_unique<DocumentUpdate>(repo, *type, id); + up->addUpdate(std::move(FieldUpdate(type->getField("intattr")) + .addUpdate(AssignValueUpdate(IntFieldValue(7))))); + up->addUpdate(std::move(FieldUpdate(type->getField("stringattr")) + .addUpdate(AssignValueUpdate(StringFieldValue("New value"))))); + up->addUpdate(std::move(FieldUpdate(type->getField("arrayattr")) .addUpdate(AddValueUpdate(IntFieldValue(123))) - .addUpdate(AddValueUpdate(IntFieldValue(456)))); - up->addUpdate(FieldUpdate(type->getField("arrayattr")) + .addUpdate(AddValueUpdate(IntFieldValue(456))))); + up->addUpdate(std::move(FieldUpdate(type->getField("arrayattr")) .addUpdate(RemoveValueUpdate(IntFieldValue(123))) .addUpdate(RemoveValueUpdate(IntFieldValue(456))) - .addUpdate(RemoveValueUpdate(IntFieldValue(789)))); + .addUpdate(RemoveValueUpdate(IntFieldValue(789))))); return up; } |