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

Side by Side Diff: webrtc/modules/audio_processing/utility/block_mean_calculator_unittest.cc

Issue 1805633006: Adding BlockMeanCalculator for AEC. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: use delete instead of free Created 4 years, 9 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 unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2016 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 "testing/gtest/include/gtest/gtest.h"
12
13 #include "webrtc/modules/audio_processing/utility/block_mean_calculator.h"
14
15 namespace webrtc {
16
17 TEST(MeanCalculatorTest, Correctness) {
18 const size_t kBlockLength = 10;
19 BlockMeanCalculator mean_calculator(kBlockLength);
20 size_t i = 0;
21 float reference = 0.0;
22
23 for (; i < kBlockLength - 1; ++i) {
24 mean_calculator.AddValue(static_cast<float>(i));
25 EXPECT_FALSE(mean_calculator.EndOfBlock());
26 }
27 mean_calculator.AddValue(static_cast<float>(i++));
28 EXPECT_TRUE(mean_calculator.EndOfBlock());
29
30 for (; i < 3 * kBlockLength; ++i) {
31 const bool end_of_block = i % kBlockLength == 0;
32 if (end_of_block) {
33 // Sum of (i - kBlockLength) ... (i - 1)
34 reference = i - 0.5 * (1 + kBlockLength);
35 }
36 EXPECT_EQ(mean_calculator.EndOfBlock(), end_of_block);
37 EXPECT_EQ(reference, mean_calculator.GetLatestMean());
38 mean_calculator.AddValue(static_cast<float>(i));
39 }
40 }
41
42 TEST(MeanCalculatorTest, Reset) {
43 const size_t kBlockLength = 10;
44 BlockMeanCalculator mean_calculator(kBlockLength);
45 for (size_t i = 0; i < kBlockLength - 1; ++i) {
46 mean_calculator.AddValue(static_cast<float>(i));
47 }
48 mean_calculator.Reset();
49 size_t i = 0;
50 for (; i < kBlockLength - 1; ++i) {
51 mean_calculator.AddValue(static_cast<float>(i));
52 EXPECT_FALSE(mean_calculator.EndOfBlock());
53 }
54 mean_calculator.AddValue(static_cast<float>(i));
55 EXPECT_TRUE(mean_calculator.EndOfBlock());
56 EXPECT_EQ(mean_calculator.GetLatestMean(), 0.5 * (kBlockLength - 1));
57 }
58
59 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_processing/utility/block_mean_calculator.cc ('k') | webrtc/modules/modules.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698