Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Unified Diff: webrtc/modules/audio_processing/agc/agc_unittest.cc

Issue 2299023004: Remove unused agc_unittest.cc and agc_harness.cc (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/BUILD.gn ('k') | webrtc/modules/modules.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/audio_processing/agc/agc_unittest.cc
diff --git a/webrtc/modules/audio_processing/agc/agc_unittest.cc b/webrtc/modules/audio_processing/agc/agc_unittest.cc
deleted file mode 100644
index 8c6278f40e727908da4b943cbd6278f18e8c7897..0000000000000000000000000000000000000000
--- a/webrtc/modules/audio_processing/agc/agc_unittest.cc
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/modules/audio_processing/agc/agc.h"
-
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-#include "webrtc/modules/include/module_common_types.h"
-#include "webrtc/test/testsupport/fileutils.h"
-#include "webrtc/tools/agc/test_utils.h"
-
-using ::testing::_;
-using ::testing::AllOf;
-using ::testing::AtLeast;
-using ::testing::Eq;
-using ::testing::Gt;
-using ::testing::InSequence;
-using ::testing::Lt;
-using ::testing::Mock;
-using ::testing::SaveArg;
-
-namespace webrtc {
-namespace {
-
-// The tested values depend on this assumed gain.
-const int kMaxGain = 80;
-
-MATCHER_P(GtPointee, p, "") { return arg > *p; }
-MATCHER_P(LtPointee, p, "") { return arg < *p; }
-
-class AgcChecker {
- public:
- MOCK_METHOD2(LevelChanged, void(int iterations, int level));
-};
-
-class AgcTest : public ::testing::Test {
- protected:
- AgcTest()
- : agc_(),
- checker_(),
- mic_level_(128) {
- }
-
- // A gain of <= -100 will zero out the signal.
- void RunAgc(int iterations, float gain_db) {
- FILE* input_file = fopen(
- test::ResourcePath("voice_engine/audio_long16", "pcm").c_str(), "rb");
- ASSERT_TRUE(input_file != NULL);
-
- AudioFrame frame;
- frame.sample_rate_hz_ = 16000;
- frame.num_channels_ = 1;
- frame.samples_per_channel_ = frame.sample_rate_hz_ / 100;
- const size_t length = frame.samples_per_channel_ * frame.num_channels_;
-
- float gain = Db2Linear(gain_db);
- if (gain_db <= -100) {
- gain = 0;
- }
-
- for (int i = 0; i < iterations; ++i) {
- ASSERT_EQ(length, fread(frame.data_, sizeof(int16_t), length,
- input_file));
- SimulateMic(kMaxGain, mic_level_, &frame);
- ApplyGainLinear(gain, &frame);
- ASSERT_GE(agc_.Process(frame), 0);
-
- int mic_level = agc_.MicLevel();
- if (mic_level != mic_level_) {
- printf("mic_level=%d\n", mic_level);
- checker_.LevelChanged(i, mic_level);
- }
- mic_level_ = mic_level;
- }
- fclose(input_file);
- }
-
- Agc agc_;
- AgcChecker checker_;
- // Stores mic level between multiple runs of RunAgc in one test.
- int mic_level_;
-};
-
-TEST_F(AgcTest, UpwardsChangeIsLimited) {
- {
- InSequence seq;
- EXPECT_CALL(checker_, LevelChanged(Lt(500), Eq(179))).Times(1);
- EXPECT_CALL(checker_, LevelChanged(_, Gt(179))).Times(AtLeast(1));
- }
- RunAgc(1000, -40);
-}
-
-TEST_F(AgcTest, DownwardsChangeIsLimited) {
- {
- InSequence seq;
- EXPECT_CALL(checker_, LevelChanged(Lt(500), Eq(77))).Times(1);
- EXPECT_CALL(checker_, LevelChanged(_, Lt(77))).Times(AtLeast(1));
- }
- RunAgc(1000, 40);
-}
-
-TEST_F(AgcTest, MovesUpToMaxAndDownToMin) {
- int last_level = 128;
- EXPECT_CALL(checker_, LevelChanged(_, GtPointee(&last_level)))
- .Times(AtLeast(2))
- .WillRepeatedly(SaveArg<1>(&last_level));
- RunAgc(1000, -30);
- EXPECT_EQ(255, last_level);
- Mock::VerifyAndClearExpectations(&checker_);
-
- EXPECT_CALL(checker_, LevelChanged(_, LtPointee(&last_level)))
- .Times(AtLeast(2))
- .WillRepeatedly(SaveArg<1>(&last_level));
- RunAgc(1000, 50);
- EXPECT_EQ(1, last_level);
-}
-
-TEST_F(AgcTest, HandlesZeroSignal) {
- int last_level = 128;
- // Doesn't respond to a zero signal.
- EXPECT_CALL(checker_, LevelChanged(_, _)).Times(0);
- RunAgc(1000, -100);
- Mock::VerifyAndClearExpectations(&checker_);
-
- // Reacts as usual afterwards.
- EXPECT_CALL(checker_, LevelChanged(_, GtPointee(&last_level)))
- .Times(AtLeast(2))
- .WillRepeatedly(SaveArg<1>(&last_level));
- RunAgc(500, -20);
-}
-
-TEST_F(AgcTest, ReachesSteadyState) {
- int last_level = 128;
- EXPECT_CALL(checker_, LevelChanged(_, _))
- .Times(AtLeast(2))
- .WillRepeatedly(SaveArg<1>(&last_level));
- RunAgc(1000, -20);
- Mock::VerifyAndClearExpectations(&checker_);
-
- // If the level changes, it should be in a narrow band around the previous
- // adaptation.
- EXPECT_CALL(checker_, LevelChanged(_,
- AllOf(Gt(last_level * 0.95), Lt(last_level * 1.05))))
- .Times(AtLeast(0));
- RunAgc(1000, -20);
-}
-
-// TODO(ajm): Add this test; requires measuring the signal RMS.
-TEST_F(AgcTest, AdaptsToCorrectRMS) {
-}
-
-} // namespace
-} // namespace webrtc
-
« no previous file with comments | « webrtc/modules/BUILD.gn ('k') | webrtc/modules/modules.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698