aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/flags_ut.cpp
diff options
context:
space:
mode:
authorkshalnev <kshalnev@yandex-team.com>2023-10-27 17:59:37 +0300
committerkshalnev <kshalnev@yandex-team.com>2023-10-27 19:28:00 +0300
commit2be392e52a29b389db2c1f0ae186b0fe180dd4c6 (patch)
tree2b83f6ff8b1fb0d5a855c151034aa984fd1440ba /util/generic/flags_ut.cpp
parent29c7555b133403754dc684390472a6ce6ab044a7 (diff)
downloadydb-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.cpp10
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));
}