tenvex/thirdparty/benchmark/test/time_unit_gtest.cc

39 lines
915 B
C++

#include "benchmark/benchmark_api.h"
#include "benchmark/state.h"
#include "gtest/gtest.h"
namespace benchmark {
namespace internal {
namespace {
class DummyBenchmark : public benchmark::Benchmark {
public:
DummyBenchmark() : Benchmark("dummy") {}
void Run(State& /*state*/) override {}
};
TEST(DefaultTimeUnitTest, TimeUnitIsNotSet) {
DummyBenchmark benchmark;
EXPECT_EQ(benchmark.GetTimeUnit(), kNanosecond);
}
TEST(DefaultTimeUnitTest, DefaultIsSet) {
DummyBenchmark benchmark;
EXPECT_EQ(benchmark.GetTimeUnit(), kNanosecond);
SetDefaultTimeUnit(kMillisecond);
EXPECT_EQ(benchmark.GetTimeUnit(), kMillisecond);
}
TEST(DefaultTimeUnitTest, DefaultAndExplicitUnitIsSet) {
DummyBenchmark benchmark;
benchmark.Unit(kMillisecond);
SetDefaultTimeUnit(kMicrosecond);
EXPECT_EQ(benchmark.GetTimeUnit(), kMillisecond);
}
} // namespace
} // namespace internal
} // namespace benchmark