aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/messagebus/cc_semaphore_ut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'library/cpp/messagebus/cc_semaphore_ut.cpp')
-rw-r--r--library/cpp/messagebus/cc_semaphore_ut.cpp70
1 files changed, 35 insertions, 35 deletions
diff --git a/library/cpp/messagebus/cc_semaphore_ut.cpp b/library/cpp/messagebus/cc_semaphore_ut.cpp
index 5359ce2f7f..206bb7c96a 100644
--- a/library/cpp/messagebus/cc_semaphore_ut.cpp
+++ b/library/cpp/messagebus/cc_semaphore_ut.cpp
@@ -1,45 +1,45 @@
#include <library/cpp/testing/unittest/registar.h>
-
-#include "cc_semaphore.h"
-
+
+#include "cc_semaphore.h"
+
#include <util/system/atomic.h>
-namespace {
+namespace {
struct TTestSemaphore: public TComplexConditionSemaphore<TTestSemaphore> {
- TAtomic Current;
-
+ TAtomic Current;
+
TTestSemaphore()
: Current(0)
{
}
-
- bool TryWait() {
- return AtomicGet(Current) > 0;
- }
-
- void Aquire() {
- Wait();
- AtomicDecrement(Current);
- }
-
- void Release() {
- AtomicIncrement(Current);
- Updated();
- }
- };
-}
-
+
+ bool TryWait() {
+ return AtomicGet(Current) > 0;
+ }
+
+ void Aquire() {
+ Wait();
+ AtomicDecrement(Current);
+ }
+
+ void Release() {
+ AtomicIncrement(Current);
+ Updated();
+ }
+ };
+}
+
Y_UNIT_TEST_SUITE(TComplexConditionSemaphore) {
Y_UNIT_TEST(Simple) {
- TTestSemaphore sema;
- UNIT_ASSERT(!sema.TryWait());
- sema.Release();
- UNIT_ASSERT(sema.TryWait());
- sema.Release();
- UNIT_ASSERT(sema.TryWait());
- sema.Aquire();
- UNIT_ASSERT(sema.TryWait());
- sema.Aquire();
- UNIT_ASSERT(!sema.TryWait());
- }
-}
+ TTestSemaphore sema;
+ UNIT_ASSERT(!sema.TryWait());
+ sema.Release();
+ UNIT_ASSERT(sema.TryWait());
+ sema.Release();
+ UNIT_ASSERT(sema.TryWait());
+ sema.Aquire();
+ UNIT_ASSERT(sema.TryWait());
+ sema.Aquire();
+ UNIT_ASSERT(!sema.TryWait());
+ }
+}