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 #include "testing/gtest/include/gtest/gtest.h"
12 #include "webrtc/modules/audio_coding/acm2/call_statistics.h"
13 
14 namespace webrtc {
15 
16 namespace acm2 {
17 
TEST(CallStatisticsTest,InitializedZero)18 TEST(CallStatisticsTest, InitializedZero) {
19   CallStatistics call_stats;
20   AudioDecodingCallStats stats;
21 
22   stats = call_stats.GetDecodingStatistics();
23   EXPECT_EQ(0, stats.calls_to_neteq);
24   EXPECT_EQ(0, stats.calls_to_silence_generator);
25   EXPECT_EQ(0, stats.decoded_normal);
26   EXPECT_EQ(0, stats.decoded_cng);
27   EXPECT_EQ(0, stats.decoded_plc);
28   EXPECT_EQ(0, stats.decoded_plc_cng);
29 }
30 
TEST(CallStatisticsTest,AllCalls)31 TEST(CallStatisticsTest, AllCalls) {
32   CallStatistics call_stats;
33   AudioDecodingCallStats stats;
34 
35   call_stats.DecodedBySilenceGenerator();
36   call_stats.DecodedByNetEq(AudioFrame::kNormalSpeech);
37   call_stats.DecodedByNetEq(AudioFrame::kPLC);
38   call_stats.DecodedByNetEq(AudioFrame::kPLCCNG);
39   call_stats.DecodedByNetEq(AudioFrame::kCNG);
40 
41   stats = call_stats.GetDecodingStatistics();
42   EXPECT_EQ(4, stats.calls_to_neteq);
43   EXPECT_EQ(1, stats.calls_to_silence_generator);
44   EXPECT_EQ(1, stats.decoded_normal);
45   EXPECT_EQ(1, stats.decoded_cng);
46   EXPECT_EQ(1, stats.decoded_plc);
47   EXPECT_EQ(1, stats.decoded_plc_cng);
48 }
49 
50 }  // namespace acm2
51 
52 }  // namespace webrtc
53 
54 
55 
56