diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2019-01-09 14:22:24 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2019-01-09 14:22:24 +0000 |
commit | 97dabeae20fe08e2d0513d654a912ff8f8e72635 (patch) | |
tree | 48fd9f1214e9e718bd43b5bddf1d34aa1d4c6924 /searchlib | |
parent | 645c633d60fc056f058f9b68fe3fb517537b4606 (diff) |
add test
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp index e689e613886..ca9e331bb62 100644 --- a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp +++ b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp @@ -286,4 +286,32 @@ TEST("require that MatchData soft_reset retains appropriate state") { EXPECT_EQUAL(new_term->getDocId(), TermFieldMatchData::invalidId()); } +TEST("require that compareWithExactness implements a strict weak ordering") { + TermFieldMatchDataPosition a(0, 1, 100, 1); + TermFieldMatchDataPosition b(0, 2, 100, 1); + TermFieldMatchDataPosition c(0, 2, 100, 1); + TermFieldMatchDataPosition d(0, 3, 100, 3); + TermFieldMatchDataPosition e(0, 3, 100, 3); + TermFieldMatchDataPosition f(0, 4, 100, 1); + + d.setMatchExactness(0.75); + e.setMatchExactness(0.5); + + bool (*cmp)(const TermFieldMatchDataPosition &a, + const TermFieldMatchDataPosition &b) = TermFieldMatchDataPosition::compareWithExactness; + + EXPECT_EQUAL(true, cmp(a, b)); + EXPECT_EQUAL(false, cmp(b, c)); + EXPECT_EQUAL(true, cmp(c, d)); + EXPECT_EQUAL(true, cmp(d, e)); + EXPECT_EQUAL(true, cmp(e, f)); + + EXPECT_EQUAL(false, cmp(b, a)); + EXPECT_EQUAL(false, cmp(c, b)); + EXPECT_EQUAL(false, cmp(d, c)); + EXPECT_EQUAL(false, cmp(e, d)); + EXPECT_EQUAL(false, cmp(f, e)); +} + + TEST_MAIN() { TEST_RUN_ALL(); } |