#include "benchmark/benchmark.h" #include "gtest/gtest.h" namespace { using namespace benchmark; using namespace benchmark::internal; TEST(BenchmarkNameTest, Empty) { const auto name = BenchmarkName(); EXPECT_EQ(name.str(), std::string()); } TEST(BenchmarkNameTest, FunctionName) { auto name = BenchmarkName(); name.function_name = "function_name"; EXPECT_EQ(name.str(), "function_name"); } TEST(BenchmarkNameTest, FunctionNameAndArgs) { auto name = BenchmarkName(); name.function_name = "function_name"; name.args = "some_args:3/4/5"; EXPECT_EQ(name.str(), "function_name/some_args:3/4/5"); } TEST(BenchmarkNameTest, MinTime) { auto name = BenchmarkName(); name.function_name = "function_name"; name.args = "some_args:3/4"; name.min_time = "min_time:3.4s"; EXPECT_EQ(name.str(), "function_name/some_args:3/4/min_time:3.4s"); } TEST(BenchmarkNameTest, MinWarmUpTime) { auto name = BenchmarkName(); name.function_name = "function_name"; name.args = "some_args:3/4"; name.min_warmup_time = "min_warmup_time:3.5s"; EXPECT_EQ(name.str(), "function_name/some_args:3/4/min_warmup_time:3.5s"); } TEST(BenchmarkNameTest, Iterations) { auto name = BenchmarkName(); name.function_name = "function_name"; name.min_time = "min_time:3.4s"; name.iterations = "iterations:42"; EXPECT_EQ(name.str(), "function_name/min_time:3.4s/iterations:42"); } TEST(BenchmarkNameTest, Repetitions) { auto name = BenchmarkName(); name.function_name = "function_name"; name.min_time = "min_time:3.4s"; name.repetitions = "repetitions:24"; EXPECT_EQ(name.str(), "function_name/min_time:3.4s/repetitions:24"); } TEST(BenchmarkNameTest, TimeType) { auto name = BenchmarkName(); name.function_name = "function_name"; name.min_time = "min_time:3.4s"; name.time_type = "hammer_time"; EXPECT_EQ(name.str(), "function_name/min_time:3.4s/hammer_time"); } TEST(BenchmarkNameTest, Threads) { auto name = BenchmarkName(); name.function_name = "function_name"; name.min_time = "min_time:3.4s"; name.threads = "threads:256"; EXPECT_EQ(name.str(), "function_name/min_time:3.4s/threads:256"); } TEST(BenchmarkNameTest, TestEmptyFunctionName) { auto name = BenchmarkName(); name.args = "first:3/second:4"; name.threads = "threads:22"; EXPECT_EQ(name.str(), "first:3/second:4/threads:22"); } } // end namespace