aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/flags_ut.cpp
diff options
context:
space:
mode:
authorAlexander Fokin <apfokin@gmail.com>2022-02-10 16:45:38 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:38 +0300
commit863a59a65247c24db7cb06789bc5cf79d04da32f (patch)
tree139dc000c8cd4a40f5659e421b7c75135d080307 /util/generic/flags_ut.cpp
parentf64e95a9eb9ab03240599eb9581c5a9102426a96 (diff)
downloadydb-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.cpp106
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());
}
-}
+}