Index: webrtc/modules/congestion_controller/trendline_estimator_unittest.cc |
diff --git a/webrtc/modules/congestion_controller/trendline_estimator_unittest.cc b/webrtc/modules/congestion_controller/trendline_estimator_unittest.cc |
index 51778e6cf37f2b099b0c518b070b363ba4473027..04f30f0c71a02807850487548af1a1d5815b46b6 100644 |
--- a/webrtc/modules/congestion_controller/trendline_estimator_unittest.cc |
+++ b/webrtc/modules/congestion_controller/trendline_estimator_unittest.cc |
@@ -24,12 +24,12 @@ constexpr int64_t kAvgTimeBetweenPackets = 10; |
TEST(TrendlineEstimator, PerfectLineSlopeOneHalf) { |
TrendlineEstimator estimator(kWindowSize, kSmoothing, kGain); |
Random rand(0x1234567); |
- double now_ms = rand.Rand<double>() * 10000; |
+ int64_t arrival_time_ms = rand.Rand(1, 1000000); |
for (size_t i = 1; i < 2 * kWindowSize; i++) { |
- double send_delta = rand.Rand<double>() * 2 * kAvgTimeBetweenPackets; |
- double recv_delta = 2 * send_delta; |
- now_ms += recv_delta; |
- estimator.Update(recv_delta, send_delta, now_ms); |
+ int64_t send_delta = rand.Rand(2 * kAvgTimeBetweenPackets); |
+ int64_t recv_delta = 2 * send_delta; |
+ arrival_time_ms += recv_delta; |
+ estimator.Update(recv_delta, send_delta, arrival_time_ms); |
if (i < kWindowSize) |
EXPECT_NEAR(estimator.trendline_slope(), 0, 0.001); |
else |
@@ -40,12 +40,12 @@ TEST(TrendlineEstimator, PerfectLineSlopeOneHalf) { |
TEST(TrendlineEstimator, PerfectLineSlopeMinusOne) { |
TrendlineEstimator estimator(kWindowSize, kSmoothing, kGain); |
Random rand(0x1234567); |
- double now_ms = rand.Rand<double>() * 10000; |
+ int64_t arrival_time_ms = rand.Rand(1, 1000000); |
for (size_t i = 1; i < 2 * kWindowSize; i++) { |
- double send_delta = rand.Rand<double>() * 2 * kAvgTimeBetweenPackets; |
- double recv_delta = 0.5 * send_delta; |
- now_ms += recv_delta; |
- estimator.Update(recv_delta, send_delta, now_ms); |
+ int64_t send_delta = 2 * rand.Rand(kAvgTimeBetweenPackets); |
+ int64_t recv_delta = send_delta / 2; // This division is always exact. |
+ arrival_time_ms += recv_delta; |
+ estimator.Update(recv_delta, send_delta, arrival_time_ms); |
if (i < kWindowSize) |
EXPECT_NEAR(estimator.trendline_slope(), 0, 0.001); |
else |
@@ -56,12 +56,12 @@ TEST(TrendlineEstimator, PerfectLineSlopeMinusOne) { |
TEST(TrendlineEstimator, PerfectLineSlopeZero) { |
TrendlineEstimator estimator(kWindowSize, kSmoothing, kGain); |
Random rand(0x1234567); |
- double now_ms = rand.Rand<double>() * 10000; |
+ int64_t arrival_time_ms = rand.Rand(1, 1000000); |
for (size_t i = 1; i < 2 * kWindowSize; i++) { |
- double send_delta = rand.Rand<double>() * 2 * kAvgTimeBetweenPackets; |
- double recv_delta = send_delta; |
- now_ms += recv_delta; |
- estimator.Update(recv_delta, send_delta, now_ms); |
+ int64_t send_delta = rand.Rand(2 * kAvgTimeBetweenPackets); |
+ int64_t recv_delta = send_delta; |
+ arrival_time_ms += recv_delta; |
+ estimator.Update(recv_delta, send_delta, arrival_time_ms); |
EXPECT_NEAR(estimator.trendline_slope(), 0, 0.001); |
} |
} |
@@ -69,12 +69,12 @@ TEST(TrendlineEstimator, PerfectLineSlopeZero) { |
TEST(TrendlineEstimator, JitteryLineSlopeOneHalf) { |
TrendlineEstimator estimator(kWindowSize, kSmoothing, kGain); |
Random rand(0x1234567); |
- double now_ms = rand.Rand<double>() * 10000; |
+ int64_t arrival_time_ms = rand.Rand(1, 1000000); |
for (size_t i = 1; i < 2 * kWindowSize; i++) { |
- double send_delta = rand.Rand<double>() * 2 * kAvgTimeBetweenPackets; |
- double recv_delta = 2 * send_delta + rand.Gaussian(0, send_delta / 3); |
- now_ms += recv_delta; |
- estimator.Update(recv_delta, send_delta, now_ms); |
+ int64_t send_delta = rand.Rand(2 * kAvgTimeBetweenPackets); |
+ int64_t recv_delta = 2 * send_delta + rand.Gaussian(0, send_delta / 3); |
+ arrival_time_ms += recv_delta; |
+ estimator.Update(recv_delta, send_delta, arrival_time_ms); |
if (i < kWindowSize) |
EXPECT_NEAR(estimator.trendline_slope(), 0, 0.001); |
else |
@@ -85,12 +85,12 @@ TEST(TrendlineEstimator, JitteryLineSlopeOneHalf) { |
TEST(TrendlineEstimator, JitteryLineSlopeMinusOne) { |
TrendlineEstimator estimator(kWindowSize, kSmoothing, kGain); |
Random rand(0x1234567); |
- double now_ms = rand.Rand<double>() * 10000; |
+ int64_t arrival_time_ms = rand.Rand(1000000); |
for (size_t i = 1; i < 2 * kWindowSize; i++) { |
- double send_delta = rand.Rand<double>() * 2 * kAvgTimeBetweenPackets; |
- double recv_delta = 0.5 * send_delta + rand.Gaussian(0, send_delta / 25); |
- now_ms += recv_delta; |
- estimator.Update(recv_delta, send_delta, now_ms); |
+ int64_t send_delta = 2 * rand.Rand(kAvgTimeBetweenPackets); |
+ int64_t recv_delta = send_delta / 2 + rand.Gaussian(0, send_delta / 25); |
+ arrival_time_ms += recv_delta; |
+ estimator.Update(recv_delta, send_delta, arrival_time_ms); |
if (i < kWindowSize) |
EXPECT_NEAR(estimator.trendline_slope(), 0, 0.001); |
else |
@@ -101,12 +101,12 @@ TEST(TrendlineEstimator, JitteryLineSlopeMinusOne) { |
TEST(TrendlineEstimator, JitteryLineSlopeZero) { |
TrendlineEstimator estimator(kWindowSize, kSmoothing, kGain); |
Random rand(0x1234567); |
- double now_ms = rand.Rand<double>() * 10000; |
+ int64_t arrival_time_ms = rand.Rand(1, 1000000); |
for (size_t i = 1; i < 2 * kWindowSize; i++) { |
- double send_delta = rand.Rand<double>() * 2 * kAvgTimeBetweenPackets; |
- double recv_delta = send_delta + rand.Gaussian(0, send_delta / 8); |
- now_ms += recv_delta; |
- estimator.Update(recv_delta, send_delta, now_ms); |
+ int64_t send_delta = rand.Rand(2 * kAvgTimeBetweenPackets); |
+ int64_t recv_delta = send_delta + rand.Gaussian(0, send_delta / 8); |
+ arrival_time_ms += recv_delta; |
+ estimator.Update(recv_delta, send_delta, arrival_time_ms); |
EXPECT_NEAR(estimator.trendline_slope(), 0, 0.1); |
} |
} |