1 /*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include "modules/audio_processing/aec3/render_buffer.h"
12
13 #include <algorithm>
14 #include <functional>
15 #include <vector>
16
17 #include "test/gtest.h"
18
19 namespace webrtc {
20
21 #if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
22
23 // Verifies the check for the provided numbers of Ffts to include in the
24 // spectral sum.
TEST(RenderBuffer,TooLargeNumberOfSpectralSums)25 TEST(RenderBuffer, TooLargeNumberOfSpectralSums) {
26 EXPECT_DEATH(
27 RenderBuffer(Aec3Optimization::kNone, 3, 1, std::vector<size_t>(2, 1)),
28 "");
29 }
30
TEST(RenderBuffer,TooSmallNumberOfSpectralSums)31 TEST(RenderBuffer, TooSmallNumberOfSpectralSums) {
32 EXPECT_DEATH(
33 RenderBuffer(Aec3Optimization::kNone, 3, 1, std::vector<size_t>()), "");
34 }
35
36 // Verifies the feasibility check for the provided number of Ffts to include in
37 // the spectral.
TEST(RenderBuffer,FeasibleNumberOfFftsInSum)38 TEST(RenderBuffer, FeasibleNumberOfFftsInSum) {
39 EXPECT_DEATH(
40 RenderBuffer(Aec3Optimization::kNone, 3, 1, std::vector<size_t>(1, 2)),
41 "");
42 }
43
44 #endif
45
46 } // namespace webrtc
47