userver: /data/code/userver/libraries/proto-structs/codegen-tests/src/enums/string_operations_test.cpp Source File
Loading...
Searching...
No Matches
string_operations_test.cpp
1#include <gtest/gtest.h>
2
3#include <enums/names.structs.usrv.pb.hpp>
4
5#include <userver/utest/assert_macros.hpp>
6
7USERVER_NAMESPACE_BEGIN
8
9namespace {
10
11using Enum = enums::structs::Unprefixed;
12
13} // namespace
14
15TEST(EnumStringOperations, ToString) { ASSERT_EQ(enums::structs::ToString(Enum::kFooVar), "FOO_VAR"); }
16
17TEST(EnumStringOperations, ToStringView) { ASSERT_EQ(enums::structs::ToStringView(Enum::kFooVar), "FOO_VAR"); }
18
19TEST(EnumStringOperations, Parse) {
20 ASSERT_EQ(enums::structs::Parse("FOO_VAR", formats::parse::To<Enum>()), Enum::kFooVar);
21 UEXPECT_THROW_MSG(
22 enums::structs::Parse("INVALID", formats::parse::To<Enum>()),
23 proto_structs::ConversionError,
24 "unknown enum value: INVALID"
25 );
26}
27
28USERVER_NAMESPACE_END