diff options
Diffstat (limited to 'container-search/src/test/java/com/yahoo')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java index ad281aeda7d..840edd3a419 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterTest.java @@ -27,6 +27,7 @@ import static org.junit.Assert.assertTrue; * @author baldersheim */ public class SearchClusterTest { + private static final double EPSILON = 0.00000000001; static class State implements AutoCloseable{ @@ -334,4 +335,15 @@ public class SearchClusterTest { assertEquals(3, node.getLastReceivedPongId()); } + @Test + public void requireHitsAreEstimatedAccordingToPartitionsAndProbability() { + SearchCluster.TopKEstimator estimator = new SearchCluster.TopKEstimator(30, 0.999); + assertEquals(91.97368471911312, estimator.estimateExactK(200, 3), EPSILON); + assertEquals(92, estimator.estimateK(200, 3)); + assertEquals(37.96328109101396, estimator.estimateExactK(200, 10), EPSILON); + assertEquals(38, estimator.estimateK(200, 10)); + assertEquals(23.815737601023095, estimator.estimateExactK(200, 20), EPSILON); + assertEquals(24, estimator.estimateK(200, 20)); + } + } |