diff options
author | Henning Baldersheim <balder@oath.com> | 2018-11-29 14:21:00 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@oath.com> | 2018-11-29 14:21:00 +0100 |
commit | 7eab757f92fa688b4560b4eb085c0a5fb624c5ea (patch) | |
tree | ccae2e6c09f816fb76a4f8a032abf8f8d6e9b3c3 /searchcore/src/tests/fdispatch/randomrow | |
parent | c1fc295f963cf7e9a117dac9d0dabf7151ec0c1b (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.cpp | 12 |
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") |