73SCENARIO(
"StereoWidthProcessor: Silence in = silence out") {
74 GIVEN(
"A StereoWidthProcessor and a buffer of silent samples") {
76 std::vector<double> leftBuffer(1024);
77 std::vector<double> rightBuffer(1024);
81 std::fill(leftBuffer.begin(), leftBuffer.end(), 0);
82 std::fill(rightBuffer.begin(), rightBuffer.end(), 0);
84 WHEN(
"The silence samples are processed") {
87 processor.
process2in2out(&leftBuffer[0], &rightBuffer[0], leftBuffer.size());
89 THEN(
"The output is silence") {
90 for (
size_t index {0}; index < leftBuffer.size(); index++) {
91 CHECK(leftBuffer[index] == Approx(0.0));
92 CHECK(rightBuffer[index] == Approx(0.0));
99SCENARIO(
"StereoWidthProcessor: Neutral width position") {
100 GIVEN(
"A StereoWidthProcessor and a buffer of sine samples") {
102 std::vector<double> leftBuffer(1024);
103 std::vector<double> rightBuffer(1024);
108 std::copy(leftBuffer.begin(), leftBuffer.end() , rightBuffer.begin());
111 std::vector<double> expectedOutput(1024);
112 std::copy(leftBuffer.begin(), leftBuffer.end() , expectedOutput.begin());
114 WHEN(
"The samples are processed") {
116 processor.
process2in2out(&leftBuffer[0], &rightBuffer[0], leftBuffer.size());
118 THEN(
"The output is silence") {
119 for (
size_t index {0}; index < leftBuffer.size(); index++) {
120 CHECK(leftBuffer[index] == Approx(expectedOutput[index]));
121 CHECK(rightBuffer[index] == Approx(expectedOutput[index]));
128SCENARIO(
"StereoWidthProcessor: Stereo to full mono") {
129 GIVEN(
"A StereoWidthProcessor and a buffer of sine samples") {
131 std::vector<double> leftBuffer(1024);
132 std::vector<double> rightBuffer(1024);
139 WHEN(
"The width is set to mono and samples are processed") {
144 processor.
process2in2out(&leftBuffer[0], &rightBuffer[0], leftBuffer.size());
146 THEN(
"The output is the same for each channel") {
147 for (
size_t index {0}; index < leftBuffer.size(); index++) {
148 CHECK(leftBuffer[index] == Approx(rightBuffer[index]));