summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp')
-rw-r--r--searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp b/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
index 217e994980b..41db91035ed 100644
--- a/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
+++ b/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
@@ -16,18 +16,25 @@ TEST("requireThatEmpyStateReturnsRowZero")
TEST("requireThatDecayWorks")
{
+ constexpr double SMALL = 0.000001;
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_EQUAL(1.001, s.getRowState(0).getAverageSearchTime());
+ EXPECT_APPROX(1.5, s.getRowState(0).getAverageSearchTime(), SMALL);
s.updateSearchTime(2.0, 0);
- EXPECT_APPROX(1.002, s.getRowState(0).getAverageSearchTime(), 0.0001);
+ EXPECT_APPROX(1.666667, 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.998396, s.getRowState(0).getAverageSearchTime(), 0.000001);
+ EXPECT_APPROX(0.771429, 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);
}
TEST("requireWeightedSelectionWorks")