diff options
author | kshalnev <kshalnev@yandex-team.com> | 2023-10-27 17:59:37 +0300 |
---|---|---|
committer | kshalnev <kshalnev@yandex-team.com> | 2023-10-27 19:28:00 +0300 |
commit | 2be392e52a29b389db2c1f0ae186b0fe180dd4c6 (patch) | |
tree | 2b83f6ff8b1fb0d5a855c151034aa984fd1440ba /util/generic/flags_ut.cpp | |
parent | 29c7555b133403754dc684390472a6ce6ab044a7 (diff) | |
download | ydb-2be392e52a29b389db2c1f0ae186b0fe180dd4c6.tar.gz |
Added HasFlag/Remove Flag for operations with one value, added HasAnyOfFlags.
Diffstat (limited to 'util/generic/flags_ut.cpp')
-rw-r--r-- | util/generic/flags_ut.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/util/generic/flags_ut.cpp b/util/generic/flags_ut.cpp index 5ea5771591..fa2d4464c9 100644 --- a/util/generic/flags_ut.cpp +++ b/util/generic/flags_ut.cpp @@ -42,9 +42,14 @@ Y_UNIT_TEST_SUITE(TFlagsTest) { UNIT_ASSERT(!(std::is_same<decltype(i), int>::value)); UNIT_ASSERT_VALUES_EQUAL(sizeof(Enum), sizeof(TFlags<Enum>)); + UNIT_ASSERT(i.HasFlag(Enum::Test1)); + UNIT_ASSERT(i.HasFlag(Enum::Test4) == false); UNIT_ASSERT(i.HasFlags(Enum::Test1)); UNIT_ASSERT(i.HasFlags(Enum::Test4) == false); UNIT_ASSERT(i.HasFlags(Enum::Test1 | Enum::Test4) == false); + UNIT_ASSERT(i.HasAnyOfFlags(Enum::Test1)); + UNIT_ASSERT(i.HasAnyOfFlags(Enum::Test4) == false); + UNIT_ASSERT(i.HasAnyOfFlags(Enum::Test1 | Enum::Test4)); i |= Enum::Test4; i ^= Enum::Test2; @@ -56,6 +61,11 @@ Y_UNIT_TEST_SUITE(TFlagsTest) { } { auto i = Enum::Test1 | Enum::Test2; + i.RemoveFlag(Enum::Test1); + UNIT_ASSERT_EQUAL(i, TFlags<Enum>(Enum::Test2)); + } + { + auto i = Enum::Test1 | Enum::Test2; i.RemoveFlags(Enum::Test1); UNIT_ASSERT_EQUAL(i, TFlags<Enum>(Enum::Test2)); } |