PIVX Core  5.6.99
P2P Digital Currency
timedata_tests.cpp
Go to the documentation of this file.
1 // Copyright (c) 2011-2014 The Bitcoin Core developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #include "timedata.h"
6 #include "test/test_pivx.h"
7 
8 #include <boost/test/unit_test.hpp>
9 
10 
12 
13 BOOST_AUTO_TEST_CASE(util_MedianFilter)
14 {
15  CMedianFilter<int> filter(5, 15);
16 
17  BOOST_CHECK_EQUAL(filter.median(), 15);
18 
19  filter.input(20); // [15 20]
20  BOOST_CHECK_EQUAL(filter.median(), 17);
21 
22  filter.input(30); // [15 20 30]
23  BOOST_CHECK_EQUAL(filter.median(), 20);
24 
25  filter.input(3); // [3 15 20 30]
26  BOOST_CHECK_EQUAL(filter.median(), 17);
27 
28  filter.input(7); // [3 7 15 20 30]
29  BOOST_CHECK_EQUAL(filter.median(), 15);
30 
31  filter.input(18); // [3 7 18 20 30]
32  BOOST_CHECK_EQUAL(filter.median(), 18);
33 
34  filter.input(0); // [0 3 7 18 30]
35  BOOST_CHECK_EQUAL(filter.median(), 7);
36 }
37 
Median filter over a stream of values.
Definition: timedata.h:22
T median() const
Definition: timedata.h:48
void input(T value)
Definition: timedata.h:36
BOOST_AUTO_TEST_SUITE_END()
#define BOOST_FIXTURE_TEST_SUITE(a, b)
Definition: object.cpp:14
#define BOOST_CHECK_EQUAL(v1, v2)
Definition: object.cpp:18
Basic testing setup.
Definition: test_pivx.h:51
BOOST_AUTO_TEST_CASE(util_MedianFilter)