diff options
author | lexeyo <lexeyo@yandex-team.ru> | 2022-02-10 16:50:52 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:50:52 +0300 |
commit | c0a1bd5a47467ef8bf618172a331c90a2e70d71f (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/threading/future/future_ut.cpp | |
parent | 7bd28c29ae2a1fba7a03bcf4c658af66fe1373bf (diff) | |
download | ydb-c0a1bd5a47467ef8bf618172a331c90a2e70d71f.tar.gz |
Restoring authorship annotation for <lexeyo@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/threading/future/future_ut.cpp')
-rw-r--r-- | library/cpp/threading/future/future_ut.cpp | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/library/cpp/threading/future/future_ut.cpp b/library/cpp/threading/future/future_ut.cpp index f8f0660574..05950a568d 100644 --- a/library/cpp/threading/future/future_ut.cpp +++ b/library/cpp/threading/future/future_ut.cpp @@ -3,12 +3,12 @@ #include <library/cpp/testing/unittest/registar.h> #include <list> -#include <type_traits> +#include <type_traits> namespace NThreading { - -namespace { - + +namespace { + class TCopyCounter { public: TCopyCounter(size_t* numCopies) @@ -35,33 +35,33 @@ namespace { size_t* NumCopies = nullptr; }; - template <typename T> - auto MakePromise() { - if constexpr (std::is_same_v<T, void>) { - return NewPromise(); - } - return NewPromise<T>(); - } - - - template <typename T> - void TestFutureStateId() { - TFuture<T> empty; - UNIT_ASSERT(!empty.StateId().Defined()); - auto promise1 = MakePromise<T>(); - auto future11 = promise1.GetFuture(); - UNIT_ASSERT(future11.StateId().Defined()); - auto future12 = promise1.GetFuture(); - UNIT_ASSERT_EQUAL(future11.StateId(), future11.StateId()); // same result for subsequent invocations - UNIT_ASSERT_EQUAL(future11.StateId(), future12.StateId()); // same result for different futures with the same state - auto promise2 = MakePromise<T>(); - auto future2 = promise2.GetFuture(); - UNIT_ASSERT(future2.StateId().Defined()); - UNIT_ASSERT_UNEQUAL(future11.StateId(), future2.StateId()); // different results for futures with different states - } - -} - + template <typename T> + auto MakePromise() { + if constexpr (std::is_same_v<T, void>) { + return NewPromise(); + } + return NewPromise<T>(); + } + + + template <typename T> + void TestFutureStateId() { + TFuture<T> empty; + UNIT_ASSERT(!empty.StateId().Defined()); + auto promise1 = MakePromise<T>(); + auto future11 = promise1.GetFuture(); + UNIT_ASSERT(future11.StateId().Defined()); + auto future12 = promise1.GetFuture(); + UNIT_ASSERT_EQUAL(future11.StateId(), future11.StateId()); // same result for subsequent invocations + UNIT_ASSERT_EQUAL(future11.StateId(), future12.StateId()); // same result for different futures with the same state + auto promise2 = MakePromise<T>(); + auto future2 = promise2.GetFuture(); + UNIT_ASSERT(future2.StateId().Defined()); + UNIT_ASSERT_UNEQUAL(future11.StateId(), future2.StateId()); // different results for futures with different states + } + +} + //////////////////////////////////////////////////////////////////////////////// Y_UNIT_TEST_SUITE(TFutureTest) { @@ -577,11 +577,11 @@ namespace { promise1.SetValue(); UNIT_ASSERT_EXCEPTION_CONTAINS(wait.GetValueSync(), yexception, "foo-exception"); } - - Y_UNIT_TEST(FutureStateId) { - TestFutureStateId<void>(); - TestFutureStateId<int>(); - } + + Y_UNIT_TEST(FutureStateId) { + TestFutureStateId<void>(); + TestFutureStateId<int>(); + } template <typename T> void TestApplyNoRvalueCopyImpl() { |