3#include <gtest/gtest.h>
5#include <enums/names.structs.usrv.pb.hpp>
9TEST(EnumNames, Unprefixed) {
10 using Enum = enums::structs::Unprefixed;
11 static_assert(std::is_enum_v<Enum>);
12 static_assert(std::is_same_v<
decltype(Enum::kFooVar), Enum>);
13 static_assert(std::is_same_v<
decltype(Enum::kBarVar), Enum>);
16TEST(EnumNames, AllowedCuts) {
17 using Enum = enums::structs::AllowedCuts;
18 static_assert(std::is_enum_v<Enum>);
19 static_assert(std::is_same_v<
decltype(Enum::kFooVar), Enum>);
20 static_assert(std::is_same_v<
decltype(Enum::kDigits1), Enum>);
23TEST(EnumNames, DisallowedCuts) {
24 using Enum = enums::structs::DisallowedCuts;
25 static_assert(std::is_enum_v<Enum>);
26 static_assert(std::is_same_v<
decltype(Enum::kDisallowedCutsUnknown), Enum>);
27 static_assert(std::is_same_v<
decltype(Enum::kDisallowedCuts), Enum>);
28 static_assert(std::is_same_v<
decltype(Enum::kDisallowedCuts1), Enum>);
29 static_assert(std::is_same_v<
decltype(Enum::kDisallowedCuts2), Enum>);
30 static_assert(std::is_same_v<
decltype(Enum::kDisallowedCutsCamel), Enum>);
33TEST(EnumNames, NestedTrick) {
34 using Enum = enums::structs::NestedTrickEnum;
35 static_assert(std::is_enum_v<Enum>);
36 static_assert(std::is_same_v<
decltype(Enum::kFooVar), Enum>);
39TEST(EnumNames, WithoutPrefix) {
40 using Enum = enums::structs::WithoutPrefix;
41 static_assert(std::is_same_v<
decltype(Enum::kBarVar), Enum>);
42 static_assert(std::is_same_v<
decltype(Enum::kBarFoo), Enum>);
43 static_assert(std::is_same_v<
decltype(Enum::kBarFoo1), Enum>);
44 static_assert(std::is_same_v<
decltype(Enum::kBarFooQux), Enum>);
45 static_assert(std::is_same_v<
decltype(Enum::kBarFooQuX1), Enum>);