Index: components/scheduler/base/queueing_time_estimator_unittest.cc |
diff --git a/components/scheduler/base/queueing_time_estimator_unittest.cc b/components/scheduler/base/queueing_time_estimator_unittest.cc |
deleted file mode 100644 |
index c9df20b29103a3e7b23c880f060b7a63ea279c28..0000000000000000000000000000000000000000 |
--- a/components/scheduler/base/queueing_time_estimator_unittest.cc |
+++ /dev/null |
@@ -1,94 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/scheduler/base/queueing_time_estimator.h" |
-#include "components/scheduler/base/test_time_source.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace scheduler { |
- |
-using QueueingTimeEstimatorTest = testing::Test; |
- |
-class TestQueueingTimeEstimatorClient |
- : public QueueingTimeEstimator::Client { |
- public: |
- void OnQueueingTimeForWindowEstimated( |
- base::TimeDelta queueing_time) override { |
- expected_queueing_times_.push_back(queueing_time); |
- } |
- const std::vector<base::TimeDelta>& expected_queueing_times() { |
- return expected_queueing_times_; |
- } |
- |
- private: |
- std::vector<base::TimeDelta> expected_queueing_times_; |
-}; |
- |
-class QueueingTimeEstimatorForTest : public QueueingTimeEstimator { |
- public: |
- QueueingTimeEstimatorForTest(TestQueueingTimeEstimatorClient* client, |
- base::TimeDelta window_duration) |
- : QueueingTimeEstimator(client, window_duration) {} |
-}; |
- |
-// Three tasks of one second each, all within a 5 second window. Expected |
-// queueing time is the probability of falling into one of these tasks (3/5), |
-// multiplied by the expected queueing time within a task (0.5 seconds). Thus we |
-// expect a queueing time of 0.3 seconds. |
-TEST_F(QueueingTimeEstimatorTest, AllTasksWithinWindow) { |
- base::TimeTicks time; |
- TestQueueingTimeEstimatorClient client; |
- QueueingTimeEstimatorForTest estimator(&client, |
- base::TimeDelta::FromSeconds(5)); |
- for (int i = 0; i < 3; ++i) { |
- estimator.OnToplevelTaskCompleted( |
- time, time + base::TimeDelta::FromMilliseconds(1000)); |
- time += base::TimeDelta::FromMilliseconds(1500); |
- } |
- |
- // Flush the data by adding a task in the next window. |
- time += base::TimeDelta::FromMilliseconds(5000); |
- estimator.OnToplevelTaskCompleted( |
- time, time + base::TimeDelta::FromMilliseconds(500)); |
- |
- EXPECT_THAT(client.expected_queueing_times(), |
- testing::ElementsAre(base::TimeDelta::FromMilliseconds(300))); |
-} |
- |
-// One 20 second long task, starting 3 seconds into the first window. |
-// Window 1: Probability of being within task = 2/5. Expected delay within task: |
-// avg(20, 18). Total expected queueing time = 7.6s. |
-// Window 2: Probability of being within task = 1. Expected delay within task: |
-// avg(18, 13). Total expected queueing time = 15.5s. |
-// Window 5: Probability of being within task = 3/5. Expected delay within task: |
-// avg(3, 0). Total expected queueing time = 0.9s. |
-TEST_F(QueueingTimeEstimatorTest, MultiWindowTask) { |
- TestQueueingTimeEstimatorClient client; |
- QueueingTimeEstimatorForTest estimator(&client, |
- base::TimeDelta::FromSeconds(5)); |
- base::TimeTicks time; |
- time += base::TimeDelta::FromMilliseconds(5000); |
- estimator.OnToplevelTaskCompleted(time, time); |
- |
- time += base::TimeDelta::FromMilliseconds(3000); |
- |
- estimator.OnToplevelTaskCompleted( |
- time, time + base::TimeDelta::FromMilliseconds(20000)); |
- |
- // Flush the data by adding a task in the next window. |
- time += base::TimeDelta::FromMilliseconds(25000); |
- |
- estimator.OnToplevelTaskCompleted( |
- time, time + base::TimeDelta::FromMilliseconds(500)); |
- |
- EXPECT_THAT(client.expected_queueing_times(), |
- testing::ElementsAre(base::TimeDelta::FromMilliseconds(7600), |
- base::TimeDelta::FromMilliseconds(15500), |
- base::TimeDelta::FromMilliseconds(10500), |
- base::TimeDelta::FromMilliseconds(5500), |
- base::TimeDelta::FromMilliseconds(900))); |
-} |
- |
-} // namespace scheduler |