comparison tests/TestMedianFilter.cpp @ 476:2de6184b2ce0

Untabify
author Chris Cannam <cannam@all-day-breakfast.com>
date Thu, 30 May 2019 18:30:58 +0100
parents f898c901c055
children
comparison
equal deleted inserted replaced
475:64fc3009d0a3 476:2de6184b2ce0
16 { 16 {
17 // A median filter of size N always retains a pool of N elements, 17 // A median filter of size N always retains a pool of N elements,
18 // which start out all-zero. So the output median will remain zero 18 // which start out all-zero. So the output median will remain zero
19 // until N/2 elements have been pushed. 19 // until N/2 elements have been pushed.
20 MedianFilter<double> f(3); 20 MedianFilter<double> f(3);
21 f.push(1); // 0 0 1 21 f.push(1); // 0 0 1
22 BOOST_CHECK_EQUAL(f.get(), 0); 22 BOOST_CHECK_EQUAL(f.get(), 0);
23 BOOST_CHECK_EQUAL(f.get(), 0); 23 BOOST_CHECK_EQUAL(f.get(), 0);
24 f.push(-3); // 0 1 -3 24 f.push(-3); // 0 1 -3
25 BOOST_CHECK_EQUAL(f.get(), 0); 25 BOOST_CHECK_EQUAL(f.get(), 0);
26 f.push(5); // 1 -3 5 26 f.push(5); // 1 -3 5
27 BOOST_CHECK_EQUAL(f.get(), 1); 27 BOOST_CHECK_EQUAL(f.get(), 1);
28 f.push(7); // -3 5 7 28 f.push(7); // -3 5 7
29 BOOST_CHECK_EQUAL(f.get(), 5); 29 BOOST_CHECK_EQUAL(f.get(), 5);
30 BOOST_CHECK_EQUAL(f.get(), 5); 30 BOOST_CHECK_EQUAL(f.get(), 5);
31 f.push(3); // 5 7 3 31 f.push(3); // 5 7 3
32 BOOST_CHECK_EQUAL(f.get(), 5); 32 BOOST_CHECK_EQUAL(f.get(), 5);
33 f.push(3); // 7 3 3 33 f.push(3); // 7 3 3
34 BOOST_CHECK_EQUAL(f.get(), 3); 34 BOOST_CHECK_EQUAL(f.get(), 3);
35 } 35 }
36 36
37 BOOST_AUTO_TEST_CASE(even) 37 BOOST_AUTO_TEST_CASE(even)
38 { 38 {
39 // Our median does not halve the difference (should it??), it just 39 // Our median does not halve the difference (should it??), it just
40 // returns the next element from the input set 40 // returns the next element from the input set
41 MedianFilter<double> f(4); 41 MedianFilter<double> f(4);
42 f.push(1); // 0 0 0 1 42 f.push(1); // 0 0 0 1
43 BOOST_CHECK_EQUAL(f.get(), 0); 43 BOOST_CHECK_EQUAL(f.get(), 0);
44 BOOST_CHECK_EQUAL(f.get(), 0); 44 BOOST_CHECK_EQUAL(f.get(), 0);
45 f.push(-3); // 0 0 1 -3 45 f.push(-3); // 0 0 1 -3
46 BOOST_CHECK_EQUAL(f.get(), 0); 46 BOOST_CHECK_EQUAL(f.get(), 0);
47 f.push(5); // 0 1 -3 5 47 f.push(5); // 0 1 -3 5
48 BOOST_CHECK_EQUAL(f.get(), 1); 48 BOOST_CHECK_EQUAL(f.get(), 1);
49 f.push(7); // 1 -3 5 7 49 f.push(7); // 1 -3 5 7
50 BOOST_CHECK_EQUAL(f.get(), 5); 50 BOOST_CHECK_EQUAL(f.get(), 5);
51 BOOST_CHECK_EQUAL(f.get(), 5); 51 BOOST_CHECK_EQUAL(f.get(), 5);
52 f.push(3); // -3 5 7 3 52 f.push(3); // -3 5 7 3
53 BOOST_CHECK_EQUAL(f.get(), 5); 53 BOOST_CHECK_EQUAL(f.get(), 5);
54 f.push(3); // 5 7 3 3 54 f.push(3); // 5 7 3 3
55 BOOST_CHECK_EQUAL(f.get(), 5); 55 BOOST_CHECK_EQUAL(f.get(), 5);
56 } 56 }
57 57
58 BOOST_AUTO_TEST_CASE(odd75) 58 BOOST_AUTO_TEST_CASE(odd75)
59 { 59 {
60 MedianFilter<double> f(5, 75.f); 60 MedianFilter<double> f(5, 75.f);
61 f.push(1); // 0 0 0 0 1 61 f.push(1); // 0 0 0 0 1
62 BOOST_CHECK_EQUAL(f.get(), 0); 62 BOOST_CHECK_EQUAL(f.get(), 0);
63 BOOST_CHECK_EQUAL(f.get(), 0); 63 BOOST_CHECK_EQUAL(f.get(), 0);
64 f.push(-3); // 0 0 0 1 -3 64 f.push(-3); // 0 0 0 1 -3
65 BOOST_CHECK_EQUAL(f.get(), 0); 65 BOOST_CHECK_EQUAL(f.get(), 0);
66 f.push(5); // 0 0 1 -3 5 66 f.push(5); // 0 0 1 -3 5
67 BOOST_CHECK_EQUAL(f.get(), 1); 67 BOOST_CHECK_EQUAL(f.get(), 1);
68 f.push(7); // 0 1 -3 5 7 68 f.push(7); // 0 1 -3 5 7
69 BOOST_CHECK_EQUAL(f.get(), 5); 69 BOOST_CHECK_EQUAL(f.get(), 5);
70 BOOST_CHECK_EQUAL(f.get(), 5); 70 BOOST_CHECK_EQUAL(f.get(), 5);
71 f.push(3); // 0 -3 5 7 3 71 f.push(3); // 0 -3 5 7 3
72 BOOST_CHECK_EQUAL(f.get(), 5); 72 BOOST_CHECK_EQUAL(f.get(), 5);
73 f.push(3); // 0 5 7 3 3 73 f.push(3); // 0 5 7 3 3
74 BOOST_CHECK_EQUAL(f.get(), 5); 74 BOOST_CHECK_EQUAL(f.get(), 5);
75 } 75 }
76 76
77 BOOST_AUTO_TEST_CASE(even75) 77 BOOST_AUTO_TEST_CASE(even75)
78 { 78 {
79 MedianFilter<double> f(4, 75.f); 79 MedianFilter<double> f(4, 75.f);
80 f.push(1); // 0 0 0 1 80 f.push(1); // 0 0 0 1
81 BOOST_CHECK_EQUAL(f.get(), 1); 81 BOOST_CHECK_EQUAL(f.get(), 1);
82 BOOST_CHECK_EQUAL(f.get(), 1); 82 BOOST_CHECK_EQUAL(f.get(), 1);
83 f.push(-3); // 0 0 1 -3 83 f.push(-3); // 0 0 1 -3
84 BOOST_CHECK_EQUAL(f.get(), 1); 84 BOOST_CHECK_EQUAL(f.get(), 1);
85 f.push(5); // 0 1 -3 5 85 f.push(5); // 0 1 -3 5
86 BOOST_CHECK_EQUAL(f.get(), 5); 86 BOOST_CHECK_EQUAL(f.get(), 5);
87 f.push(7); // 1 -3 5 7 87 f.push(7); // 1 -3 5 7
88 BOOST_CHECK_EQUAL(f.get(), 7); 88 BOOST_CHECK_EQUAL(f.get(), 7);
89 BOOST_CHECK_EQUAL(f.get(), 7); 89 BOOST_CHECK_EQUAL(f.get(), 7);
90 f.push(3); // -3 5 7 3 90 f.push(3); // -3 5 7 3
91 BOOST_CHECK_EQUAL(f.get(), 7); 91 BOOST_CHECK_EQUAL(f.get(), 7);
92 f.push(3); // 5 7 3 3 92 f.push(3); // 5 7 3 3
93 BOOST_CHECK_EQUAL(f.get(), 7); 93 BOOST_CHECK_EQUAL(f.get(), 7);
94 } 94 }
95 95
96 BOOST_AUTO_TEST_CASE(oddStandalone) 96 BOOST_AUTO_TEST_CASE(oddStandalone)
97 { 97 {