xref: /llvm-project/third-party/benchmark/test/time_unit_gtest.cc (revision a5b797172cc902db166e9a695716fb81405f86e4)
1*a5b79717SMircea Trofin #include "../include/benchmark/benchmark.h"
2*a5b79717SMircea Trofin #include "gtest/gtest.h"
3*a5b79717SMircea Trofin 
4*a5b79717SMircea Trofin namespace benchmark {
5*a5b79717SMircea Trofin namespace internal {
6*a5b79717SMircea Trofin 
7*a5b79717SMircea Trofin namespace {
8*a5b79717SMircea Trofin 
9*a5b79717SMircea Trofin class DummyBenchmark : public Benchmark {
10*a5b79717SMircea Trofin  public:
DummyBenchmark()11*a5b79717SMircea Trofin   DummyBenchmark() : Benchmark("dummy") {}
Run(State &)12*a5b79717SMircea Trofin   void Run(State&) override {}
13*a5b79717SMircea Trofin };
14*a5b79717SMircea Trofin 
TEST(DefaultTimeUnitTest,TimeUnitIsNotSet)15*a5b79717SMircea Trofin TEST(DefaultTimeUnitTest, TimeUnitIsNotSet) {
16*a5b79717SMircea Trofin   DummyBenchmark benchmark;
17*a5b79717SMircea Trofin   EXPECT_EQ(benchmark.GetTimeUnit(), kNanosecond);
18*a5b79717SMircea Trofin }
19*a5b79717SMircea Trofin 
TEST(DefaultTimeUnitTest,DefaultIsSet)20*a5b79717SMircea Trofin TEST(DefaultTimeUnitTest, DefaultIsSet) {
21*a5b79717SMircea Trofin   DummyBenchmark benchmark;
22*a5b79717SMircea Trofin   EXPECT_EQ(benchmark.GetTimeUnit(), kNanosecond);
23*a5b79717SMircea Trofin   SetDefaultTimeUnit(kMillisecond);
24*a5b79717SMircea Trofin   EXPECT_EQ(benchmark.GetTimeUnit(), kMillisecond);
25*a5b79717SMircea Trofin }
26*a5b79717SMircea Trofin 
TEST(DefaultTimeUnitTest,DefaultAndExplicitUnitIsSet)27*a5b79717SMircea Trofin TEST(DefaultTimeUnitTest, DefaultAndExplicitUnitIsSet) {
28*a5b79717SMircea Trofin   DummyBenchmark benchmark;
29*a5b79717SMircea Trofin   benchmark.Unit(kMillisecond);
30*a5b79717SMircea Trofin   SetDefaultTimeUnit(kMicrosecond);
31*a5b79717SMircea Trofin 
32*a5b79717SMircea Trofin   EXPECT_EQ(benchmark.GetTimeUnit(), kMillisecond);
33*a5b79717SMircea Trofin }
34*a5b79717SMircea Trofin 
35*a5b79717SMircea Trofin }  // namespace
36*a5b79717SMircea Trofin }  // namespace internal
37*a5b79717SMircea Trofin }  // namespace benchmark
38