Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Unified Diff: webrtc/base/analytics/percentile_filter_unittest.cc

Issue 2529063002: Templatize percentile_filter.h and move it to base/analytics. (Closed)
Patch Set: Move last patch set to a separate CL. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/base/analytics/percentile_filter_unittest.cc
diff --git a/webrtc/modules/video_coding/percentile_filter_unittest.cc b/webrtc/base/analytics/percentile_filter_unittest.cc
similarity index 74%
rename from webrtc/modules/video_coding/percentile_filter_unittest.cc
rename to webrtc/base/analytics/percentile_filter_unittest.cc
index 56cd99b39d2b644306f96bb300134d8f70ee422f..98168fd27be25da60a7e169b9cd0646a3c41d89f 100644
--- a/webrtc/modules/video_coding/percentile_filter_unittest.cc
+++ b/webrtc/base/analytics/percentile_filter_unittest.cc
@@ -9,9 +9,10 @@
*/
#include <algorithm>
+#include <climits>
+#include "webrtc/base/analytics/percentile_filter.h"
#include "webrtc/base/constructormagic.h"
-#include "webrtc/modules/video_coding/percentile_filter.h"
#include "webrtc/test/gtest.h"
namespace webrtc {
@@ -24,7 +25,7 @@ class PercentileFilterTest : public ::testing::TestWithParam<float> {
}
protected:
- PercentileFilter filter_;
+ PercentileFilter<int64_t> filter_;
magjed_webrtc 2016/11/30 14:22:43 This file probably should probably include stdint
private:
RTC_DISALLOW_COPY_AND_ASSIGN(PercentileFilterTest);
@@ -35,7 +36,7 @@ INSTANTIATE_TEST_CASE_P(PercentileFilterTests,
::testing::Values(0.0f, 0.1f, 0.5f, 0.9f, 1.0f));
TEST(PercentileFilterTest, MinFilter) {
- PercentileFilter filter(0.0f);
+ PercentileFilter<int64_t> filter(0.0f);
filter.Insert(4);
EXPECT_EQ(4, filter.GetPercentileValue());
filter.Insert(3);
@@ -43,13 +44,43 @@ TEST(PercentileFilterTest, MinFilter) {
}
TEST(PercentileFilterTest, MaxFilter) {
- PercentileFilter filter(1.0f);
+ PercentileFilter<int64_t> filter(1.0f);
filter.Insert(3);
EXPECT_EQ(3, filter.GetPercentileValue());
filter.Insert(4);
EXPECT_EQ(4, filter.GetPercentileValue());
}
+TEST(PercentileFilterTest, MedianFilterDouble) {
+ PercentileFilter<double> filter(0.5f);
+ filter.Insert(2.71828);
+ filter.Insert(3.14159);
+ filter.Insert(1.41421);
+ EXPECT_EQ(2.71828, filter.GetPercentileValue());
+}
+
+TEST(PercentileFilterTest, MedianFilterInt) {
+ PercentileFilter<int> filter(0.5f);
+ filter.Insert(INT_MIN);
+ filter.Insert(1);
+ filter.Insert(2);
+ EXPECT_EQ(1, filter.GetPercentileValue());
+ filter.Insert(INT_MAX);
+ filter.Erase(INT_MIN);
+ EXPECT_EQ(2, filter.GetPercentileValue());
+}
+
+TEST(PercentileFilterTest, MedianFilterUnsigned) {
+ PercentileFilter<unsigned> filter(0.5f);
+ filter.Insert(UINT_MAX);
+ filter.Insert(2u);
+ filter.Insert(1u);
+ EXPECT_EQ(2u, filter.GetPercentileValue());
+ filter.Insert(0u);
+ filter.Erase(UINT_MAX);
+ EXPECT_EQ(1u, filter.GetPercentileValue());
+}
+
TEST_P(PercentileFilterTest, EmptyFilter) {
EXPECT_EQ(0, filter_.GetPercentileValue());
filter_.Insert(3);

Powered by Google App Engine
This is Rietveld 408576698