1 // Copyright (c) 2011-2015 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 #include <test/test_bitcoin.h>
8 #include <boost/test/unit_test.hpp>
10 BOOST_FIXTURE_TEST_SUITE(timedata_tests
, BasicTestingSetup
)
12 BOOST_AUTO_TEST_CASE(util_MedianFilter
)
14 CMedianFilter
<int> filter(5, 15);
16 BOOST_CHECK_EQUAL(filter
.median(), 15);
18 filter
.input(20); // [15 20]
19 BOOST_CHECK_EQUAL(filter
.median(), 17);
21 filter
.input(30); // [15 20 30]
22 BOOST_CHECK_EQUAL(filter
.median(), 20);
24 filter
.input(3); // [3 15 20 30]
25 BOOST_CHECK_EQUAL(filter
.median(), 17);
27 filter
.input(7); // [3 7 15 20 30]
28 BOOST_CHECK_EQUAL(filter
.median(), 15);
30 filter
.input(18); // [3 7 18 20 30]
31 BOOST_CHECK_EQUAL(filter
.median(), 18);
33 filter
.input(0); // [0 3 7 18 30]
34 BOOST_CHECK_EQUAL(filter
.median(), 7);
37 BOOST_AUTO_TEST_SUITE_END()