Files
android/libwvdrmengine/cdm/metrics/test/distribution_unittest.cpp
Alex Dale 21a021e800 Ran clang-format on the metrics directory.
[ Merge of http://go/wvgerrit/137809 ]

Bug: 204946540
Test: Metric unit tests
Change-Id: Ibd68db73ea9ee64664d33c2cb8e8bb7c56674c27
2021-11-03 17:24:34 -07:00

47 lines
1.2 KiB
C++

// Copyright 2017 Google Inc. All Rights Reserved.
//
// Unit tests for Distribution.
#include <float.h>
#include "distribution.h"
#include "gtest/gtest.h"
namespace wvcdm {
namespace metrics {
TEST(DistributionTest, NoValuesRecorded) {
Distribution distribution;
EXPECT_EQ(FLT_MAX, distribution.Min());
EXPECT_EQ(-FLT_MAX, distribution.Max());
EXPECT_EQ(0, distribution.Mean());
EXPECT_EQ(0u, distribution.Count());
EXPECT_EQ(0, distribution.Variance());
}
TEST(DistributionTest, OneValueRecorded) {
Distribution distribution;
distribution.Record(5.0);
EXPECT_EQ(5, distribution.Min());
EXPECT_EQ(5, distribution.Max());
EXPECT_EQ(5, distribution.Mean());
EXPECT_EQ(1u, distribution.Count());
EXPECT_EQ(0, distribution.Variance());
}
TEST(DistributionTest, MultipleValuesRecorded) {
Distribution distribution;
distribution.Record(5.0);
distribution.Record(10.0);
distribution.Record(15.0);
EXPECT_EQ(5, distribution.Min());
EXPECT_EQ(15, distribution.Max());
EXPECT_EQ(10, distribution.Mean());
EXPECT_EQ(3u, distribution.Count());
EXPECT_NEAR(16.6667, distribution.Variance(), 0.0001);
}
} // namespace metrics
} // namespace wvcdm