| #include "utils/unique_call.hpp" |
| class TestUniqueCall : public Test |
| void uniqueCallIncrementCounter() |
| uniqueCall1([this](auto context) { ++counter; }); |
| void uniqueCallWhileUniqueCallIsActiveIncrementCounter() |
| uniqueCall2([this](auto context) { |
| uniqueCallWhileUniqueCallIsActiveIncrementCounter(); |
| TEST_F(TestUniqueCall, shouldExecuteNormally) |
| for (size_t i = 0; i < 3u; ++i) |
| uniqueCallIncrementCounter(); |
| ASSERT_THAT(counter, Eq(3u)); |
| TEST_F(TestUniqueCall, shouldNotExecuteWhenPreviousExecutionIsStillActive) |
| for (size_t i = 0; i < 3u; ++i) |
| uniqueCallWhileUniqueCallIsActiveIncrementCounter(); |
| ASSERT_THAT(counter, Eq(3u)); |