changeset 144:88b8d34bfc77

Small rearrangement
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 20 May 2014 12:38:13 +0100
parents c66f0f78b315
children ff8ae033615f
files test/TestCQFrequency.cpp
diffstat 1 files changed, 32 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/test/TestCQFrequency.cpp	Tue May 20 11:44:43 2014 +0100
+++ b/test/TestCQFrequency.cpp	Tue May 20 12:38:13 2014 +0100
@@ -76,6 +76,37 @@
 }
 
 void
+testCQFrequencyWith(CQParameters params,
+                    CQSpectrogram::Interpolation interp,
+                    double freq)
+{
+    CQSpectrogram cq(params, interp);
+
+    BOOST_CHECK_EQUAL(cq.getBinsPerOctave(), bpo);
+    BOOST_CHECK_EQUAL(cq.getOctaves(), 2);
+    BOOST_CHECK_CLOSE(cq.getBinFrequency(0), 40, 1e-10);
+    BOOST_CHECK_CLOSE(cq.getBinFrequency(4), 20, 1e-10);
+    BOOST_CHECK_CLOSE(cq.getBinFrequency(7), cqmin, 1e-3);
+    
+    vector<double> input;
+    for (int i = 0; i < duration; ++i) {
+        input.push_back(sin((i * 2 * M_PI * freq) / sampleRate));
+    }
+    Window<double>(HanningWindow, duration).cut(input.data());
+    
+    CQSpectrogram::RealBlock output = cq.process(input);
+    CQSpectrogram::RealBlock rest = cq.getRemainingOutput();
+    output.insert(output.end(), rest.begin(), rest.end());
+    
+    BOOST_CHECK_EQUAL(output[0].size(), 
+                      cq.getBinsPerOctave() * cq.getOctaves());
+    
+    for (int i = 0; i < int(output.size()); ++i) {
+        checkCQFreqColumn(i, output[i], freq, interp);
+    }
+}
+
+void
 testCQFrequency(double freq)
 {
     vector<CQSpectrogram::Interpolation> interpolationTypes;
@@ -84,34 +115,9 @@
     interpolationTypes.push_back(CQSpectrogram::InterpolateLinear);
 
     for (int k = 0; k < int(interpolationTypes.size()); ++k) {
-
         CQSpectrogram::Interpolation interp = interpolationTypes[k];
-
         CQParameters params(sampleRate, cqmin, cqmax, bpo);
-        CQSpectrogram cq(params, interp);
-
-        BOOST_CHECK_EQUAL(cq.getBinsPerOctave(), bpo);
-        BOOST_CHECK_EQUAL(cq.getOctaves(), 2);
-        BOOST_CHECK_CLOSE(cq.getBinFrequency(0), 40, 1e-10);
-        BOOST_CHECK_CLOSE(cq.getBinFrequency(4), 20, 1e-10);
-        BOOST_CHECK_CLOSE(cq.getBinFrequency(7), cqmin, 1e-3);
-
-        vector<double> input;
-        for (int i = 0; i < duration; ++i) {
-            input.push_back(sin((i * 2 * M_PI * freq) / sampleRate));
-        }
-        Window<double>(HanningWindow, duration).cut(input.data());
-
-        CQSpectrogram::RealBlock output = cq.process(input);
-        CQSpectrogram::RealBlock rest = cq.getRemainingOutput();
-        output.insert(output.end(), rest.begin(), rest.end());
-
-        BOOST_CHECK_EQUAL(output[0].size(), 
-                          cq.getBinsPerOctave() * cq.getOctaves());
-
-        for (int i = 0; i < int(output.size()); ++i) {
-            checkCQFreqColumn(i, output[i], freq, interp);
-        }
+        testCQFrequencyWith(params, interp, freq);
     }
 }