13
0
livetrax/libs/audiographer/tests/general/peak_reader_test.cc
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00

55 lines
1.0 KiB
C++

#include "tests/utils.h"
#include "audiographer/general/peak_reader.h"
using namespace AudioGrapher;
class PeakReaderTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE (PeakReaderTest);
CPPUNIT_TEST (testProcess);
CPPUNIT_TEST_SUITE_END ();
public:
void setUp()
{
samples = 128;
random_data = TestUtils::init_random_data(samples);
}
void tearDown()
{
delete [] random_data;
}
void testProcess()
{
reader.reset (new PeakReader());
ProcessContext<float> c (random_data, samples, 1);
float peak = 1.5;
random_data[10] = peak;
reader->process (c);
CPPUNIT_ASSERT_EQUAL(peak, reader->get_peak());
peak = 2.0;
random_data[10] = peak;
reader->process (c);
CPPUNIT_ASSERT_EQUAL(peak, reader->get_peak());
peak = -2.1;
random_data[10] = peak;
reader->process (c);
float expected = fabs(peak);
CPPUNIT_ASSERT_EQUAL(expected, reader->get_peak());
}
private:
std::shared_ptr<PeakReader> reader;
float * random_data;
samplecnt_t samples;
};
CPPUNIT_TEST_SUITE_REGISTRATION (PeakReaderTest);