#ifndef TEST_HELPERS_H #define TEST_HELPERS_H #include "source.h" #include "sink.h" class TestSink : public Sink { public: int totalFed; int _numChannels; bool _hasX; TestSink() { totalFed = 0; _numChannels = 0; _hasX = false; }; void feedIn(const SamplePack& data) { REQUIRE(data.numChannels() == numChannels()); totalFed += data.numSamples(); Sink::feedIn(data); }; void setNumChannels(unsigned nc, bool x) { _numChannels = nc; _hasX = x; Sink::setNumChannels(nc, x); }; virtual unsigned numChannels() const { return _numChannels; }; virtual bool hasX() const { return _hasX; }; }; class TestSource : public Source { public: int _numChannels; bool _hasX; TestSource(unsigned nc, bool x) { _numChannels = nc; _hasX = x; }; virtual unsigned numChannels() const { return _numChannels; }; virtual bool hasX() const { return _hasX; }; void _feed(const SamplePack& data) const { feedOut(data); }; void _setNumChannels(unsigned nc, bool x) { _numChannels = nc; _hasX = x; updateNumChannels(); }; }; #endif // TEST_HELPERS_H