Home | History | Annotate | Download | only in test
      1 /*
      2  *  Copyright (c) 2011 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 "webrtc/modules/video_coding/codecs/test/stats.h"
     12 
     13 #include "testing/gtest/include/gtest/gtest.h"
     14 #include "webrtc/typedefs.h"
     15 
     16 namespace webrtc {
     17 namespace test {
     18 
     19 class StatsTest : public testing::Test {
     20  protected:
     21   StatsTest() {}
     22 
     23   virtual ~StatsTest() {}
     24 
     25   void SetUp() { stats_ = new Stats(); }
     26 
     27   void TearDown() { delete stats_; }
     28 
     29   Stats* stats_;
     30 };
     31 
     32 // Test empty object
     33 TEST_F(StatsTest, Uninitialized) {
     34   EXPECT_EQ(0u, stats_->stats_.size());
     35   stats_->PrintSummary();  // should not crash
     36 }
     37 
     38 // Add single frame stats and verify
     39 TEST_F(StatsTest, AddOne) {
     40   stats_->NewFrame(0u);
     41   FrameStatistic* frameStat = &stats_->stats_[0];
     42   EXPECT_EQ(0, frameStat->frame_number);
     43 }
     44 
     45 // Add multiple frame stats and verify
     46 TEST_F(StatsTest, AddMany) {
     47   int nbr_of_frames = 1000;
     48   for (int i = 0; i < nbr_of_frames; ++i) {
     49     FrameStatistic& frameStat = stats_->NewFrame(i);
     50     EXPECT_EQ(i, frameStat.frame_number);
     51   }
     52   EXPECT_EQ(nbr_of_frames, static_cast<int>(stats_->stats_.size()));
     53 
     54   stats_->PrintSummary();  // should not crash
     55 }
     56 
     57 }  // namespace test
     58 }  // namespace webrtc
     59