3 #include "audiographer/normalizer.h"
4 #include "audiographer/peak_reader.h"
6 using namespace AudioGrapher;
8 class NormalizerTest : public CppUnit::TestFixture
10 CPPUNIT_TEST_SUITE (NormalizerTest);
11 CPPUNIT_TEST (testConstAmplify);
12 CPPUNIT_TEST_SUITE_END ();
22 delete [] random_data;
25 void testConstAmplify()
28 random_data = TestUtils::init_random_data(frames, 0.5);
30 normalizer.reset (new Normalizer(target));
31 peak_reader.reset (new PeakReader());
32 sink.reset (new VectorSink<float>());
34 ProcessContext<float> const c (random_data, frames, 1);
35 peak_reader->process (c);
37 float peak = peak_reader->get_peak();
38 normalizer->alloc_buffer (frames);
39 normalizer->set_peak (peak);
40 normalizer->add_output (sink);
41 normalizer->process (c);
44 ConstProcessContext<float> normalized (sink->get_array(), frames, 1);
45 peak_reader->process (normalized);
47 peak = peak_reader->get_peak();
48 CPPUNIT_ASSERT (-FLT_EPSILON <= (peak - 1.0) && (peak - 1.0) <= 0.0);
52 boost::shared_ptr<Normalizer> normalizer;
53 boost::shared_ptr<PeakReader> peak_reader;
54 boost::shared_ptr<VectorSink<float> > sink;
60 CPPUNIT_TEST_SUITE_REGISTRATION (NormalizerTest);