summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/fdispatch/randomrow
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/fdispatch/randomrow')
-rw-r--r--searchcore/src/tests/fdispatch/randomrow/.gitignore1
-rw-r--r--searchcore/src/tests/fdispatch/randomrow/CMakeLists.txt10
-rw-r--r--searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp99
3 files changed, 0 insertions, 110 deletions
diff --git a/searchcore/src/tests/fdispatch/randomrow/.gitignore b/searchcore/src/tests/fdispatch/randomrow/.gitignore
deleted file mode 100644
index bfe075b287a..00000000000
--- a/searchcore/src/tests/fdispatch/randomrow/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-searchcore_randomrow_test_app
diff --git a/searchcore/src/tests/fdispatch/randomrow/CMakeLists.txt b/searchcore/src/tests/fdispatch/randomrow/CMakeLists.txt
deleted file mode 100644
index 2b05af6a2f6..00000000000
--- a/searchcore/src/tests/fdispatch/randomrow/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(searchcore_randomrow_test_app TEST
- SOURCES
- randomrow_test.cpp
- DEPENDS
- searchcore_fdispatch_search
- searchcore_util
- searchcore_fdcommon
-)
-vespa_add_test(NAME searchcore_randomrow_test_app COMMAND searchcore_randomrow_test_app)
diff --git a/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp b/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
deleted file mode 100644
index c6791436bff..00000000000
--- a/searchcore/src/tests/fdispatch/randomrow/randomrow_test.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/log/log.h>
-LOG_SETUP("randomrow_test");
-#include <vespa/vespalib/testkit/testapp.h>
-
-#include <vespa/searchcore/fdispatch/search/plain_dataset.h>
-
-using fdispatch::StateOfRows;
-
-TEST("requireThatEmpyStateReturnsRowZero")
-{
- StateOfRows s(1, 1.0, 1000);
- EXPECT_EQUAL(0u, s.getRandomWeightedRow());
- EXPECT_EQUAL(1.0, s.getRowState(0).getAverageSearchTime());
-}
-
-TEST("requireThatDecayWorks")
-{
- 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.02326, s.getRowState(0).getAverageSearchTime(), SMALL);
- s.updateSearchTime(2.0, 0);
- 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.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")
-{
- StateOfRows s(5, 1.0, 1000);
- EXPECT_EQUAL(0u, s.getWeightedNode(-0.1));
- EXPECT_EQUAL(0u, s.getWeightedNode(0.0));
- EXPECT_EQUAL(0u, s.getWeightedNode(0.1));
- EXPECT_EQUAL(1u, s.getWeightedNode(0.2));
- EXPECT_EQUAL(1u, s.getWeightedNode(0.39));
- EXPECT_EQUAL(2u, s.getWeightedNode(0.4));
- EXPECT_EQUAL(3u, s.getWeightedNode(0.6));
- EXPECT_EQUAL(4u, s.getWeightedNode(0.8));
- EXPECT_EQUAL(4u, s.getWeightedNode(2.0));
-}
-
-TEST("requireWeightedSelectionWorksFineWithDifferentWeights")
-{
- StateOfRows s(5, 1.0, 1000);
- s.getRowState(0).setAverageSearchTime(0.1);
- s.getRowState(1).setAverageSearchTime(0.2);
- s.getRowState(2).setAverageSearchTime(0.3);
- s.getRowState(3).setAverageSearchTime(0.4);
- s.getRowState(4).setAverageSearchTime(0.5);
- EXPECT_EQUAL(0.1, s.getRowState(0).getAverageSearchTime());
- EXPECT_EQUAL(0.2, s.getRowState(1).getAverageSearchTime());
- EXPECT_EQUAL(0.3, s.getRowState(2).getAverageSearchTime());
- EXPECT_EQUAL(0.4, s.getRowState(3).getAverageSearchTime());
- EXPECT_EQUAL(0.5, s.getRowState(4).getAverageSearchTime());
- EXPECT_EQUAL(0u, s.getWeightedNode(-0.1));
- EXPECT_EQUAL(0u, s.getWeightedNode(0.0));
- EXPECT_EQUAL(0u, s.getWeightedNode(0.4379));
- EXPECT_EQUAL(1u, s.getWeightedNode(0.4380));
- EXPECT_EQUAL(1u, s.getWeightedNode(0.6569));
- EXPECT_EQUAL(2u, s.getWeightedNode(0.6570));
- EXPECT_EQUAL(2u, s.getWeightedNode(0.8029));
- EXPECT_EQUAL(3u, s.getWeightedNode(0.8030));
- EXPECT_EQUAL(3u, s.getWeightedNode(0.9124));
- EXPECT_EQUAL(4u, s.getWeightedNode(0.9125));
- EXPECT_EQUAL(4u, s.getWeightedNode(2.0));
-}
-
-TEST("require randomness")
-{
- StateOfRows s(3, 1.0, 1000);
- s.getRowState(0).setAverageSearchTime(1.0);
- s.getRowState(1).setAverageSearchTime(1.0);
- s.getRowState(2).setAverageSearchTime(1.0);
- size_t counts[3] = {0,0,0};
- for (size_t i(0); i < 1000; i++) {
- counts[s.getRandomWeightedRow()]++;
- }
- EXPECT_EQUAL(322ul, counts[0]);
- EXPECT_EQUAL(345ul, counts[1]);
- EXPECT_EQUAL(333ul, counts[2]);
-}
-
-TEST_MAIN() { TEST_RUN_ALL(); }