aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/index
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-05-31 15:28:15 +0200
committerTor Egge <Tor.Egge@broadpark.no>2019-05-31 15:28:15 +0200
commitf7b0a4a774f0e0e8ad58862e729c91609803fc09 (patch)
tree61596612a24dca136bf97f47d2f239840bf4a10e /searchlib/src/tests/index
parent7193310dae6598730c6d27ad2cd4230df35a2445 (diff)
Add support for specifying max number of samples in field length calculator
constructor.
Diffstat (limited to 'searchlib/src/tests/index')
-rw-r--r--searchlib/src/tests/index/field_length_calculator/field_length_calculator_test.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/searchlib/src/tests/index/field_length_calculator/field_length_calculator_test.cpp b/searchlib/src/tests/index/field_length_calculator/field_length_calculator_test.cpp
index f61a7f103fa..c99d241cbc0 100644
--- a/searchlib/src/tests/index/field_length_calculator/field_length_calculator_test.cpp
+++ b/searchlib/src/tests/index/field_length_calculator/field_length_calculator_test.cpp
@@ -36,15 +36,15 @@ TEST(FieldLengthCalculatorTest, startup_is_average)
EXPECT_DOUBLE_EQ((3 + 4 + 7)/3.0, calc.get_average_field_length());
EXPECT_EQ(3, calc.get_num_samples());
calc.add_field_length(9);
- EXPECT_DOUBLE_EQ(5.75, calc.get_average_field_length());
+ EXPECT_DOUBLE_EQ((3 + 4 + 7 + 9)/4.0, calc.get_average_field_length());
EXPECT_EQ(4, calc.get_num_samples());
}
TEST(FieldLengthCalculatorTest, average_until_max_num_samples)
{
- FieldLengthCalculator calc;
+ const uint32_t max_num_samples = 5;
+ FieldLengthCalculator calc(0.0, 0, max_num_samples);
static constexpr double epsilon = 0.000000001; // Allowed difference
- const uint32_t max_num_samples = calc.get_max_num_samples();
for (uint32_t i = 0; i + 1 < max_num_samples; ++i) {
calc.add_field_length(i + 1);
}
@@ -59,7 +59,7 @@ TEST(FieldLengthCalculatorTest, average_until_max_num_samples)
// No longer arithmetic average
EXPECT_LT(arith_avg(max_num_samples + 1), calc.get_average_field_length());
// Switched to exponential decay
- EXPECT_NEAR((arith_avg(max_num_samples) * (max_num_samples - 1) + max_num_samples + 1) / max_num_samples, calc.get_average_field_length(), 0.000000001);
+ EXPECT_NEAR((arith_avg(max_num_samples) * (max_num_samples - 1) + max_num_samples + 1) / max_num_samples, calc.get_average_field_length(), epsilon);
EXPECT_EQ(max_num_samples, calc.get_num_samples());
}