aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/testing/gtest_extensions/probe.h
diff options
context:
space:
mode:
authorpsushin <psushin@yandex-team.ru>2022-02-10 16:49:20 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:20 +0300
commit85ad20a00eb9c7d4dcae0debe5172d5f9bc6792f (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/testing/gtest_extensions/probe.h
parent4ba0e0cae125e5faa4b5664a88c54ab6af93ea4d (diff)
downloadydb-85ad20a00eb9c7d4dcae0debe5172d5f9bc6792f.tar.gz
Restoring authorship annotation for <psushin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/testing/gtest_extensions/probe.h')
-rw-r--r--library/cpp/testing/gtest_extensions/probe.h42
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 0313cd0f98..7d1fee83d3 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;
}
-}
+}