1 /* 2 * Copyright (c) 2013 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 // TODO(bjornv): Make this a comprehensive test. 12 13 #include "modules/audio_processing/aec/echo_cancellation.h" 14 15 #include <stdlib.h> 16 #include <time.h> 17 18 #include "modules/audio_processing/aec/aec_core.h" 19 #include "rtc_base/checks.h" 20 #include "test/gtest.h" 21 22 namespace webrtc { 23 TEST(EchoCancellationTest,CreateAndFreeHasExpectedBehavior)24TEST(EchoCancellationTest, CreateAndFreeHasExpectedBehavior) { 25 void* handle = WebRtcAec_Create(); 26 ASSERT_TRUE(handle); 27 WebRtcAec_Free(nullptr); 28 WebRtcAec_Free(handle); 29 } 30 TEST(EchoCancellationTest,ApplyAecCoreHandle)31TEST(EchoCancellationTest, ApplyAecCoreHandle) { 32 void* handle = WebRtcAec_Create(); 33 ASSERT_TRUE(handle); 34 EXPECT_TRUE(WebRtcAec_aec_core(NULL) == NULL); 35 AecCore* aec_core = WebRtcAec_aec_core(handle); 36 EXPECT_TRUE(aec_core != NULL); 37 // A simple test to verify that we can set and get a value from the lower 38 // level |aec_core| handle. 39 int delay = 111; 40 WebRtcAec_SetSystemDelay(aec_core, delay); 41 EXPECT_EQ(delay, WebRtcAec_system_delay(aec_core)); 42 WebRtcAec_Free(handle); 43 } 44 45 } // namespace webrtc 46