Chris@366
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
Chris@366
|
2
|
Chris@366
|
3 #include "cq/CQKernel.h"
|
Chris@366
|
4
|
Chris@366
|
5 #include <cmath>
|
Chris@366
|
6 #include <vector>
|
Chris@366
|
7 #include <iostream>
|
Chris@366
|
8
|
Chris@366
|
9 using std::vector;
|
Chris@366
|
10 using std::cerr;
|
Chris@366
|
11 using std::endl;
|
Chris@366
|
12
|
Chris@366
|
13 #define BOOST_TEST_DYN_LINK
|
Chris@366
|
14 #define BOOST_TEST_MAIN
|
Chris@366
|
15
|
Chris@366
|
16 #include <boost/test/unit_test.hpp>
|
Chris@366
|
17
|
Chris@366
|
18 static int rate = 123;
|
Chris@366
|
19 static int max = 60;
|
Chris@366
|
20 static int min = 12;
|
Chris@366
|
21 static int bpo = 4;
|
Chris@366
|
22
|
Chris@366
|
23 BOOST_AUTO_TEST_SUITE(TestCQKernel)
|
Chris@366
|
24
|
Chris@366
|
25 // Just some simple tests on kernel construction -- make sure it's the
|
Chris@366
|
26 // right size, etc
|
Chris@366
|
27
|
Chris@366
|
28 BOOST_AUTO_TEST_CASE(sampleRate) {
|
Chris@366
|
29 CQParameters params(rate, min, max, bpo);
|
Chris@366
|
30 CQKernel k(params);
|
Chris@366
|
31 BOOST_CHECK_EQUAL(k.getProperties().sampleRate, rate);
|
Chris@366
|
32 }
|
Chris@366
|
33
|
Chris@366
|
34 BOOST_AUTO_TEST_CASE(binsPerOctave) {
|
Chris@366
|
35 CQParameters params(rate, min, max, bpo);
|
Chris@366
|
36 CQKernel k(params);
|
Chris@366
|
37 BOOST_CHECK_EQUAL(k.getProperties().binsPerOctave, bpo);
|
Chris@366
|
38 }
|
Chris@366
|
39
|
Chris@366
|
40 BOOST_AUTO_TEST_CASE(maxFrequency) {
|
Chris@366
|
41 CQParameters params(rate, min, max, bpo);
|
Chris@366
|
42 CQKernel k(params);
|
Chris@366
|
43 BOOST_CHECK_EQUAL(k.getProperties().maxFrequency, max);
|
Chris@366
|
44 }
|
Chris@366
|
45
|
Chris@366
|
46 BOOST_AUTO_TEST_CASE(minFrequency) {
|
Chris@366
|
47 CQParameters params(rate, min, max, bpo);
|
Chris@366
|
48 CQKernel k(params);
|
Chris@366
|
49 BOOST_CHECK_CLOSE(k.getProperties().minFrequency,
|
Chris@366
|
50 (max / 2.0) * pow(2, 1.0/bpo),
|
Chris@366
|
51 1e-8);
|
Chris@366
|
52 }
|
Chris@366
|
53
|
Chris@366
|
54 BOOST_AUTO_TEST_CASE(atomsPerFrame) {
|
Chris@366
|
55 CQParameters params(rate, min, max, bpo);
|
Chris@366
|
56 CQKernel k(params);
|
Chris@366
|
57 BOOST_CHECK_EQUAL(k.getProperties().atomsPerFrame, 5);
|
Chris@366
|
58 }
|
Chris@366
|
59
|
Chris@366
|
60 BOOST_AUTO_TEST_CASE(fftSize) {
|
Chris@366
|
61 CQParameters params(rate, min, max, bpo);
|
Chris@366
|
62 CQKernel k(params);
|
Chris@366
|
63 BOOST_CHECK_EQUAL(k.getProperties().fftSize, 32);
|
Chris@366
|
64 }
|
Chris@366
|
65
|
Chris@366
|
66 BOOST_AUTO_TEST_SUITE_END()
|
Chris@366
|
67
|