summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-09-16 12:30:05 +0000
committerGeir Storli <geirst@yahooinc.com>2022-09-16 12:30:05 +0000
commit7ecbb8eb3a309013d1d4576d9531791617896f7d (patch)
tree3bc6a056f02b9e91254809f55ade70d87b9c0b48 /searchsummary
parent73348f28e8ddaca684829665b1557d32c42050f2 (diff)
Rewrite unit test to use GTest.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt1
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp90
2 files changed, 49 insertions, 42 deletions
diff --git a/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt b/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt
index 344a33952d6..26456dae395 100644
--- a/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt
+++ b/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt
@@ -4,5 +4,6 @@ vespa_add_executable(searchsummary_slime_summary_test_app TEST
slime_summary_test.cpp
DEPENDS
searchsummary
+ GTest::GTest
)
vespa_add_test(NAME searchsummary_slime_summary_test_app COMMAND searchsummary_slime_summary_test_app)
diff --git a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
index 5f2f1578f66..fa53cf202ff 100644
--- a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
+++ b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
@@ -1,8 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#include <vespa/document/base/documentid.h>
#include <vespa/document/datatype/documenttype.h>
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/fieldvalue/bytefieldvalue.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/fieldvalue/doublefieldvalue.h>
#include <vespa/document/fieldvalue/floatfieldvalue.h>
#include <vespa/document/fieldvalue/intfieldvalue.h>
@@ -10,14 +11,14 @@
#include <vespa/document/fieldvalue/rawfieldvalue.h>
#include <vespa/document/fieldvalue/shortfieldvalue.h>
#include <vespa/document/fieldvalue/stringfieldvalue.h>
-#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/searchlib/common/matching_elements.h>
-#include <vespa/searchsummary/docsummary/docsumwriter.h>
+#include <vespa/searchsummary/docsummary/docsum_store_document.h>
#include <vespa/searchsummary/docsummary/docsumstate.h>
+#include <vespa/searchsummary/docsummary/docsumwriter.h>
#include <vespa/searchsummary/docsummary/keywordextractor.h>
-#include <vespa/searchsummary/docsummary/docsum_store_document.h>
#include <vespa/vespalib/data/slime/slime.h>
#include <vespa/vespalib/data/smart_buffer.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/vespalib/util/size_literals.h>
using namespace vespalib::slime::convenience;
@@ -42,15 +43,15 @@ using document::StructFieldValue;
namespace {
-struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
+struct SlimeSummaryTest : testing::Test, IDocsumStore, GetDocsumsStateCallback {
std::unique_ptr<DynamicDocsumWriter> writer;
StructDataType int_pair_type;
DocumentType doc_type;
GetDocsumsState state;
bool fail_get_mapped_docsum;
bool empty_get_mapped_docsum;
- DocsumFixture();
- ~DocsumFixture() override;
+ SlimeSummaryTest();
+ ~SlimeSummaryTest() override;
void getDocsum(Slime &slime) {
Slime slimeOut;
SlimeInserter inserter(slimeOut);
@@ -58,11 +59,11 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
writer->insertDocsum(rci, 1u, state, this, inserter);
vespalib::SmartBuffer buf(4_Ki);
BinaryFormat::encode(slimeOut, buf);
- EXPECT_GREATER(BinaryFormat::decode(buf.obtain(), slime), 0u);
+ EXPECT_GT(BinaryFormat::decode(buf.obtain(), slime), 0u);
}
uint32_t getNumDocs() const override { return 2; }
std::unique_ptr<const IDocsumStoreDocument> getMappedDocsum(uint32_t docid) override {
- EXPECT_EQUAL(1u, docid);
+ EXPECT_EQ(1u, docid);
if (fail_get_mapped_docsum) {
return {};
}
@@ -94,7 +95,7 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
};
-DocsumFixture::DocsumFixture()
+SlimeSummaryTest::SlimeSummaryTest()
: writer(),
int_pair_type("int_pair"),
doc_type("test"),
@@ -132,49 +133,54 @@ DocsumFixture::DocsumFixture()
doc_type.addField(Field("longdata_field", *DataType::RAW));
doc_type.addField(Field("int_pair_field", int_pair_type));
}
-DocsumFixture::~DocsumFixture() = default;
+SlimeSummaryTest::~SlimeSummaryTest() = default;
} // namespace <unnamed>
-TEST_FF("require that docsum can be written as slime", DocsumFixture(), Slime()) {
- f1.getDocsum(f2);
- EXPECT_EQUAL(f2.get()["int_field"].asLong(), 4u);
- EXPECT_EQUAL(f2.get()["short_field"].asLong(), 2u);
- EXPECT_EQUAL(f2.get()["byte_field"].asLong(), 1u);
- EXPECT_EQUAL(f2.get()["float_field"].asDouble(), 4.5);
- EXPECT_EQUAL(f2.get()["double_field"].asDouble(), 8.75);
- EXPECT_EQUAL(f2.get()["int64_field"].asLong(), 8u);
- EXPECT_EQUAL(f2.get()["string_field"].asString().make_string(), std::string("string"));
- EXPECT_EQUAL(f2.get()["data_field"].asData().make_string(), std::string("data"));
- EXPECT_EQUAL(f2.get()["longstring_field"].asString().make_string(), std::string("long_string"));
- EXPECT_EQUAL(f2.get()["longdata_field"].asData().make_string(), std::string("long_data"));
- EXPECT_EQUAL(f2.get()["int_pair_field"]["foo"].asLong(), 1u);
- EXPECT_EQUAL(f2.get()["int_pair_field"]["bar"].asLong(), 2u);
+TEST_F(SlimeSummaryTest, docsum_can_be_written_as_slime)
+{
+ Slime s;
+ getDocsum(s);
+ EXPECT_EQ(s.get()["int_field"].asLong(), 4u);
+ EXPECT_EQ(s.get()["short_field"].asLong(), 2u);
+ EXPECT_EQ(s.get()["byte_field"].asLong(), 1u);
+ EXPECT_EQ(s.get()["float_field"].asDouble(), 4.5);
+ EXPECT_EQ(s.get()["double_field"].asDouble(), 8.75);
+ EXPECT_EQ(s.get()["int64_field"].asLong(), 8u);
+ EXPECT_EQ(s.get()["string_field"].asString().make_string(), std::string("string"));
+ EXPECT_EQ(s.get()["data_field"].asData().make_string(), std::string("data"));
+ EXPECT_EQ(s.get()["longstring_field"].asString().make_string(), std::string("long_string"));
+ EXPECT_EQ(s.get()["longdata_field"].asData().make_string(), std::string("long_data"));
+ EXPECT_EQ(s.get()["int_pair_field"]["foo"].asLong(), 1u);
+ EXPECT_EQ(s.get()["int_pair_field"]["bar"].asLong(), 2u);
}
-TEST_FF("require that unknown summary class gives empty slime", DocsumFixture(), Slime())
+TEST_F(SlimeSummaryTest, unknown_summary_class_gives_empty_slime)
{
- f1.state._args.setResultClassName("unknown");
- f1.getDocsum(f2);
- EXPECT_TRUE(f2.get().valid());
- EXPECT_EQUAL(vespalib::slime::NIX::ID, f2.get().type().getId());
+ state._args.setResultClassName("unknown");
+ Slime s;
+ getDocsum(s);
+ EXPECT_TRUE(s.get().valid());
+ EXPECT_EQ(vespalib::slime::NIX::ID, s.get().type().getId());
}
-TEST_FF("require that failure to retrieve docsum store document gives empty slime", DocsumFixture(), Slime())
+TEST_F(SlimeSummaryTest, failure_to_retrieve_docsum_store_document_gives_empty_slime)
{
- f1.fail_get_mapped_docsum = true;
- f1.getDocsum(f2);
- EXPECT_TRUE(f2.get().valid());
- EXPECT_EQUAL(vespalib::slime::NIX::ID, f2.get().type().getId());
+ fail_get_mapped_docsum = true;
+ Slime s;
+ getDocsum(s);
+ EXPECT_TRUE(s.get().valid());
+ EXPECT_EQ(vespalib::slime::NIX::ID, s.get().type().getId());
}
-TEST_FF("require that empty docsum store document gives empty object", DocsumFixture(), Slime())
+TEST_F(SlimeSummaryTest, empty_docsum_store_document_gives_empty_object)
{
- f1.empty_get_mapped_docsum = true;
- f1.getDocsum(f2);
- EXPECT_TRUE(f2.get().valid());
- EXPECT_EQUAL(vespalib::slime::OBJECT::ID, f2.get().type().getId());
- EXPECT_EQUAL(0u, f2.get().fields());
+ empty_get_mapped_docsum = true;
+ Slime s;
+ getDocsum(s);
+ EXPECT_TRUE(s.get().valid());
+ EXPECT_EQ(vespalib::slime::OBJECT::ID, s.get().type().getId());
+ EXPECT_EQ(0u, s.get().fields());
}
-TEST_MAIN() { TEST_RUN_ALL(); }
+GTEST_MAIN_RUN_ALL_TESTS()