| //===---------------------------------------------------------------------===// |
| // statistics_test - Unit tests for src/statistics.cc |
| //===---------------------------------------------------------------------===// |
| |
| #include "../src/statistics.h" |
| #include "gtest/gtest.h" |
| |
| namespace { |
| TEST(StatisticsTest, Mean) { |
| std::vector<double> Inputs; |
| { |
| Inputs = {42, 42, 42, 42}; |
| double Res = benchmark::StatisticsMean(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 42.0); |
| } |
| { |
| Inputs = {1, 2, 3, 4}; |
| double Res = benchmark::StatisticsMean(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 2.5); |
| } |
| { |
| Inputs = {1, 2, 5, 10, 10, 14}; |
| double Res = benchmark::StatisticsMean(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 7.0); |
| } |
| } |
| |
| TEST(StatisticsTest, Median) { |
| std::vector<double> Inputs; |
| { |
| Inputs = {42, 42, 42, 42}; |
| double Res = benchmark::StatisticsMedian(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 42.0); |
| } |
| { |
| Inputs = {1, 2, 3, 4}; |
| double Res = benchmark::StatisticsMedian(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 2.5); |
| } |
| { |
| Inputs = {1, 2, 5, 10, 10}; |
| double Res = benchmark::StatisticsMedian(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 5.0); |
| } |
| } |
| |
| TEST(StatisticsTest, StdDev) { |
| std::vector<double> Inputs; |
| { |
| Inputs = {101, 101, 101, 101}; |
| double Res = benchmark::StatisticsStdDev(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 0.0); |
| } |
| { |
| Inputs = {1, 2, 3}; |
| double Res = benchmark::StatisticsStdDev(Inputs); |
| EXPECT_DOUBLE_EQ(Res, 1.0); |
| } |
| } |
| |
| } // end namespace |