blob: 8d6800946f040b74bdb6571b0519dd40c7c66c87 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <tools/enum_parser/parse_enum/benchmark_build/lib/enum_huge.h_serialized.h>
#include <tools/enum_parser/parse_enum/benchmark_build/lib/enum_enormous.h_serialized.h>
#include <library/cpp/testing/unittest/registar.h>
#include <util/generic/serialized_enum.h>
#include <util/string/cast.h>
namespace {
template <class EEnum>
void EnumerateEnum() {
const auto& allValues = GetEnumAllValues<EEnum>();
TString s;
for (EEnum e : allValues) {
UNIT_ASSERT_NO_EXCEPTION(s = ToString(e));
UNIT_ASSERT_NO_EXCEPTION(e = FromString<EEnum>(s));
}
EEnum tmp;
UNIT_ASSERT_VALUES_EQUAL(TryFromString<EEnum>("", tmp), false);
}
}
Y_UNIT_TEST_SUITE(TTestHugeEnums) {
Y_UNIT_TEST(Huge) {
EnumerateEnum<NHuge::EHuge>();
}
Y_UNIT_TEST(Enormous) {
EnumerateEnum<EEnormous>();
}
};
|