diff options
author | Geir Storli <geirst@verizonmedia.com> | 2019-06-28 07:36:32 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2019-06-28 07:36:32 +0000 |
commit | 6cbb4bc99757cca762ce795006f643d0f6243821 (patch) | |
tree | a55c4cdcf37fd17b160f9396b774e968dfdb7847 /searchlib/src/tests/memoryindex | |
parent | 1ae930e0fc1c6e93faa226274d48dc3f8f51db7e (diff) |
Rewrite document inverter tests to gtest.
Diffstat (limited to 'searchlib/src/tests/memoryindex')
-rw-r--r-- | searchlib/src/tests/memoryindex/document_inverter/CMakeLists.txt | 1 | ||||
-rw-r--r-- | searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp | 273 |
2 files changed, 126 insertions, 148 deletions
diff --git a/searchlib/src/tests/memoryindex/document_inverter/CMakeLists.txt b/searchlib/src/tests/memoryindex/document_inverter/CMakeLists.txt index 1058a19d0ce..ecf33ee48fd 100644 --- a/searchlib/src/tests/memoryindex/document_inverter/CMakeLists.txt +++ b/searchlib/src/tests/memoryindex/document_inverter/CMakeLists.txt @@ -5,5 +5,6 @@ vespa_add_executable(searchlib_document_inverter_test_app TEST DEPENDS searchlib_test searchlib + gtest ) vespa_add_test(NAME searchlib_document_inverter_test_app COMMAND searchlib_document_inverter_test_app) diff --git a/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp b/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp index 08645f38712..38862dfe94b 100644 --- a/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp +++ b/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -/* -*- mode: C++; coding: utf-8; -*- */ - +#include <vespa/searchlib/common/sequencedtaskexecutor.h> #include <vespa/searchlib/index/docbuilder.h> #include <vespa/searchlib/index/field_length_calculator.h> #include <vespa/searchlib/memoryindex/document_inverter.h> @@ -10,8 +9,7 @@ #include <vespa/searchlib/memoryindex/i_field_index_collection.h> #include <vespa/searchlib/memoryindex/word_store.h> #include <vespa/searchlib/test/memoryindex/ordered_field_index_inserter.h> -#include <vespa/searchlib/common/sequencedtaskexecutor.h> -#include <vespa/vespalib/testkit/testapp.h> +#include <vespa/vespalib/gtest/gtest.h> namespace search { @@ -37,7 +35,6 @@ makeDoc10(DocBuilder &b) return b.endDocument(); } - Document::UP makeDoc11(DocBuilder &b) { @@ -51,7 +48,6 @@ makeDoc11(DocBuilder &b) return b.endDocument(); } - Document::UP makeDoc12(DocBuilder &b) { @@ -62,7 +58,6 @@ makeDoc12(DocBuilder &b) return b.endDocument(); } - Document::UP makeDoc13(DocBuilder &b) { @@ -73,7 +68,6 @@ makeDoc13(DocBuilder &b) return b.endDocument(); } - Document::UP makeDoc14(DocBuilder &b) { @@ -84,7 +78,6 @@ makeDoc14(DocBuilder &b) return b.endDocument(); } - Document::UP makeDoc15(DocBuilder &b) { @@ -94,8 +87,7 @@ makeDoc15(DocBuilder &b) } -class MockFieldIndexCollection : public IFieldIndexCollection -{ +class MockFieldIndexCollection : public IFieldIndexCollection { FieldIndexRemover &_remover; test::OrderedFieldIndexInserter &_inserter; FieldLengthCalculator &_calculator; @@ -122,8 +114,7 @@ public: }; -struct Fixture -{ +struct DocumentInverterTest : public ::testing::Test { Schema _schema; DocBuilder _b; SequencedTaskExecutor _invertThreads; @@ -135,9 +126,7 @@ struct Fixture MockFieldIndexCollection _fic; DocumentInverter _inv; - static Schema - makeSchema() - { + static Schema makeSchema() { Schema schema; schema.addIndexField(Schema::IndexField("f0", DataType::STRING)); schema.addIndexField(Schema::IndexField("f1", DataType::STRING)); @@ -146,7 +135,7 @@ struct Fixture return schema; } - Fixture() + DocumentInverterTest() : _schema(makeSchema()), _b(_schema), _invertThreads(2), @@ -160,9 +149,7 @@ struct Fixture { } - void - pushDocuments() - { + void pushDocuments() { _invertThreads.sync(); uint32_t fieldId = 0; for (auto &inverter : _inv.getInverters()) { @@ -174,153 +161,143 @@ struct Fixture } }; - -TEST_F("requireThatFreshInsertWorks", Fixture) +TEST_F(DocumentInverterTest, require_that_fresh_insert_works) { - f._inv.invertDocument(10, *makeDoc10(f._b)); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=10," - "w=b,a=10," - "w=c,a=10," - "w=d,a=10", - f._inserter.toStr()); + _inv.invertDocument(10, *makeDoc10(_b)); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=10," + "w=b,a=10," + "w=c,a=10," + "w=d,a=10", + _inserter.toStr()); } - -TEST_F("requireThatMultipleDocsWork", Fixture) +TEST_F(DocumentInverterTest, require_that_multiple_docs_work) { - f._inv.invertDocument(10, *makeDoc10(f._b)); - f._inv.invertDocument(11, *makeDoc11(f._b)); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=10,a=11," - "w=b,a=10,a=11," - "w=c,a=10,w=d,a=10," - "w=e,a=11," - "w=f,a=11," - "f=1,w=a,a=11," - "w=g,a=11", - f._inserter.toStr()); + _inv.invertDocument(10, *makeDoc10(_b)); + _inv.invertDocument(11, *makeDoc11(_b)); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=10,a=11," + "w=b,a=10,a=11," + "w=c,a=10,w=d,a=10," + "w=e,a=11," + "w=f,a=11," + "f=1,w=a,a=11," + "w=g,a=11", + _inserter.toStr()); } - -TEST_F("requireThatRemoveWorks", Fixture) +TEST_F(DocumentInverterTest, require_that_remove_works) { - f._inv.getInverter(0)->remove("b", 10); - f._inv.getInverter(0)->remove("a", 10); - f._inv.getInverter(0)->remove("b", 11); - f._inv.getInverter(2)->remove("c", 12); - f._inv.getInverter(1)->remove("a", 10); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,r=10," - "w=b,r=10,r=11," - "f=1,w=a,r=10," - "f=2,w=c,r=12", - f._inserter.toStr()); + _inv.getInverter(0)->remove("b", 10); + _inv.getInverter(0)->remove("a", 10); + _inv.getInverter(0)->remove("b", 11); + _inv.getInverter(2)->remove("c", 12); + _inv.getInverter(1)->remove("a", 10); + pushDocuments(); + EXPECT_EQ("f=0,w=a,r=10," + "w=b,r=10,r=11," + "f=1,w=a,r=10," + "f=2,w=c,r=12", + _inserter.toStr()); } - -TEST_F("requireThatReputWorks", Fixture) +TEST_F(DocumentInverterTest, require_that_reput_works) { - f._inv.invertDocument(10, *makeDoc10(f._b)); - f._inv.invertDocument(10, *makeDoc11(f._b)); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=10," - "w=b,a=10," - "w=e,a=10," - "w=f,a=10," - "f=1,w=a,a=10," - "w=g,a=10", - f._inserter.toStr()); + _inv.invertDocument(10, *makeDoc10(_b)); + _inv.invertDocument(10, *makeDoc11(_b)); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=10," + "w=b,a=10," + "w=e,a=10," + "w=f,a=10," + "f=1,w=a,a=10," + "w=g,a=10", + _inserter.toStr()); } - -TEST_F("requireThatAbortPendingDocWorks", Fixture) +TEST_F(DocumentInverterTest, require_that_abort_pending_doc_works) { - Document::UP doc10 = makeDoc10(f._b); - Document::UP doc11 = makeDoc11(f._b); - Document::UP doc12 = makeDoc12(f._b); - Document::UP doc13 = makeDoc13(f._b); - Document::UP doc14 = makeDoc14(f._b); - - f._inv.invertDocument(10, *doc10); - f._inv.invertDocument(11, *doc11); - f._inv.removeDocument(10); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=11," - "w=b,a=11," - "w=e,a=11," - "w=f,a=11," - "f=1,w=a,a=11," - "w=g,a=11", - f._inserter.toStr()); - - f._inv.invertDocument(10, *doc10); - f._inv.invertDocument(11, *doc11); - f._inv.invertDocument(12, *doc12); - f._inv.invertDocument(13, *doc13); - f._inv.invertDocument(14, *doc14); - f._inv.removeDocument(11); - f._inv.removeDocument(13); - f._inserter.reset(); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=10," - "w=b,a=10," - "w=c,a=10," - "w=d,a=10," - "w=doc12,a=12," - "w=doc14,a=14," - "w=h,a=12," - "w=j,a=14", - f._inserter.toStr()); - - f._inv.invertDocument(10, *doc10); - f._inv.invertDocument(11, *doc11); - f._inv.invertDocument(12, *doc12); - f._inv.invertDocument(13, *doc13); - f._inv.invertDocument(14, *doc14); - f._inv.removeDocument(11); - f._inv.removeDocument(12); - f._inv.removeDocument(13); - f._inv.removeDocument(14); - f._inserter.reset(); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=10," - "w=b,a=10," - "w=c,a=10," - "w=d,a=10", - f._inserter.toStr()); - - + auto doc10 = makeDoc10(_b); + auto doc11 = makeDoc11(_b); + auto doc12 = makeDoc12(_b); + auto doc13 = makeDoc13(_b); + auto doc14 = makeDoc14(_b); + + _inv.invertDocument(10, *doc10); + _inv.invertDocument(11, *doc11); + _inv.removeDocument(10); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=11," + "w=b,a=11," + "w=e,a=11," + "w=f,a=11," + "f=1,w=a,a=11," + "w=g,a=11", + _inserter.toStr()); + + _inv.invertDocument(10, *doc10); + _inv.invertDocument(11, *doc11); + _inv.invertDocument(12, *doc12); + _inv.invertDocument(13, *doc13); + _inv.invertDocument(14, *doc14); + _inv.removeDocument(11); + _inv.removeDocument(13); + _inserter.reset(); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=10," + "w=b,a=10," + "w=c,a=10," + "w=d,a=10," + "w=doc12,a=12," + "w=doc14,a=14," + "w=h,a=12," + "w=j,a=14", + _inserter.toStr()); + + _inv.invertDocument(10, *doc10); + _inv.invertDocument(11, *doc11); + _inv.invertDocument(12, *doc12); + _inv.invertDocument(13, *doc13); + _inv.invertDocument(14, *doc14); + _inv.removeDocument(11); + _inv.removeDocument(12); + _inv.removeDocument(13); + _inv.removeDocument(14); + _inserter.reset(); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=10," + "w=b,a=10," + "w=c,a=10," + "w=d,a=10", + _inserter.toStr()); } - -TEST_F("requireThatMixOfAddAndRemoveWorks", Fixture) +TEST_F(DocumentInverterTest, require_that_mix_of_add_and_remove_works) { - f._inv.getInverter(0)->remove("a", 11); - f._inv.getInverter(0)->remove("c", 9); - f._inv.getInverter(0)->remove("d", 10); - f._inv.getInverter(0)->remove("z", 12); - f._inv.invertDocument(10, *makeDoc10(f._b)); - f.pushDocuments(); - EXPECT_EQUAL("f=0,w=a,a=10,r=11," - "w=b,a=10," - "w=c,r=9,a=10," - "w=d,r=10,a=10," - "w=z,r=12", - f._inserter.toStr()); + _inv.getInverter(0)->remove("a", 11); + _inv.getInverter(0)->remove("c", 9); + _inv.getInverter(0)->remove("d", 10); + _inv.getInverter(0)->remove("z", 12); + _inv.invertDocument(10, *makeDoc10(_b)); + pushDocuments(); + EXPECT_EQ("f=0,w=a,a=10,r=11," + "w=b,a=10," + "w=c,r=9,a=10," + "w=d,r=10,a=10," + "w=z,r=12", + _inserter.toStr()); } - -TEST_F("require that empty document can be inverted", Fixture) +TEST_F(DocumentInverterTest, require_that_empty_document_can_be_inverted) { - f._inv.invertDocument(15, *makeDoc15(f._b)); - f.pushDocuments(); - EXPECT_EQUAL("", - f._inserter.toStr()); + _inv.invertDocument(15, *makeDoc15(_b)); + pushDocuments(); + EXPECT_EQ("", + _inserter.toStr()); } +} +} -} // namespace memoryindex -} // namespace search - -TEST_MAIN() { TEST_RUN_ALL(); } +GTEST_MAIN_RUN_ALL_TESTS() |