summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-05-15 15:09:05 +0200
committerTor Egge <Tor.Egge@broadpark.no>2020-05-15 15:09:05 +0200
commite65f5cc1f099a339be26ee9b7de98f29dc32b85b (patch)
tree6df2c3b0d4f3b3e0daebcb407d89480881bc055a /searchlib
parenta5b49bb9f29cd9724cc538b128901e3b698533f8 (diff)
Rewrite term match data merger test to use gtest.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/fef/termmatchdatamerger/CMakeLists.txt2
-rw-r--r--searchlib/src/tests/fef/termmatchdatamerger/termmatchdatamerger_test.cpp159
2 files changed, 66 insertions, 95 deletions
diff --git a/searchlib/src/tests/fef/termmatchdatamerger/CMakeLists.txt b/searchlib/src/tests/fef/termmatchdatamerger/CMakeLists.txt
index 4eb00cacf38..d01b3f84436 100644
--- a/searchlib/src/tests/fef/termmatchdatamerger/CMakeLists.txt
+++ b/searchlib/src/tests/fef/termmatchdatamerger/CMakeLists.txt
@@ -1,8 +1,10 @@
# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+find_package(GTest REQUIRED)
vespa_add_executable(searchlib_termmatchdatamerger_test_app TEST
SOURCES
termmatchdatamerger_test.cpp
DEPENDS
searchlib
+ GTest::GTest
)
vespa_add_test(NAME searchlib_termmatchdatamerger_test_app COMMAND searchlib_termmatchdatamerger_test_app)
diff --git a/searchlib/src/tests/fef/termmatchdatamerger/termmatchdatamerger_test.cpp b/searchlib/src/tests/fef/termmatchdatamerger/termmatchdatamerger_test.cpp
index a8670f43a6b..51b788a0fe5 100644
--- a/searchlib/src/tests/fef/termmatchdatamerger/termmatchdatamerger_test.cpp
+++ b/searchlib/src/tests/fef/termmatchdatamerger/termmatchdatamerger_test.cpp
@@ -1,11 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/log/log.h>
-LOG_SETUP("termmatchdatamerger_test");
-#include <vespa/vespalib/testkit/testapp.h>
-
#include <vespa/searchlib/fef/termfieldmatchdata.h>
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
#include <vespa/searchlib/fef/termmatchdatamerger.h>
+#include <vespa/vespalib/gtest/gtest.h>
using namespace search::fef;
@@ -21,19 +18,7 @@ TermFieldMatchDataPosition make_pos(uint32_t pos)
} // namespace <unnamed>
-class Test : public vespalib::TestApp
-{
-public:
- void testMergeEmptyInput();
- void testMergeSimple();
- void testMergeMultifield();
- void testMergeDuplicates();
- void testMergeFieldLength();
- int Main() override;
-};
-
-void
-Test::testMergeEmptyInput()
+TEST(TermMatchDataMergerTest, merge_empty_input)
{
TermFieldMatchData out;
TermFieldMatchDataArray output;
@@ -48,12 +33,11 @@ Test::testMergeEmptyInput()
uint32_t docid = 5;
in.reset(docid);
merger.merge(docid);
- EXPECT_EQUAL(docid, out.getDocId());
+ EXPECT_EQ(docid, out.getDocId());
EXPECT_TRUE(out.begin() == out.end());
}
-void
-Test::testMergeSimple()
+TEST(TermMatchDataMergerTest, merge_simple)
{
TermFieldMatchData a;
TermFieldMatchData b;
@@ -86,26 +70,26 @@ Test::testMergeSimple()
merger.merge(docid);
- EXPECT_EQUAL(docid, out.getDocId());
- EXPECT_EQUAL(8u, out.end() - out.begin());
-
- EXPECT_EQUAL( 5u, out.begin()[0].getPosition());
- EXPECT_EQUAL( 7u, out.begin()[1].getPosition());
- EXPECT_EQUAL(10u, out.begin()[2].getPosition());
- EXPECT_EQUAL(15u, out.begin()[3].getPosition());
- EXPECT_EQUAL(20u, out.begin()[4].getPosition());
- EXPECT_EQUAL(22u, out.begin()[5].getPosition());
- EXPECT_EQUAL(27u, out.begin()[6].getPosition());
- EXPECT_EQUAL(28u, out.begin()[7].getPosition());
-
- EXPECT_EQUAL(0.25, out.begin()[0].getMatchExactness());
- EXPECT_EQUAL( 0.5, out.begin()[1].getMatchExactness());
- EXPECT_EQUAL( 1.5, out.begin()[2].getMatchExactness());
- EXPECT_EQUAL( 1.0, out.begin()[3].getMatchExactness());
- EXPECT_EQUAL( 4.0, out.begin()[4].getMatchExactness());
- EXPECT_EQUAL(0.75, out.begin()[5].getMatchExactness());
- EXPECT_EQUAL( 3.0, out.begin()[6].getMatchExactness());
- EXPECT_EQUAL( 7.5, out.begin()[7].getMatchExactness());
+ EXPECT_EQ(docid, out.getDocId());
+ EXPECT_EQ(8u, out.end() - out.begin());
+
+ EXPECT_EQ( 5u, out.begin()[0].getPosition());
+ EXPECT_EQ( 7u, out.begin()[1].getPosition());
+ EXPECT_EQ(10u, out.begin()[2].getPosition());
+ EXPECT_EQ(15u, out.begin()[3].getPosition());
+ EXPECT_EQ(20u, out.begin()[4].getPosition());
+ EXPECT_EQ(22u, out.begin()[5].getPosition());
+ EXPECT_EQ(27u, out.begin()[6].getPosition());
+ EXPECT_EQ(28u, out.begin()[7].getPosition());
+
+ EXPECT_EQ(0.25, out.begin()[0].getMatchExactness());
+ EXPECT_EQ( 0.5, out.begin()[1].getMatchExactness());
+ EXPECT_EQ( 1.5, out.begin()[2].getMatchExactness());
+ EXPECT_EQ( 1.0, out.begin()[3].getMatchExactness());
+ EXPECT_EQ( 4.0, out.begin()[4].getMatchExactness());
+ EXPECT_EQ(0.75, out.begin()[5].getMatchExactness());
+ EXPECT_EQ( 3.0, out.begin()[6].getMatchExactness());
+ EXPECT_EQ( 7.5, out.begin()[7].getMatchExactness());
// one stale input
@@ -117,24 +101,22 @@ Test::testMergeSimple()
merger.merge(docid);
- EXPECT_EQUAL(docid, out.getDocId());
- EXPECT_EQUAL(3u, out.end() - out.begin());
+ EXPECT_EQ(docid, out.getDocId());
+ EXPECT_EQ(3u, out.end() - out.begin());
- EXPECT_EQUAL( 5u, out.begin()[0].getPosition());
- EXPECT_EQUAL(10u, out.begin()[1].getPosition());
- EXPECT_EQUAL(15u, out.begin()[2].getPosition());
+ EXPECT_EQ( 5u, out.begin()[0].getPosition());
+ EXPECT_EQ(10u, out.begin()[1].getPosition());
+ EXPECT_EQ(15u, out.begin()[2].getPosition());
// both inputs are stale
docid = 15;
merger.merge(docid);
- EXPECT_NOT_EQUAL(docid, out.getDocId());
+ EXPECT_NE(docid, out.getDocId());
}
-
-void
-Test::testMergeMultifield()
+TEST(TermMatchDataMergerTest, merge_multiple_fields)
{
TermFieldMatchData a;
TermFieldMatchData b;
@@ -174,30 +156,29 @@ Test::testMergeMultifield()
merger.merge(docid);
- EXPECT_EQUAL(docid, out1.getDocId());
- EXPECT_EQUAL(docid, out2.getDocId());
- EXPECT_NOT_EQUAL(docid, out3.getDocId());
+ EXPECT_EQ(docid, out1.getDocId());
+ EXPECT_EQ(docid, out2.getDocId());
+ EXPECT_NE(docid, out3.getDocId());
- EXPECT_EQUAL(2u, out1.end() - out1.begin());
- EXPECT_EQUAL(3u, out2.end() - out2.begin());
+ EXPECT_EQ(2u, out1.end() - out1.begin());
+ EXPECT_EQ(3u, out2.end() - out2.begin());
- EXPECT_EQUAL( 5u, out1.begin()[0].getPosition());
- EXPECT_EQUAL(15u, out1.begin()[1].getPosition());
+ EXPECT_EQ( 5u, out1.begin()[0].getPosition());
+ EXPECT_EQ(15u, out1.begin()[1].getPosition());
- EXPECT_EQUAL( 5u, out2.begin()[0].getPosition());
- EXPECT_EQUAL( 7u, out2.begin()[1].getPosition());
- EXPECT_EQUAL(20u, out2.begin()[2].getPosition());
+ EXPECT_EQ( 5u, out2.begin()[0].getPosition());
+ EXPECT_EQ( 7u, out2.begin()[1].getPosition());
+ EXPECT_EQ(20u, out2.begin()[2].getPosition());
- EXPECT_EQUAL(1.0, out1.begin()[0].getMatchExactness());
- EXPECT_EQUAL(1.0, out1.begin()[1].getMatchExactness());
+ EXPECT_EQ(1.0, out1.begin()[0].getMatchExactness());
+ EXPECT_EQ(1.0, out1.begin()[1].getMatchExactness());
- EXPECT_EQUAL(1.5, out2.begin()[0].getMatchExactness());
- EXPECT_EQUAL(0.5, out2.begin()[1].getMatchExactness());
- EXPECT_EQUAL(1.5, out2.begin()[2].getMatchExactness());
+ EXPECT_EQ(1.5, out2.begin()[0].getMatchExactness());
+ EXPECT_EQ(0.5, out2.begin()[1].getMatchExactness());
+ EXPECT_EQ(1.5, out2.begin()[2].getMatchExactness());
}
-void
-Test::testMergeDuplicates()
+TEST(TermMatchDataMergerTest, merge_duplicates)
{
TermFieldMatchData a;
TermFieldMatchData b;
@@ -225,23 +206,22 @@ Test::testMergeDuplicates()
merger.merge(docid);
- EXPECT_EQUAL(docid, out.getDocId());
- EXPECT_EQUAL(5u, out.end() - out.begin());
-
- EXPECT_EQUAL( 3u, out.begin()[0].getPosition());
- EXPECT_EQUAL(1.5, out.begin()[0].getMatchExactness());
- EXPECT_EQUAL( 5u, out.begin()[1].getPosition());
- EXPECT_EQUAL(0.5, out.begin()[1].getMatchExactness());
- EXPECT_EQUAL(10u, out.begin()[2].getPosition());
- EXPECT_EQUAL(1.5, out.begin()[2].getMatchExactness());
- EXPECT_EQUAL(15u, out.begin()[3].getPosition());
- EXPECT_EQUAL(1.5, out.begin()[3].getMatchExactness());
- EXPECT_EQUAL(17u, out.begin()[4].getPosition());
- EXPECT_EQUAL(1.5, out.begin()[4].getMatchExactness());
+ EXPECT_EQ(docid, out.getDocId());
+ EXPECT_EQ(5u, out.end() - out.begin());
+
+ EXPECT_EQ( 3u, out.begin()[0].getPosition());
+ EXPECT_EQ(1.5, out.begin()[0].getMatchExactness());
+ EXPECT_EQ( 5u, out.begin()[1].getPosition());
+ EXPECT_EQ(0.5, out.begin()[1].getMatchExactness());
+ EXPECT_EQ(10u, out.begin()[2].getPosition());
+ EXPECT_EQ(1.5, out.begin()[2].getMatchExactness());
+ EXPECT_EQ(15u, out.begin()[3].getPosition());
+ EXPECT_EQ(1.5, out.begin()[3].getMatchExactness());
+ EXPECT_EQ(17u, out.begin()[4].getPosition());
+ EXPECT_EQ(1.5, out.begin()[4].getMatchExactness());
}
-void
-Test::testMergeFieldLength()
+TEST(TermMatchDataMergerTest, merge_max_element_length)
{
TermFieldMatchData a;
TermFieldMatchData b;
@@ -261,20 +241,9 @@ Test::testMergeFieldLength()
b.appendPosition(make_pos(2));
merger.merge(docid);
- EXPECT_EQUAL(docid, out.getDocId());
- EXPECT_EQUAL(1000u, out.getIterator().getFieldLength());
+ EXPECT_EQ(docid, out.getDocId());
+ EXPECT_EQ(1000u, out.getIterator().getFieldLength());
}
-int
-Test::Main()
-{
- TEST_INIT("termmatchdatamerger_test");
- testMergeEmptyInput();
- testMergeSimple();
- testMergeMultifield();
- testMergeDuplicates();
- testMergeFieldLength();
- TEST_DONE();
-}
-TEST_APPHOOK(Test);
+GTEST_MAIN_RUN_ALL_TESTS()