summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/matching
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-07-18 15:43:32 +0200
committerHenning Baldersheim <balder@oath.com>2018-07-18 15:43:32 +0200
commit428829739f3d009a072045a462a8cea471f56eb5 (patch)
treea150f24b552c604f3f8d3ff2260db92f1ef2380d /searchcore/src/tests/proton/matching
parent2768ed6a3061c2c2c6d2ae8ec9821941c7f65422 (diff)
Extend test and fix typos.
Diffstat (limited to 'searchcore/src/tests/proton/matching')
-rw-r--r--searchcore/src/tests/proton/matching/matching_stats_test.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/searchcore/src/tests/proton/matching/matching_stats_test.cpp b/searchcore/src/tests/proton/matching/matching_stats_test.cpp
index 78a53fb668d..e467c4b58b7 100644
--- a/searchcore/src/tests/proton/matching/matching_stats_test.cpp
+++ b/searchcore/src/tests/proton/matching/matching_stats_test.cpp
@@ -254,7 +254,7 @@ TEST("requireThatSoftDoomIsSetAndAdded") {
EXPECT_EQUAL(0.5, stats2.softDoomFactor()); // Not affected by add
}
-TEST("requireThatSoftDoomFacorIsComputedCorrectly") {
+TEST("requireThatSoftDoomFacorIsComputedCorrectlyForDownAdjustment") {
MatchingStats stats;
EXPECT_EQUAL(0ul, stats.softDoomed());
EXPECT_EQUAL(0.5, stats.softDoomFactor());
@@ -274,7 +274,29 @@ TEST("requireThatSoftDoomFacorIsComputedCorrectly") {
stats.updatesoftDoomFactor(1.0, 0.5, 10.0); // Prevent changes above 10%
EXPECT_EQUAL(1ul, stats.softDoomed());
EXPECT_EQUAL(0.396, stats.softDoomFactor());
+}
+TEST("requireThatSoftDoomFacorIsComputedCorrectlyForUpAdjustment") {
+ MatchingStats stats;
+ EXPECT_EQUAL(0ul, stats.softDoomed());
+ EXPECT_EQUAL(0.5, stats.softDoomFactor());
+ stats.softDoomed(1);
+ stats.updatesoftDoomFactor(1.0, 0.9, 0.1);
+ EXPECT_EQUAL(1ul, stats.softDoomed());
+ EXPECT_EQUAL(0.508, stats.softDoomFactor());
+ stats.updatesoftDoomFactor(1.0, 0.9, 0.1);
+ EXPECT_EQUAL(1ul, stats.softDoomed());
+ EXPECT_EQUAL(0.516, stats.softDoomFactor());
+ stats.updatesoftDoomFactor(0.0009, 0.9, 0.1); // hard limits less than 1ms should be ignored
+ EXPECT_EQUAL(1ul, stats.softDoomed());
+ EXPECT_EQUAL(0.516, stats.softDoomFactor());
+ stats.updatesoftDoomFactor(1.0, 0.9, 0.1); // soft limits less than 1ms should be ignored
+ EXPECT_EQUAL(1ul, stats.softDoomed());
+ EXPECT_EQUAL(0.524, stats.softDoomFactor());
+ stats.softDoomFactor(0.1);
+ stats.updatesoftDoomFactor(1.0, 0.9, 0.001); // Prevent changes above 5%
+ EXPECT_EQUAL(1ul, stats.softDoomed());
+ EXPECT_EQUAL(0.105, stats.softDoomFactor());
}
TEST_MAIN() {