diff options
author | yazevnul <yazevnul@yandex-team.ru> | 2022-02-10 16:46:48 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:48 +0300 |
commit | 9abfb1a53b7f7b791444d1378e645d8fad9b06ed (patch) | |
tree | 49e222ea1c5804306084bb3ae065bb702625360f /util/generic/cast_ut.cpp | |
parent | 8cbc307de0221f84c80c42dcbe07d40727537e2c (diff) | |
download | ydb-9abfb1a53b7f7b791444d1378e645d8fad9b06ed.tar.gz |
Restoring authorship annotation for <yazevnul@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'util/generic/cast_ut.cpp')
-rw-r--r-- | util/generic/cast_ut.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/util/generic/cast_ut.cpp b/util/generic/cast_ut.cpp index 0ab58f2efc..718a8de79d 100644 --- a/util/generic/cast_ut.cpp +++ b/util/generic/cast_ut.cpp @@ -7,7 +7,7 @@ class TGenericCastsTest: public TTestBase { UNIT_TEST(TestVerifyDynamicCast) UNIT_TEST(TestIntegralCast) UNIT_TEST(TestEnumCast) - UNIT_TEST(TestToUnderlying) + UNIT_TEST(TestToUnderlying) UNIT_TEST(TestBitCast) UNIT_TEST_SUITE_END(); @@ -55,32 +55,32 @@ private: UNIT_ASSERT(SafeIntegerCast<B>(-1) == BM1); UNIT_ASSERT(SafeIntegerCast<C>(1) == C::CM1); } - - void TestToUnderlying() { - enum A { - AM1 = -1 - }; - + + void TestToUnderlying() { + enum A { + AM1 = -1 + }; + enum B: int { - BM1 = -1 - }; - + BM1 = -1 + }; + enum class C: unsigned short { - CM1 = 1 - }; - - static_assert(static_cast<std::underlying_type_t<A>>(AM1) == ToUnderlying(AM1), ""); - static_assert(static_cast<std::underlying_type_t<B>>(BM1) == ToUnderlying(BM1), ""); - static_assert(static_cast<std::underlying_type_t<C>>(C::CM1) == ToUnderlying(C::CM1), ""); - - static_assert(std::is_same<std::underlying_type_t<A>, decltype(ToUnderlying(AM1))>::value, ""); - static_assert(std::is_same<std::underlying_type_t<B>, decltype(ToUnderlying(BM1))>::value, ""); - static_assert(std::is_same<std::underlying_type_t<C>, decltype(ToUnderlying(C::CM1))>::value, ""); - - UNIT_ASSERT_VALUES_EQUAL(static_cast<std::underlying_type_t<A>>(AM1), ToUnderlying(AM1)); - UNIT_ASSERT_VALUES_EQUAL(static_cast<std::underlying_type_t<B>>(BM1), ToUnderlying(BM1)); - UNIT_ASSERT_VALUES_EQUAL(static_cast<std::underlying_type_t<C>>(C::CM1), ToUnderlying(C::CM1)); - } + CM1 = 1 + }; + + static_assert(static_cast<std::underlying_type_t<A>>(AM1) == ToUnderlying(AM1), ""); + static_assert(static_cast<std::underlying_type_t<B>>(BM1) == ToUnderlying(BM1), ""); + static_assert(static_cast<std::underlying_type_t<C>>(C::CM1) == ToUnderlying(C::CM1), ""); + + static_assert(std::is_same<std::underlying_type_t<A>, decltype(ToUnderlying(AM1))>::value, ""); + static_assert(std::is_same<std::underlying_type_t<B>, decltype(ToUnderlying(BM1))>::value, ""); + static_assert(std::is_same<std::underlying_type_t<C>, decltype(ToUnderlying(C::CM1))>::value, ""); + + UNIT_ASSERT_VALUES_EQUAL(static_cast<std::underlying_type_t<A>>(AM1), ToUnderlying(AM1)); + UNIT_ASSERT_VALUES_EQUAL(static_cast<std::underlying_type_t<B>>(BM1), ToUnderlying(BM1)); + UNIT_ASSERT_VALUES_EQUAL(static_cast<std::underlying_type_t<C>>(C::CM1), ToUnderlying(C::CM1)); + } void TestBitCast() { // Change sign of float |