aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/misc/unittests/enum_ut.cpp
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-11-08 08:53:31 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-11-08 08:53:31 +0000
commit826596ba5418687a87696a06770b2350dec7793d (patch)
treea9111b318a9dd68d20785dc39e45d8b1404c27b4 /library/cpp/yt/misc/unittests/enum_ut.cpp
parent37b6f076aac14aa8c23251c80178aa3c6bb663b3 (diff)
parent726d467e9898a4afca4523f30dd420cd2a85b43c (diff)
downloadydb-826596ba5418687a87696a06770b2350dec7793d.tar.gz
Merge branch 'rightlib' into mergelibs-241108-0852
Diffstat (limited to 'library/cpp/yt/misc/unittests/enum_ut.cpp')
-rw-r--r--library/cpp/yt/misc/unittests/enum_ut.cpp38
1 files changed, 13 insertions, 25 deletions
diff --git a/library/cpp/yt/misc/unittests/enum_ut.cpp b/library/cpp/yt/misc/unittests/enum_ut.cpp
index fc7feed2279..22bfe1fdc91 100644
--- a/library/cpp/yt/misc/unittests/enum_ut.cpp
+++ b/library/cpp/yt/misc/unittests/enum_ut.cpp
@@ -215,10 +215,21 @@ TEST(TEnumTest, IsKnownValue)
EXPECT_TRUE(TEnumTraits<ESimple>::IsKnownValue(ESimple::X));
EXPECT_TRUE(TEnumTraits<ESimple>::IsKnownValue(ESimple::Y));
EXPECT_TRUE(TEnumTraits<ESimple>::IsKnownValue(ESimple::Z));
-
EXPECT_FALSE(TEnumTraits<ESimple>::IsKnownValue(static_cast<ESimple>(100)));
+}
- EXPECT_TRUE(TEnumTraits<EColor>::IsKnownValue(EColor::Red));
+TEST(TEnumTest, IsValidValue)
+{
+ EXPECT_TRUE(TEnumTraits<ESimple>::IsValidValue(ESimple::X));
+ EXPECT_TRUE(TEnumTraits<ESimple>::IsValidValue(ESimple::Y));
+ EXPECT_TRUE(TEnumTraits<ESimple>::IsValidValue(ESimple::Z));
+ EXPECT_FALSE(TEnumTraits<ESimple>::IsValidValue(static_cast<ESimple>(100)));
+
+ EXPECT_TRUE(TEnumTraits<EFlag>::IsValidValue(EFlag()));
+ EXPECT_TRUE(TEnumTraits<EFlag>::IsValidValue(EFlag::_1));
+ EXPECT_TRUE(TEnumTraits<EFlag>::IsValidValue(EFlag::_1 | EFlag::_2));
+ EXPECT_TRUE(TEnumTraits<EFlag>::IsValidValue(EFlag::_1 | EFlag::_2 | EFlag::_3 | EFlag::_4));
+ EXPECT_FALSE(TEnumTraits<EFlag>::IsValidValue(static_cast<EFlag>(0x10)));
}
TEST(TEnumTest, AllSetValue)
@@ -280,29 +291,6 @@ TEST(TEnumTest, CustomString)
EXPECT_EQ("1_b", ToString(ECustomString::B));
}
-TEST(TEnumTest, Cast)
-{
- ECardinal cardinal;
- {
- char validValue = 2;
- EXPECT_TRUE(TryEnumCast(validValue, &cardinal));
- EXPECT_EQ(cardinal, ECardinal::East);
- }
- {
- char invalidValue = 100;
- EXPECT_FALSE(TryEnumCast(invalidValue, &cardinal));
- }
- {
- int widerTypeValidValue = 3;
- EXPECT_TRUE(TryEnumCast(widerTypeValidValue, &cardinal));
- EXPECT_EQ(cardinal, ECardinal::South);
- }
- {
- int widerTypeInvalueValue = (1 << 8) + 100;
- EXPECT_FALSE(TryEnumCast(widerTypeInvalueValue, &cardinal));
- }
-}
-
TEST(TEnumTest, UnknownValue)
{
EXPECT_EQ(TEnumTraits<EColor>::TryGetUnknownValue(), std::nullopt);