aboutsummaryrefslogtreecommitdiff
path: root/src/test/timedata_tests.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-08-20 13:53:42 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2014-08-26 13:25:20 +0200
commitd1e26d4e71460ffd50c3190385c759b48ab343e9 (patch)
treea2455079d68500e91c4c2cd70a0b4df8946b7193 /src/test/timedata_tests.cpp
parent49f954f154e3576a6a8270e00ab95f52dd02c667 (diff)
downloadbitcoin-d1e26d4e71460ffd50c3190385c759b48ab343e9.tar.xz
Move CMedianFilter to timedata.cpp
Now that we no longer use the median filter to keep track of the number of blocks of peers, that's the only place it is used.
Diffstat (limited to 'src/test/timedata_tests.cpp')
-rw-r--r--src/test/timedata_tests.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/timedata_tests.cpp b/src/test/timedata_tests.cpp
new file mode 100644
index 0000000000..aa4fa0d500
--- /dev/null
+++ b/src/test/timedata_tests.cpp
@@ -0,0 +1,38 @@
+// Copyright (c) 2011-2014 The Bitcoin Core developers
+// Distributed under the MIT/X11 software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+//
+#include "timedata.h"
+
+#include <boost/test/unit_test.hpp>
+
+using namespace std;
+
+BOOST_AUTO_TEST_SUITE(timedata_tests)
+
+BOOST_AUTO_TEST_CASE(util_MedianFilter)
+{
+ CMedianFilter<int> filter(5, 15);
+
+ BOOST_CHECK_EQUAL(filter.median(), 15);
+
+ filter.input(20); // [15 20]
+ BOOST_CHECK_EQUAL(filter.median(), 17);
+
+ filter.input(30); // [15 20 30]
+ BOOST_CHECK_EQUAL(filter.median(), 20);
+
+ filter.input(3); // [3 15 20 30]
+ BOOST_CHECK_EQUAL(filter.median(), 17);
+
+ filter.input(7); // [3 7 15 20 30]
+ BOOST_CHECK_EQUAL(filter.median(), 15);
+
+ filter.input(18); // [3 7 18 20 30]
+ BOOST_CHECK_EQUAL(filter.median(), 18);
+
+ filter.input(0); // [0 3 7 18 30]
+ BOOST_CHECK_EQUAL(filter.median(), 7);
+}
+
+BOOST_AUTO_TEST_SUITE_END()