88SCENARIO(
"CarveDSPUnit: Parameter combinations that should result in silence output for any input") {
89 GIVEN(
"A new CarveDSPUnit object and a buffer of 0.5fs") {
90 std::vector<double> buffer(1024);
93 WHEN(
"The unit is turned off") {
95 std::fill(buffer.begin(), buffer.end(), 0.5);
101 for (
size_t iii {0}; iii < buffer.size(); iii++) {
102 buffer[iii] = mCarve.
process(buffer[iii]);
105 THEN(
"The output is silence") {
106 for (
size_t iii {0}; iii < buffer.size(); iii++) {
107 CHECK(buffer[iii] == Approx(0.0));
112 WHEN(
"Unit is on but has 0 pregain") {
114 std::fill(buffer.begin(), buffer.end(), 0.5);
121 for (
size_t iii {0}; iii < buffer.size(); iii++) {
122 buffer[iii] = mCarve.
process(buffer[iii]);
125 THEN(
"The output is silence") {
126 for (
size_t iii {0}; iii < buffer.size(); iii++) {
127 CHECK(buffer[iii] == Approx(0.0));
132 WHEN(
"Unit is on but has 0 postgain") {
134 std::fill(buffer.begin(), buffer.end(), 0.5);
142 for (
size_t iii {0}; iii < buffer.size(); iii++) {
143 buffer[iii] = mCarve.
process(buffer[iii]);
146 THEN(
"The output is silence") {
147 for (
size_t iii {0}; iii < buffer.size(); iii++) {
148 CHECK(buffer[iii] == Approx(0.0));