| Index: webrtc/modules/bitrate_controller/send_time_history_unittest.cc
|
| diff --git a/webrtc/modules/bitrate_controller/send_time_history_unittest.cc b/webrtc/modules/bitrate_controller/send_time_history_unittest.cc
|
| deleted file mode 100644
|
| index fc7099dbdde208ad14f05adda914ebeb4b59f752..0000000000000000000000000000000000000000
|
| --- a/webrtc/modules/bitrate_controller/send_time_history_unittest.cc
|
| +++ /dev/null
|
| @@ -1,149 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2015 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 <algorithm>
|
| -#include <limits>
|
| -#include <vector>
|
| -
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "webrtc/modules/bitrate_controller/send_time_history.h"
|
| -#include "webrtc/system_wrappers/interface/clock.h"
|
| -
|
| -namespace webrtc {
|
| -
|
| -static const int kDefaultHistoryLengthMs = 1000;
|
| -
|
| -class SendTimeHistoryTest : public ::testing::Test {
|
| - protected:
|
| - SendTimeHistoryTest() : history_(kDefaultHistoryLengthMs), clock_(0) {}
|
| - ~SendTimeHistoryTest() {}
|
| -
|
| - virtual void SetUp() {}
|
| -
|
| - virtual void TearDown() {}
|
| -
|
| - SendTimeHistory history_;
|
| - webrtc::SimulatedClock clock_;
|
| -};
|
| -
|
| -TEST_F(SendTimeHistoryTest, AddRemoveOne) {
|
| - const uint16_t kSeqNo = 1;
|
| - const int64_t kTimestamp = 2;
|
| - history_.AddAndRemoveOldSendTimes(kSeqNo, kTimestamp);
|
| -
|
| - int64_t time = 0;
|
| - EXPECT_TRUE(history_.GetSendTime(kSeqNo, &time, false));
|
| - EXPECT_EQ(kTimestamp, time);
|
| -
|
| - time = 0;
|
| - EXPECT_TRUE(history_.GetSendTime(kSeqNo, &time, true));
|
| - EXPECT_EQ(kTimestamp, time);
|
| -
|
| - time = 0;
|
| - EXPECT_FALSE(history_.GetSendTime(kSeqNo, &time, true));
|
| -}
|
| -
|
| -TEST_F(SendTimeHistoryTest, AddThenRemoveOutOfOrder) {
|
| - struct Timestamp {
|
| - Timestamp(uint16_t sequence_number, int64_t timestamp)
|
| - : sequence_number(sequence_number), timestamp(timestamp) {}
|
| - uint16_t sequence_number;
|
| - int64_t timestamp;
|
| - };
|
| - std::vector<Timestamp> timestamps;
|
| - const size_t num_items = 100;
|
| - for (size_t i = 0; i < num_items; ++i) {
|
| - timestamps.push_back(
|
| - Timestamp(static_cast<uint16_t>(i), static_cast<int64_t>(i)));
|
| - }
|
| - std::vector<Timestamp> randomized_timestamps = timestamps;
|
| - std::random_shuffle(randomized_timestamps.begin(),
|
| - randomized_timestamps.end());
|
| - for (size_t i = 0; i < num_items; ++i) {
|
| - history_.AddAndRemoveOldSendTimes(timestamps[i].sequence_number,
|
| - timestamps[i].timestamp);
|
| - }
|
| - for (size_t i = 0; i < num_items; ++i) {
|
| - int64_t timestamp;
|
| - EXPECT_TRUE(history_.GetSendTime(randomized_timestamps[i].sequence_number,
|
| - ×tamp, false));
|
| - EXPECT_EQ(randomized_timestamps[i].timestamp, timestamp);
|
| - EXPECT_TRUE(history_.GetSendTime(randomized_timestamps[i].sequence_number,
|
| - ×tamp, true));
|
| - }
|
| - for (size_t i = 0; i < num_items; ++i) {
|
| - int64_t timestamp;
|
| - EXPECT_FALSE(
|
| - history_.GetSendTime(timestamps[i].sequence_number, ×tamp, false));
|
| - }
|
| -}
|
| -
|
| -TEST_F(SendTimeHistoryTest, HistorySize) {
|
| - const int kItems = kDefaultHistoryLengthMs / 100;
|
| - for (int i = 0; i < kItems; ++i) {
|
| - history_.AddAndRemoveOldSendTimes(i, i * 100);
|
| - }
|
| - int64_t timestamp;
|
| - for (int i = 0; i < kItems; ++i) {
|
| - EXPECT_TRUE(history_.GetSendTime(i, ×tamp, false));
|
| - EXPECT_EQ(i * 100, timestamp);
|
| - }
|
| - history_.AddAndRemoveOldSendTimes(kItems, kItems * 100);
|
| - EXPECT_FALSE(history_.GetSendTime(0, ×tamp, false));
|
| - for (int i = 1; i < (kItems + 1); ++i) {
|
| - EXPECT_TRUE(history_.GetSendTime(i, ×tamp, false));
|
| - EXPECT_EQ(i * 100, timestamp);
|
| - }
|
| -}
|
| -
|
| -TEST_F(SendTimeHistoryTest, HistorySizeWithWraparound) {
|
| - const int kMaxSeqNo = std::numeric_limits<uint16_t>::max();
|
| - history_.AddAndRemoveOldSendTimes(kMaxSeqNo - 2, 0);
|
| - history_.AddAndRemoveOldSendTimes(kMaxSeqNo - 1, 100);
|
| - history_.AddAndRemoveOldSendTimes(kMaxSeqNo, 200);
|
| - history_.AddAndRemoveOldSendTimes(0, 1000);
|
| - int64_t timestamp;
|
| - EXPECT_FALSE(history_.GetSendTime(kMaxSeqNo - 2, ×tamp, false));
|
| - EXPECT_TRUE(history_.GetSendTime(kMaxSeqNo - 1, ×tamp, false));
|
| - EXPECT_TRUE(history_.GetSendTime(kMaxSeqNo, ×tamp, false));
|
| - EXPECT_TRUE(history_.GetSendTime(0, ×tamp, false));
|
| -
|
| - // Create a gap (kMaxSeqNo - 1) -> 0.
|
| - EXPECT_TRUE(history_.GetSendTime(kMaxSeqNo, ×tamp, true));
|
| -
|
| - history_.AddAndRemoveOldSendTimes(1, 1100);
|
| -
|
| - EXPECT_FALSE(history_.GetSendTime(kMaxSeqNo - 2, ×tamp, false));
|
| - EXPECT_FALSE(history_.GetSendTime(kMaxSeqNo - 1, ×tamp, false));
|
| - EXPECT_FALSE(history_.GetSendTime(kMaxSeqNo, ×tamp, false));
|
| - EXPECT_TRUE(history_.GetSendTime(0, ×tamp, false));
|
| - EXPECT_TRUE(history_.GetSendTime(1, ×tamp, false));
|
| -}
|
| -
|
| -TEST_F(SendTimeHistoryTest, InterlievedGetAndRemove) {
|
| - const uint16_t kSeqNo = 1;
|
| - const int64_t kTimestamp = 2;
|
| -
|
| - history_.AddAndRemoveOldSendTimes(kSeqNo, kTimestamp);
|
| - history_.AddAndRemoveOldSendTimes(kSeqNo + 1, kTimestamp + 1);
|
| -
|
| - int64_t time = 0;
|
| - EXPECT_TRUE(history_.GetSendTime(kSeqNo, &time, true));
|
| - EXPECT_EQ(kTimestamp, time);
|
| -
|
| - history_.AddAndRemoveOldSendTimes(kSeqNo + 2, kTimestamp + 2);
|
| -
|
| - EXPECT_TRUE(history_.GetSendTime(kSeqNo + 1, &time, true));
|
| - EXPECT_EQ(kTimestamp + 1, time);
|
| - EXPECT_TRUE(history_.GetSendTime(kSeqNo + 2, &time, true));
|
| - EXPECT_EQ(kTimestamp + 2, time);
|
| -}
|
| -
|
| -} // namespace webrtc
|
|
|