Home | History | Annotate | Download | only in test
      1 //===---------------------------------------------------------------------===//
      2 // statistics_test - Unit tests for src/statistics.cc
      3 //===---------------------------------------------------------------------===//
      4 
      5 #include "../src/statistics.h"
      6 #include "gtest/gtest.h"
      7 
      8 namespace {
      9 TEST(StatisticsTest, Mean) {
     10   std::vector<double> Inputs;
     11   {
     12     Inputs = {42, 42, 42, 42};
     13     double Res = benchmark::StatisticsMean(Inputs);
     14     EXPECT_DOUBLE_EQ(Res, 42.0);
     15   }
     16   {
     17     Inputs = {1, 2, 3, 4};
     18     double Res = benchmark::StatisticsMean(Inputs);
     19     EXPECT_DOUBLE_EQ(Res, 2.5);
     20   }
     21   {
     22     Inputs = {1, 2, 5, 10, 10, 14};
     23     double Res = benchmark::StatisticsMean(Inputs);
     24     EXPECT_DOUBLE_EQ(Res, 7.0);
     25   }
     26 }
     27 
     28 TEST(StatisticsTest, Median) {
     29   std::vector<double> Inputs;
     30   {
     31     Inputs = {42, 42, 42, 42};
     32     double Res = benchmark::StatisticsMedian(Inputs);
     33     EXPECT_DOUBLE_EQ(Res, 42.0);
     34   }
     35   {
     36     Inputs = {1, 2, 3, 4};
     37     double Res = benchmark::StatisticsMedian(Inputs);
     38     EXPECT_DOUBLE_EQ(Res, 2.5);
     39   }
     40   {
     41     Inputs = {1, 2, 5, 10, 10};
     42     double Res = benchmark::StatisticsMedian(Inputs);
     43     EXPECT_DOUBLE_EQ(Res, 5.0);
     44   }
     45 }
     46 
     47 TEST(StatisticsTest, StdDev) {
     48   std::vector<double> Inputs;
     49   {
     50     Inputs = {101, 101, 101, 101};
     51     double Res = benchmark::StatisticsStdDev(Inputs);
     52     EXPECT_DOUBLE_EQ(Res, 0.0);
     53   }
     54   {
     55     Inputs = {1, 2, 3};
     56     double Res = benchmark::StatisticsStdDev(Inputs);
     57     EXPECT_DOUBLE_EQ(Res, 1.0);
     58   }
     59 }
     60 
     61 }  // end namespace
     62