diff options
author | Alexander Fokin <apfokin@gmail.com> | 2022-02-10 16:45:38 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:38 +0300 |
commit | 863a59a65247c24db7cb06789bc5cf79d04da32f (patch) | |
tree | 139dc000c8cd4a40f5659e421b7c75135d080307 /util/generic/flags_ut.cpp | |
parent | f64e95a9eb9ab03240599eb9581c5a9102426a96 (diff) | |
download | ydb-863a59a65247c24db7cb06789bc5cf79d04da32f.tar.gz |
Restoring authorship annotation for Alexander Fokin <apfokin@gmail.com>. Commit 1 of 2.
Diffstat (limited to 'util/generic/flags_ut.cpp')
-rw-r--r-- | util/generic/flags_ut.cpp | 106 |
1 files changed, 53 insertions, 53 deletions
diff --git a/util/generic/flags_ut.cpp b/util/generic/flags_ut.cpp index 5377c6a0580..109ead70909 100644 --- a/util/generic/flags_ut.cpp +++ b/util/generic/flags_ut.cpp @@ -1,27 +1,27 @@ #include <library/cpp/testing/unittest/registar.h> - -#include "flags.h" - + +#include "flags.h" + enum ETestFlag1: ui16 { - Test1 = 1, - Test2 = 2, - Test4 = 4, - Test8 = 8 -}; -Y_DECLARE_FLAGS(ETest1, ETestFlag1) -Y_DECLARE_OPERATORS_FOR_FLAGS(ETest1) - + Test1 = 1, + Test2 = 2, + Test4 = 4, + Test8 = 8 +}; +Y_DECLARE_FLAGS(ETest1, ETestFlag1) +Y_DECLARE_OPERATORS_FOR_FLAGS(ETest1) + static_assert(TTypeTraits<ETest1>::IsPod, "flags should be POD type"); -enum class ETestFlag2 { - Test1 = 1, - Test2 = 2, - Test4 = 4, - Test8 = 8 -}; -Y_DECLARE_FLAGS(ETest2, ETestFlag2) -Y_DECLARE_OPERATORS_FOR_FLAGS(ETest2) - +enum class ETestFlag2 { + Test1 = 1, + Test2 = 2, + Test4 = 4, + Test8 = 8 +}; +Y_DECLARE_FLAGS(ETest2, ETestFlag2) +Y_DECLARE_OPERATORS_FOR_FLAGS(ETest2) + namespace { // won't compile without Y_DECLARE_UNUSED enum class ETestFlag3 { One = 1, @@ -32,16 +32,16 @@ namespace { } Y_UNIT_TEST_SUITE(TFlagsTest) { - template <class Enum> - void TestEnum() { + template <class Enum> + void TestEnum() { { auto i = Enum::Test1 | Enum::Test2; - + UNIT_ASSERT((std::is_same<decltype(i), TFlags<Enum>>::value)); UNIT_ASSERT((std::is_same<decltype(~i), TFlags<Enum>>::value)); UNIT_ASSERT(!(std::is_same<decltype(i), int>::value)); UNIT_ASSERT_VALUES_EQUAL(sizeof(Enum), sizeof(TFlags<Enum>)); - + UNIT_ASSERT(i.HasFlags(Enum::Test1)); UNIT_ASSERT(i.HasFlags(Enum::Test4) == false); UNIT_ASSERT(i.HasFlags(Enum::Test1 | Enum::Test4) == false); @@ -64,42 +64,42 @@ Y_UNIT_TEST_SUITE(TFlagsTest) { i.RemoveFlags(Enum::Test1 | Enum::Test2); UNIT_ASSERT_EQUAL(i, TFlags<Enum>()); } - } - + } + Y_UNIT_TEST(TestFlags) { - TestEnum<ETestFlag1>(); - TestEnum<ETestFlag2>(); - } - + TestEnum<ETestFlag1>(); + TestEnum<ETestFlag2>(); + } + Y_UNIT_TEST(TestZero) { - /* This code should simply compile. */ - - ETest1 f = 0; - f = 0; - f = ETest1(0); - - ETest1 ff(0); + /* This code should simply compile. */ + + ETest1 f = 0; + f = 0; + f = ETest1(0); + + ETest1 ff(0); ff = 0; - } - + } + Y_UNIT_TEST(TestOutput) { ETest1 value0 = nullptr, value1 = Test1, value7 = Test1 | Test2 | Test4; - - UNIT_ASSERT_VALUES_EQUAL(ToString(value0), "TFlags(0000000000000000)"); - UNIT_ASSERT_VALUES_EQUAL(ToString(value1), "TFlags(0000000000000001)"); - UNIT_ASSERT_VALUES_EQUAL(ToString(value7), "TFlags(0000000000000111)"); - } - + + UNIT_ASSERT_VALUES_EQUAL(ToString(value0), "TFlags(0000000000000000)"); + UNIT_ASSERT_VALUES_EQUAL(ToString(value1), "TFlags(0000000000000001)"); + UNIT_ASSERT_VALUES_EQUAL(ToString(value7), "TFlags(0000000000000111)"); + } + Y_UNIT_TEST(TestHash) { ETest1 value0 = nullptr, value1 = Test1; - + THashMap<ETest1, int> hash; - hash[value0] = 0; - hash[value1] = 1; - - UNIT_ASSERT_VALUES_EQUAL(hash[value0], 0); - UNIT_ASSERT_VALUES_EQUAL(hash[value1], 1); - } + hash[value0] = 0; + hash[value1] = 1; + + UNIT_ASSERT_VALUES_EQUAL(hash[value0], 0); + UNIT_ASSERT_VALUES_EQUAL(hash[value1], 1); + } Y_UNIT_TEST(TestBaseType) { ui16 goodValue = 7; @@ -114,4 +114,4 @@ Y_UNIT_TEST_SUITE(TFlagsTest) { auto badFlags = ETest1::FromBaseType(badValue); UNIT_ASSERT_VALUES_EQUAL(badValue, badFlags.ToBaseType()); } -} +} |