diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-11-08 08:53:31 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-11-08 08:53:31 +0000 |
commit | 826596ba5418687a87696a06770b2350dec7793d (patch) | |
tree | a9111b318a9dd68d20785dc39e45d8b1404c27b4 /library/cpp/yt/misc/unittests/enum_ut.cpp | |
parent | 37b6f076aac14aa8c23251c80178aa3c6bb663b3 (diff) | |
parent | 726d467e9898a4afca4523f30dd420cd2a85b43c (diff) | |
download | ydb-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.cpp | 38 |
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); |