Revision 40:8f56ef28b0b1 test/TestPeakInterpolator.cpp

View differences:

test/TestPeakInterpolator.cpp
39 39
    BOOST_CHECK_EQUAL(result, 1.0);
40 40
}
41 41

  
42
BOOST_AUTO_TEST_CASE(peakAtSample_N4)
43
{
44
    double data[] = { 0.0, 1.0, 2.0, 0.0 };
45
    PeakInterpolator p;
46
    double result = p.findPeakLocation(data, 4, 2);
47
    //!!! Actually, this isn't certain at all I think? It could quite
48
    //!!! reasonably be smaller than 2.0
49
    BOOST_CHECK_EQUAL(result, 2.0);
50
}
51

  
52 42
BOOST_AUTO_TEST_CASE(peakAtSample_N5)
53 43
{
54 44
    double data[] = { 0.0, 1.0, 2.0, 1.0, 0.0 };
......
73 63
    BOOST_CHECK_EQUAL(result, 3.0);
74 64
}
75 65

  
66
BOOST_AUTO_TEST_CASE(start)
67
{
68
    // Can't meaningfully interpolate if we're identifying element 0
69
    // as the peak
70
    double data[] = { 1.0, 1.0, 0.0, 0.0 };
71
    PeakInterpolator p;
72
    double result = p.findPeakLocation(data, 4, 0);
73
    BOOST_CHECK_EQUAL(result, 0.0);
74
}
75

  
76
BOOST_AUTO_TEST_CASE(end)
77
{
78
    // Likewise for the final element
79
    double data[] = { 0.0, 0.0, 1.0, 1.0 };
80
    PeakInterpolator p;
81
    double result = p.findPeakLocation(data, 4, 3);
82
    BOOST_CHECK_EQUAL(result, 3.0);
83
}
84

  
85
BOOST_AUTO_TEST_CASE(longHalfway)
86
{
87
    double data[] = { 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 1.0, 1.0 };
88
    PeakInterpolator p;
89
    double result = p.findPeakLocation(data, 8, 4);
90
    BOOST_CHECK_EQUAL(result, 3.5);
91
}
92

  
93
BOOST_AUTO_TEST_CASE(shortHalfway)
94
{
95
    double data[] = { 1.0, 2.0, 2.0, 1.0 };
96
    PeakInterpolator p;
97
    double result = p.findPeakLocation(data, 4, 1);
98
    BOOST_CHECK_EQUAL(result, 1.5);
99
}
100

  
76 101
BOOST_AUTO_TEST_SUITE_END()
77 102

  

Also available in: Unified diff