diff options
author | psushin <psushin@yandex-team.ru> | 2022-02-10 16:49:19 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:19 +0300 |
commit | 4ba0e0cae125e5faa4b5664a88c54ab6af93ea4d (patch) | |
tree | 1c00333319988270b78d83715b1e56fddfa7028e /library/cpp/testing/gtest_extensions/probe.h | |
parent | 7622df751aca736b9e1e20015e6787d5a65643b0 (diff) | |
download | ydb-4ba0e0cae125e5faa4b5664a88c54ab6af93ea4d.tar.gz |
Restoring authorship annotation for <psushin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/testing/gtest_extensions/probe.h')
-rw-r--r-- | library/cpp/testing/gtest_extensions/probe.h | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/library/cpp/testing/gtest_extensions/probe.h b/library/cpp/testing/gtest_extensions/probe.h index 7d1fee83d3..0313cd0f98 100644 --- a/library/cpp/testing/gtest_extensions/probe.h +++ b/library/cpp/testing/gtest_extensions/probe.h @@ -1,58 +1,58 @@ -#pragma once - +#pragma once + #include <util/system/yassert.h> #include <library/cpp/testing/common/probe.h> #include <gtest/gtest.h> #include <gmock/gmock.h> - + namespace testing { using NTesting::TProbe; using NTesting::TProbeState; using NTesting::TCoercibleToProbe; - + // A helper functor which extracts from probe-like objectss their state. struct TProbableTraits { static const TProbeState& ExtractState(const TProbeState& probe) { return probe; } - + static const TProbeState& ExtractState(const TProbeState* probe) { return *probe; } - + static const TProbeState& ExtractState(const TProbe& probe) { return *probe.State; } - + static const TProbeState& ExtractState(const TCoercibleToProbe& probe) { return *probe.State; } }; - + void PrintTo(const TProbeState& state, ::std::ostream* os); - + inline void PrintTo(const TProbe& probe, ::std::ostream* os) { PrintTo(TProbableTraits::ExtractState(probe), os); - } - + } + inline void PrintTo(const TCoercibleToProbe& probe, ::std::ostream* os) { PrintTo(TProbableTraits::ExtractState(probe), os); - } - + } + MATCHER(IsAlive, "is alive") { Y_UNUSED(result_listener); const auto& state = TProbableTraits::ExtractState(arg); return state.Destructors < state.Constructors + state.CopyConstructors + state.CopyAssignments; - } - + } + MATCHER(IsDead, "is dead") { Y_UNUSED(result_listener); const auto& state = TProbableTraits::ExtractState(arg); return state.Destructors == state.Constructors + state.CopyConstructors + state.CopyAssignments; - } - + } + MATCHER_P2(HasCopyMoveCounts, copyCount, moveCount, "" + \ PrintToString(copyCount) + " copy constructors and " + \ PrintToString(moveCount) + " move constructors were called") { @@ -60,22 +60,22 @@ namespace testing { const auto& state = TProbableTraits::ExtractState(arg); return state.CopyConstructors == copyCount && state.MoveConstructors == moveCount; } - + MATCHER(NoCopies, "no copies were made") { Y_UNUSED(result_listener); const auto& state = TProbableTraits::ExtractState(arg); return 0 == state.CopyConstructors && 0 == state.CopyAssignments; } - + MATCHER(NoMoves, "no moves were made") { Y_UNUSED(result_listener); const auto& state = TProbableTraits::ExtractState(arg); return 0 == state.MoveConstructors && 0 == state.MoveAssignments; } - + MATCHER(NoAssignments, "no assignments were made") { Y_UNUSED(result_listener); const auto& state = TProbableTraits::ExtractState(arg); return 0 == state.CopyAssignments && 0 == state.MoveAssignments; } -} +} |