summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/fdispatch/randomrow
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-11-29 14:21:00 +0100
committerHenning Baldersheim <balder@oath.com>2018-11-29 14:21:00 +0100
commit7eab757f92fa688b4560b4eb085c0a5fb624c5ea (patch)
treeccae2e6c09f816fb76a4f8a032abf8f8d6e9b3c3 /searchcore/src/tests/fdispatch/randomrow
parentc1fc295f963cf7e9a117dac9d0dabf7151ec0c1b (diff)
Prevent bad effects of zero search time.
Diffstat (limited to 'searchcore/src/tests/fdispatch/randomrow')
-rw-r--r--searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp b/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
index 41db91035ed..c6791436bff 100644
--- a/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
+++ b/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
@@ -16,25 +16,29 @@ TEST("requireThatEmpyStateReturnsRowZero")
TEST("requireThatDecayWorks")
{
- constexpr double SMALL = 0.000001;
+ constexpr double SMALL = 0.00001;
StateOfRows s(1, 1.0, 1000);
s.updateSearchTime(1.0, 0);
EXPECT_EQUAL(1.0, s.getRowState(0).getAverageSearchTime());
s.updateSearchTime(2.0, 0);
- EXPECT_APPROX(1.5, s.getRowState(0).getAverageSearchTime(), SMALL);
+ EXPECT_APPROX(1.02326, s.getRowState(0).getAverageSearchTime(), SMALL);
s.updateSearchTime(2.0, 0);
- EXPECT_APPROX(1.666667, s.getRowState(0).getAverageSearchTime(), SMALL);
+ EXPECT_APPROX(1.04545, s.getRowState(0).getAverageSearchTime(), SMALL);
s.updateSearchTime(0.1, 0);
s.updateSearchTime(0.1, 0);
s.updateSearchTime(0.1, 0);
s.updateSearchTime(0.1, 0);
- EXPECT_APPROX(0.771429, s.getRowState(0).getAverageSearchTime(), SMALL);
+ EXPECT_APPROX(0.966667, s.getRowState(0).getAverageSearchTime(), SMALL);
for (size_t i(0); i < 10000; i++) {
s.updateSearchTime(1.0, 0);
}
EXPECT_APPROX(1.0, s.getRowState(0).getAverageSearchTime(), SMALL);
s.updateSearchTime(0.1, 0);
EXPECT_APPROX(0.9991, s.getRowState(0).getAverageSearchTime(), SMALL);
+ for (size_t i(0); i < 10000; i++) {
+ s.updateSearchTime(0.0, 0);
+ }
+ EXPECT_APPROX(0.001045, s.getRowState(0).getAverageSearchTime(), SMALL);
}
TEST("requireWeightedSelectionWorks")