27SCENARIO(
"SimpleCompressor: Parameters can be set and retrieved correctly") {
28 GIVEN(
"A new SimpleCompressor object") {
32 WHEN(
"Nothing is changed") {
33 THEN(
"Parameters have their default values") {
34 CHECK(compressor.
getDirection() == Comp::Direction::DOWNWARD);
35 CHECK(compressor.
getAttack() == Approx(10.0));
36 CHECK(compressor.
getRelease() == Approx(100.0));
38 CHECK(compressor.
getRatio() == Approx(2.0));
43 WHEN(
"All parameters are changed to unique values") {
51 THEN(
"They all get their correct unique values") {
52 CHECK(compressor.
getDirection() == Comp::Direction::UPWARD);
53 CHECK(compressor.
getAttack() == Approx(0.11));
56 CHECK(compressor.
getRatio() == Approx(1.2));
63SCENARIO(
"SimpleCompressor: Parameters enforce their bounds correctly") {
64 GIVEN(
"A new SimpleCompressor object") {
68 WHEN(
"All parameter values are too low") {
75 THEN(
"Parameters enforce their lower bounds") {
76 CHECK(compressor.
getAttack() == Approx(0.1));
79 CHECK(compressor.
getRatio() == Approx(1.0));
84 WHEN(
"All parameter values are too high") {
91 THEN(
"Parameters enforce their upper bounds") {
92 CHECK(compressor.
getAttack() == Approx(500));
93 CHECK(compressor.
getRelease() == Approx(5000));
95 CHECK(compressor.
getRatio() == Approx(30));
102SCENARIO(
"SimpleCompressor: Silence in = silence out") {
103 GIVEN(
"A SimpleCompressor and a buffer of silent samples") {
105 std::vector<double> buffer(1024);
108 WHEN(
"The silence samples are processed") {
110 std::fill(buffer.begin(), buffer.end(), 0);
115 THEN(
"The output is silence") {
116 for (
size_t iii {0}; iii < buffer.size(); iii++) {
117 CHECK(buffer[iii] == Approx(0.0));
SCENARIO("SimpleCompressor: Silence in = silence out")
double getThreshold() const
Direction getDirection() const
double getKneeWidth() const
void setAttack(double val)
virtual void process1in1out(SampleType *inSamples, size_t numSamples) override
void setRatio(double val)
double getRelease() const
void setThreshold(double val)
void setDirection(Direction val)
void setKneeWidth(double val)
void setRelease(double val)