tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

rtcp_nack_stats_unittest.cc (1834B)


      1 /*
      2 *  Copyright (c) 2017 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 "modules/rtp_rtcp/source/rtcp_nack_stats.h"
     12 
     13 #include "test/gtest.h"
     14 
     15 namespace webrtc {
     16 
     17 TEST(RtcpNackStatsTest, Requests) {
     18  RtcpNackStats stats;
     19  EXPECT_EQ(0U, stats.unique_requests());
     20  EXPECT_EQ(0U, stats.requests());
     21  stats.ReportRequest(10);
     22  EXPECT_EQ(1U, stats.unique_requests());
     23  EXPECT_EQ(1U, stats.requests());
     24 
     25  stats.ReportRequest(10);
     26  EXPECT_EQ(1U, stats.unique_requests());
     27  stats.ReportRequest(11);
     28  EXPECT_EQ(2U, stats.unique_requests());
     29 
     30  stats.ReportRequest(11);
     31  EXPECT_EQ(2U, stats.unique_requests());
     32  stats.ReportRequest(13);
     33  EXPECT_EQ(3U, stats.unique_requests());
     34 
     35  stats.ReportRequest(11);
     36  EXPECT_EQ(3U, stats.unique_requests());
     37  EXPECT_EQ(6U, stats.requests());
     38 }
     39 
     40 TEST(RtcpNackStatsTest, RequestsWithWrap) {
     41  RtcpNackStats stats;
     42  stats.ReportRequest(65534);
     43  EXPECT_EQ(1U, stats.unique_requests());
     44 
     45  stats.ReportRequest(65534);
     46  EXPECT_EQ(1U, stats.unique_requests());
     47  stats.ReportRequest(65535);
     48  EXPECT_EQ(2U, stats.unique_requests());
     49 
     50  stats.ReportRequest(65535);
     51  EXPECT_EQ(2U, stats.unique_requests());
     52  stats.ReportRequest(0);
     53  EXPECT_EQ(3U, stats.unique_requests());
     54 
     55  stats.ReportRequest(65535);
     56  EXPECT_EQ(3U, stats.unique_requests());
     57  stats.ReportRequest(0);
     58  EXPECT_EQ(3U, stats.unique_requests());
     59  stats.ReportRequest(1);
     60  EXPECT_EQ(4U, stats.unique_requests());
     61  EXPECT_EQ(8U, stats.requests());
     62 }
     63 
     64 }  // namespace webrtc