Index: chrome/browser/android/vr_shell/fps_meter_unittest.cc |
diff --git a/chrome/browser/android/vr_shell/fps_meter_unittest.cc b/chrome/browser/android/vr_shell/fps_meter_unittest.cc |
index 6335af86289f67b3ab7f32bb130dc5077f3f1e85..18403f387f0d91a86ecf629a35427aa4f2943399 100644 |
--- a/chrome/browser/android/vr_shell/fps_meter_unittest.cc |
+++ b/chrome/browser/android/vr_shell/fps_meter_unittest.cc |
@@ -77,4 +77,37 @@ TEST(FPSMeter, AccurateFPSWithHigherFramerate) { |
} |
} |
+TEST(SlidingAverage, Basics) { |
+ SlidingAverage meter(5); |
+ |
+ // No values yet |
+ EXPECT_EQ(42, meter.GetAverageOrDefault(42)); |
+ EXPECT_EQ(0, meter.GetAverage()); |
+ |
+ meter.AddSample(100); |
+ EXPECT_EQ(100, meter.GetAverageOrDefault(42)); |
+ EXPECT_EQ(100, meter.GetAverage()); |
+ |
+ meter.AddSample(200); |
+ EXPECT_EQ(150, meter.GetAverage()); |
+ |
+ meter.AddSample(10); |
+ EXPECT_EQ(103, meter.GetAverage()); |
+ |
+ meter.AddSample(10); |
+ EXPECT_EQ(80, meter.GetAverage()); |
+ |
+ meter.AddSample(10); |
+ EXPECT_EQ(66, meter.GetAverage()); |
+ |
+ meter.AddSample(10); |
+ EXPECT_EQ(48, meter.GetAverage()); |
+ |
+ meter.AddSample(10); |
+ EXPECT_EQ(10, meter.GetAverage()); |
+ |
+ meter.AddSample(110); |
+ EXPECT_EQ(30, meter.GetAverage()); |
+} |
+ |
} // namespace vr_shell |