43#include "gtest/gtest.h"
44#include "gtest/gtest-spi.h"
73using testing::make_tuple;
75using testing::tuple_element;
77#if !GTEST_OS_WINDOWS_MOBILE
81#if GTEST_HAS_PROTOBUF_
82using testing::internal::TestMessage;
86TEST(BuiltInDefaultValueTest, IsNullForPointerTypes) {
87 EXPECT_TRUE(BuiltInDefaultValue<int*>::Get() == NULL);
88 EXPECT_TRUE(BuiltInDefaultValue<const char*>::Get() == NULL);
89 EXPECT_TRUE(BuiltInDefaultValue<void*>::Get() == NULL);
93TEST(BuiltInDefaultValueTest, ExistsForPointerTypes) {
95 EXPECT_TRUE(BuiltInDefaultValue<const char*>::Exists());
101TEST(BuiltInDefaultValueTest, IsZeroForNumericTypes) {
102 EXPECT_EQ(0U, BuiltInDefaultValue<unsigned char>::Get());
103 EXPECT_EQ(0, BuiltInDefaultValue<signed char>::Get());
104 EXPECT_EQ(0, BuiltInDefaultValue<char>::Get());
105#if GMOCK_HAS_SIGNED_WCHAR_T_
106 EXPECT_EQ(0U, BuiltInDefaultValue<unsigned wchar_t>::Get());
107 EXPECT_EQ(0, BuiltInDefaultValue<signed wchar_t>::Get());
109#if GMOCK_WCHAR_T_IS_NATIVE_
110 EXPECT_EQ(0, BuiltInDefaultValue<wchar_t>::Get());
112 EXPECT_EQ(0U, BuiltInDefaultValue<unsigned short>::Get());
113 EXPECT_EQ(0, BuiltInDefaultValue<signed short>::Get());
114 EXPECT_EQ(0, BuiltInDefaultValue<short>::Get());
115 EXPECT_EQ(0U, BuiltInDefaultValue<unsigned int>::Get());
116 EXPECT_EQ(0, BuiltInDefaultValue<signed int>::Get());
117 EXPECT_EQ(0, BuiltInDefaultValue<int>::Get());
118 EXPECT_EQ(0U, BuiltInDefaultValue<unsigned long>::Get());
119 EXPECT_EQ(0, BuiltInDefaultValue<signed long>::Get());
120 EXPECT_EQ(0, BuiltInDefaultValue<long>::Get());
121 EXPECT_EQ(0U, BuiltInDefaultValue<UInt64>::Get());
122 EXPECT_EQ(0, BuiltInDefaultValue<Int64>::Get());
123 EXPECT_EQ(0, BuiltInDefaultValue<float>::Get());
124 EXPECT_EQ(0, BuiltInDefaultValue<double>::Get());
129TEST(BuiltInDefaultValueTest, ExistsForNumericTypes) {
130 EXPECT_TRUE(BuiltInDefaultValue<unsigned char>::Exists());
131 EXPECT_TRUE(BuiltInDefaultValue<signed char>::Exists());
133#if GMOCK_HAS_SIGNED_WCHAR_T_
134 EXPECT_TRUE(BuiltInDefaultValue<unsigned wchar_t>::Exists());
135 EXPECT_TRUE(BuiltInDefaultValue<signed wchar_t>::Exists());
137#if GMOCK_WCHAR_T_IS_NATIVE_
138 EXPECT_TRUE(BuiltInDefaultValue<wchar_t>::Exists());
140 EXPECT_TRUE(BuiltInDefaultValue<unsigned short>::Exists());
141 EXPECT_TRUE(BuiltInDefaultValue<signed short>::Exists());
143 EXPECT_TRUE(BuiltInDefaultValue<unsigned int>::Exists());
144 EXPECT_TRUE(BuiltInDefaultValue<signed int>::Exists());
146 EXPECT_TRUE(BuiltInDefaultValue<unsigned long>::Exists());
147 EXPECT_TRUE(BuiltInDefaultValue<signed long>::Exists());
149 EXPECT_TRUE(BuiltInDefaultValue<UInt64>::Exists());
152 EXPECT_TRUE(BuiltInDefaultValue<double>::Exists());
156TEST(BuiltInDefaultValueTest, IsFalseForBool) {
161TEST(BuiltInDefaultValueTest, BoolExists) {
167TEST(BuiltInDefaultValueTest, IsEmptyStringForString) {
168#if GTEST_HAS_GLOBAL_STRING
169 EXPECT_EQ(
"", BuiltInDefaultValue< ::string>::Get());
172 EXPECT_EQ(
"", BuiltInDefaultValue< ::std::string>::Get());
177TEST(BuiltInDefaultValueTest, ExistsForString) {
178#if GTEST_HAS_GLOBAL_STRING
179 EXPECT_TRUE(BuiltInDefaultValue< ::string>::Exists());
182 EXPECT_TRUE(BuiltInDefaultValue< ::std::string>::Exists());
187TEST(BuiltInDefaultValueTest, WorksForConstTypes) {
188 EXPECT_EQ(
"", BuiltInDefaultValue<const std::string>::Get());
189 EXPECT_EQ(0, BuiltInDefaultValue<const int>::Get());
190 EXPECT_TRUE(BuiltInDefaultValue<char* const>::Get() == NULL);
195class MyDefaultConstructible {
197 MyDefaultConstructible() : value_(42) {}
199 int value()
const {
return value_; }
206class MyNonDefaultConstructible {
209 explicit MyNonDefaultConstructible(
int a_value) : value_(a_value) {}
211 int value()
const {
return value_; }
217#if GTEST_HAS_STD_TYPE_TRAITS_
219TEST(BuiltInDefaultValueTest, ExistsForDefaultConstructibleType) {
220 EXPECT_TRUE(BuiltInDefaultValue<MyDefaultConstructible>::Exists());
223TEST(BuiltInDefaultValueTest, IsDefaultConstructedForDefaultConstructibleType) {
224 EXPECT_EQ(42, BuiltInDefaultValue<MyDefaultConstructible>::Get().
value());
229TEST(BuiltInDefaultValueTest, DoesNotExistForNonDefaultConstructibleType) {
230 EXPECT_FALSE(BuiltInDefaultValue<MyNonDefaultConstructible>::Exists());
234TEST(BuiltInDefaultValueDeathTest, IsUndefinedForReferences) {
236 BuiltInDefaultValue<int&>::Get();
239 BuiltInDefaultValue<const char&>::Get();
243TEST(BuiltInDefaultValueDeathTest, IsUndefinedForNonDefaultConstructibleType) {
245 BuiltInDefaultValue<MyNonDefaultConstructible>::Get();
250TEST(DefaultValueTest, IsInitiallyUnset) {
252 EXPECT_FALSE(DefaultValue<MyDefaultConstructible>::IsSet());
253 EXPECT_FALSE(DefaultValue<const MyNonDefaultConstructible>::IsSet());
257TEST(DefaultValueTest, CanBeSetAndUnset) {
259 EXPECT_FALSE(DefaultValue<const MyNonDefaultConstructible>::Exists());
261 DefaultValue<int>::Set(1);
262 DefaultValue<const MyNonDefaultConstructible>::Set(
263 MyNonDefaultConstructible(42));
266 EXPECT_EQ(42, DefaultValue<const MyNonDefaultConstructible>::Get().
value());
269 EXPECT_TRUE(DefaultValue<const MyNonDefaultConstructible>::Exists());
271 DefaultValue<int>::Clear();
272 DefaultValue<const MyNonDefaultConstructible>::Clear();
275 EXPECT_FALSE(DefaultValue<const MyNonDefaultConstructible>::IsSet());
278 EXPECT_FALSE(DefaultValue<const MyNonDefaultConstructible>::Exists());
284TEST(DefaultValueDeathTest, GetReturnsBuiltInDefaultValueWhenUnset) {
287 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible>::IsSet());
288 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible>::Exists());
293 DefaultValue<MyNonDefaultConstructible>::Get();
297#if GTEST_HAS_STD_UNIQUE_PTR_
298TEST(DefaultValueTest, GetWorksForMoveOnlyIfSet) {
299 EXPECT_TRUE(DefaultValue<std::unique_ptr<int>>::Exists());
300 EXPECT_TRUE(DefaultValue<std::unique_ptr<int>>::Get() == NULL);
301 DefaultValue<std::unique_ptr<int>>::SetFactory([] {
302 return std::unique_ptr<int>(
new int(42));
304 EXPECT_TRUE(DefaultValue<std::unique_ptr<int>>::Exists());
305 std::unique_ptr<int>
i = DefaultValue<std::unique_ptr<int>>::Get();
311TEST(DefaultValueTest, GetWorksForVoid) {
312 return DefaultValue<void>::Get();
318TEST(DefaultValueOfReferenceTest, IsInitiallyUnset) {
320 EXPECT_FALSE(DefaultValue<MyDefaultConstructible&>::IsSet());
321 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible&>::IsSet());
325TEST(DefaultValueOfReferenceTest, IsInitiallyNotExisting) {
327 EXPECT_FALSE(DefaultValue<MyDefaultConstructible&>::Exists());
328 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible&>::Exists());
332TEST(DefaultValueOfReferenceTest, CanBeSetAndUnset) {
334 DefaultValue<const int&>::Set(n);
335 MyNonDefaultConstructible x(42);
336 DefaultValue<MyNonDefaultConstructible&>::Set(x);
339 EXPECT_TRUE(DefaultValue<MyNonDefaultConstructible&>::Exists());
341 EXPECT_EQ(&n, &(DefaultValue<const int&>::Get()));
342 EXPECT_EQ(&x, &(DefaultValue<MyNonDefaultConstructible&>::Get()));
344 DefaultValue<const int&>::Clear();
345 DefaultValue<MyNonDefaultConstructible&>::Clear();
348 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible&>::Exists());
351 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible&>::IsSet());
357TEST(DefaultValueOfReferenceDeathTest, GetReturnsBuiltInDefaultValueWhenUnset) {
359 EXPECT_FALSE(DefaultValue<MyNonDefaultConstructible&>::IsSet());
362 DefaultValue<int&>::Get();
365 DefaultValue<MyNonDefaultConstructible>::Get();
372typedef int MyGlobalFunction(
bool,
int);
374class MyActionImpl :
public ActionInterface<MyGlobalFunction> {
376 virtual int Perform(
const tuple<bool, int>& args) {
381TEST(ActionInterfaceTest, CanBeImplementedByDefiningPerform) {
382 MyActionImpl my_action_impl;
383 (void)my_action_impl;
386TEST(ActionInterfaceTest, MakeAction) {
399TEST(ActionTest, CanBeConstructedFromActionInterface) {
400 Action<MyGlobalFunction>
action(
new MyActionImpl);
404TEST(ActionTest, DelegatesWorkToActionInterface) {
405 const Action<MyGlobalFunction>
action(
new MyActionImpl);
412TEST(ActionTest, IsCopyable) {
413 Action<MyGlobalFunction> a1(
new MyActionImpl);
414 Action<MyGlobalFunction> a2(a1);
438class IsNotZero :
public ActionInterface<bool(int)> {
440 virtual bool Perform(
const tuple<int>& arg) {
451TEST(ActionTest, CanBeConvertedToOtherActionType) {
452 const Action<
bool(
int)> a1(
new IsNotZero);
453 const Action<
int(
char)> a2 = Action<int(char)>(a1);
463class ReturnSecondArgumentAction {
468 template <
typename Result,
typename ArgumentTuple>
469 Result Perform(
const ArgumentTuple& args) {
return get<1>(args); }
474class ReturnZeroFromNullaryFunctionAction {
483 template <
typename Result>
484 Result Perform(
const tuple<>&)
const {
return 0; }
490PolymorphicAction<ReturnSecondArgumentAction> ReturnSecondArgument() {
494PolymorphicAction<ReturnZeroFromNullaryFunctionAction>
495ReturnZeroFromNullaryFunction() {
501TEST(MakePolymorphicActionTest, ConstructsActionFromImpl) {
502 Action<
int(
bool,
int,
double)> a1 = ReturnSecondArgument();
508TEST(MakePolymorphicActionTest, WorksWhenPerformHasOneTemplateParameter) {
509 Action<
int()> a1 = ReturnZeroFromNullaryFunction();
512 Action<
void*()> a2 = ReturnZeroFromNullaryFunction();
518TEST(ReturnTest, WorksForVoid) {
519 const Action<void(
int)> ret =
Return();
524TEST(ReturnTest, ReturnsGivenValue) {
533TEST(ReturnTest, AcceptsStringLiteral) {
534 Action<
const char*()> a1 =
Return(
"Hello");
537 Action<std::string()> a2 =
Return(
"world");
543struct IntegerVectorWrapper {
544 std::vector<int> * v;
545 IntegerVectorWrapper(std::vector<int>& _v) : v(&_v) {}
549TEST(ReturnTest, SupportsWrapperReturnType) {
552 for (
int i = 0;
i < 5; ++
i) v.push_back(i);
556 Action<IntegerVectorWrapper()>
a =
Return(v);
567struct Derived :
public Base {
568 bool operator==(
const Derived&) {
return true; }
571TEST(ReturnTest, IsCovariant) {
587 explicit FromType(
bool* is_converted) : converted_(is_converted) {}
588 bool* converted()
const {
return converted_; }
591 bool*
const converted_;
599 ToType(
const FromType& x) { *x.converted() =
true; }
602TEST(ReturnTest, ConvertsArgumentWhenConverted) {
603 bool converted =
false;
604 FromType x(&converted);
606 EXPECT_TRUE(converted) <<
"Return must convert its argument in its own "
607 <<
"conversion operator.";
609 action.Perform(tuple<>());
610 EXPECT_FALSE(converted) <<
"Action must NOT convert its argument "
611 <<
"when performed.";
614class DestinationType {};
619 operator DestinationType() {
return DestinationType(); }
622TEST(ReturnTest, CanConvertArgumentUsingNonConstTypeCastOperator) {
628TEST(ReturnNullTest, WorksInPointerReturningFunction) {
636#if GTEST_HAS_STD_UNIQUE_PTR_
639TEST(ReturnNullTest, WorksInSmartPointerReturningFunction) {
640 const Action<std::unique_ptr<const int>()> a1 =
ReturnNull();
643 const Action<std::shared_ptr<int>(std::string)> a2 =
ReturnNull();
649TEST(ReturnRefTest, WorksForReference) {
657TEST(ReturnRefTest, IsCovariant) {
668TEST(ReturnRefOfCopyTest, WorksForReference) {
681TEST(ReturnRefOfCopyTest, IsCovariant) {
699#if GTEST_HAS_STD_UNIQUE_PTR_
702 MOCK_METHOD0(MakeVectorUnique, std::vector<std::unique_ptr<int>>());
711TEST(DoDefaultTest, ReturnsBuiltInDefaultValueByDefault) {
720TEST(DoDefaultDeathTest, DiesForUnknowType) {
724#if GTEST_HAS_EXCEPTIONS
736void VoidFunc(
bool ) {}
738TEST(DoDefaultDeathTest, DiesIfUsedInCompositeAction) {
755TEST(DoDefaultTest, ReturnsUserSpecifiedPerTypeDefaultValueWhenThereIsOne) {
756 DefaultValue<int>::Set(1);
761 DefaultValue<int>::Clear();
765TEST(DoDefaultTest, DoesWhatOnCallSpecifies) {
768 .WillByDefault(
Return(2));
775TEST(DoDefaultTest, CannotBeUsedInOnCall) {
780 },
"DoDefault() cannot be used in ON_CALL()");
785TEST(SetArgPointeeTest, SetsTheNthPointee) {
803#if !((GTEST_GCC_VER_ && GTEST_GCC_VER_ < 40000) || GTEST_OS_SYMBIAN)
806TEST(SetArgPointeeTest, AcceptsStringLiteral) {
807 typedef void MyFunction(std::string*,
const char**);
810 const char* ptr = NULL;
822TEST(SetArgPointeeTest, AcceptsWideStringLiteral) {
825 const wchar_t* ptr = NULL;
829# if GTEST_HAS_STD_WSTRING
831 typedef void MyStringFunction(std::wstring*);
833 std::wstring
str =
L"";
842TEST(SetArgPointeeTest, AcceptsCharPointer) {
843 typedef void MyFunction(
bool, std::string*,
const char**);
844 const char*
const hi =
"hi";
847 const char* ptr = NULL;
852 char world_array[] =
"world";
853 char*
const world = world_array;
861TEST(SetArgPointeeTest, AcceptsWideCharPointer) {
862 typedef void MyFunction(
bool,
const wchar_t**);
863 const wchar_t*
const hi =
L"hi";
865 const wchar_t* ptr = NULL;
869# if GTEST_HAS_STD_WSTRING
871 typedef void MyStringFunction(
bool, std::wstring*);
872 wchar_t world_array[] =
L"world";
873 wchar_t*
const world = world_array;
881#if GTEST_HAS_PROTOBUF_
885TEST(SetArgPointeeTest, SetsTheNthPointeeOfProtoBufferType) {
886 TestMessage*
const msg =
new TestMessage;
887 msg->set_member(
"yes");
888 TestMessage orig_msg;
889 orig_msg.CopyFrom(*msg);
907TEST(SetArgPointeeTest, SetsTheNthPointeeOfProtoBufferBaseType) {
908 TestMessage*
const msg =
new TestMessage;
909 msg->set_member(
"yes");
910 TestMessage orig_msg;
911 orig_msg.CopyFrom(*msg);
921 ::ProtocolMessage*
const dest_base = &
dest;
930TEST(SetArgPointeeTest, SetsTheNthPointeeOfProto2BufferType) {
931 using testing::internal::FooMessage;
932 FooMessage*
const msg =
new FooMessage;
933 msg->set_int_field(2);
934 msg->set_string_field(
"hi");
936 orig_msg.CopyFrom(*msg);
946 dest.set_int_field(0);
955TEST(SetArgPointeeTest, SetsTheNthPointeeOfProto2BufferBaseType) {
956 using testing::internal::FooMessage;
957 FooMessage*
const msg =
new FooMessage;
958 msg->set_int_field(2);
959 msg->set_string_field(
"hi");
961 orig_msg.CopyFrom(*msg);
971 dest.set_int_field(0);
972 ::proto2::Message*
const dest_base = &
dest;
982TEST(SetArgumentPointeeTest, SetsTheNthPointee) {
984 Action<MyFunction>
a = SetArgumentPointee<1>(2);
992 a = SetArgumentPointee<2>(
'a');
1000#if GTEST_HAS_PROTOBUF_
1004TEST(SetArgumentPointeeTest, SetsTheNthPointeeOfProtoBufferType) {
1005 TestMessage*
const msg =
new TestMessage;
1006 msg->set_member(
"yes");
1007 TestMessage orig_msg;
1008 orig_msg.CopyFrom(*msg);
1010 Action<void(
bool, TestMessage*)>
a = SetArgumentPointee<1>(*msg);
1026TEST(SetArgumentPointeeTest, SetsTheNthPointeeOfProtoBufferBaseType) {
1027 TestMessage*
const msg =
new TestMessage;
1028 msg->set_member(
"yes");
1029 TestMessage orig_msg;
1030 orig_msg.CopyFrom(*msg);
1032 Action<void(
bool, ::ProtocolMessage*)>
a = SetArgumentPointee<1>(*msg);
1040 ::ProtocolMessage*
const dest_base = &
dest;
1049TEST(SetArgumentPointeeTest, SetsTheNthPointeeOfProto2BufferType) {
1050 using testing::internal::FooMessage;
1051 FooMessage*
const msg =
new FooMessage;
1052 msg->set_int_field(2);
1053 msg->set_string_field(
"hi");
1054 FooMessage orig_msg;
1055 orig_msg.CopyFrom(*msg);
1057 Action<void(
bool, FooMessage*)>
a = SetArgumentPointee<1>(*msg);
1065 dest.set_int_field(0);
1074TEST(SetArgumentPointeeTest, SetsTheNthPointeeOfProto2BufferBaseType) {
1075 using testing::internal::FooMessage;
1076 FooMessage*
const msg =
new FooMessage;
1077 msg->set_int_field(2);
1078 msg->set_string_field(
"hi");
1079 FooMessage orig_msg;
1080 orig_msg.CopyFrom(*msg);
1082 Action<void(
bool, ::proto2::Message*)>
a = SetArgumentPointee<1>(*msg);
1090 dest.set_int_field(0);
1091 ::proto2::Message*
const dest_base = &
dest;
1102class NullaryFunctor {
1104 int operator()() {
return 2; }
1110class VoidNullaryFunctor {
1112 void operator()() {
g_done =
true; }
1117 Foo() : value_(123) {}
1119 int Nullary()
const {
return value_; }
1126TEST(InvokeWithoutArgsTest, Function) {
1143TEST(InvokeWithoutArgsTest, Functor) {
1149 Action<
int(
int,
double,
char)> a2 =
1163 Action<
int(
bool,
char)>
a =
1169TEST(IgnoreResultTest, PolymorphicAction) {
1181TEST(IgnoreResultTest, MonomorphicAction) {
1190MyNonDefaultConstructible ReturnMyNonDefaultConstructible(
double ) {
1192 return MyNonDefaultConstructible(42);
1195TEST(IgnoreResultTest, ActionReturningClass) {
1197 Action<void(
int)>
a =
1203TEST(AssignTest, Int) {
1205 Action<void(
int)>
a =
Assign(&x, 5);
1212 Action<void(
void)>
a =
Assign(&x,
"Hello, world");
1217TEST(AssignTest, CompatibleTypes) {
1219 Action<void(
int)>
a =
Assign(&x, 5);
1224#if !GTEST_OS_WINDOWS_MOBILE
1228 virtual void SetUp() { errno = 0; }
1229 virtual void TearDown() { errno = 0; }
1232TEST_F(SetErrnoAndReturnTest, Int) {
1238TEST_F(SetErrnoAndReturnTest, Ptr) {
1245TEST_F(SetErrnoAndReturnTest, CompatibleTypes) {
1256TEST(ByRefTest, IsCopyable) {
1257 const std::string s1 =
"Hi";
1258 const std::string s2 =
"Hello";
1262 const std::string& r1 = ref_wrapper;
1266 ref_wrapper =
ByRef(s2);
1267 const std::string& r2 = ref_wrapper;
1273 ref_wrapper = ref_wrapper1;
1274 const std::string& r3 = ref_wrapper;
1279TEST(ByRefTest, ConstValue) {
1283 const int& const_ref =
ByRef(n);
1288TEST(ByRefTest, NonConstValue) {
1292 int& ref =
ByRef(n);
1296 const int& const_ref =
ByRef(n);
1301TEST(ByRefTest, ExplicitType) {
1303 const int& r1 = ByRef<const int>(n);
1310 Derived& r2 = ByRef<Derived>(
d);
1313 const Derived& r3 = ByRef<const Derived>(
d);
1316 Base& r4 = ByRef<Base>(
d);
1319 const Base& r5 = ByRef<const Base>(
d);
1330TEST(ByRefTest, PrintsCorrectly) {
1332 ::std::stringstream expected, actual;
1335 EXPECT_EQ(expected.str(), actual.str());
1338#if GTEST_HAS_STD_UNIQUE_PTR_
1340std::unique_ptr<int> UniquePtrSource() {
1341 return std::unique_ptr<int>(
new int(19));
1344std::vector<std::unique_ptr<int>> VectorUniquePtrSource() {
1345 std::vector<std::unique_ptr<int>>
out;
1346 out.emplace_back(
new int(7));
1350TEST(MockMethodTest, CanReturnMoveOnlyValue_Return) {
1352 std::unique_ptr<int>
i(
new int(19));
1356 Derived*
d =
new Derived;
1360 std::unique_ptr<int> result1 = mock.MakeUnique();
1363 std::vector<std::unique_ptr<int>> vresult = mock.MakeVectorUnique();
1368 std::unique_ptr<Base> result2 = mock.MakeUniqueBase();
1372TEST(MockMethodTest, CanReturnMoveOnlyValue_DoAllReturn) {
1375 std::unique_ptr<int>
i(
new int(19));
1381 std::unique_ptr<int> result1 = mock.MakeUnique();
1385TEST(MockMethodTest, CanReturnMoveOnlyValue_Invoke) {
1389 DefaultValue<std::unique_ptr<int>>::SetFactory([] {
1390 return std::unique_ptr<int>(
new int(42));
1396 .WillRepeatedly(
Invoke(VectorUniquePtrSource));
1397 std::unique_ptr<int> result1 = mock.MakeUnique();
1399 std::unique_ptr<int> result2 = mock.MakeUnique();
1403 std::vector<std::unique_ptr<int>> vresult = mock.MakeVectorUnique();
#define s(x, c)
Definition aesb.c:47
Definition gtest-string.h:58
Definition gmock-actions.h:327
Definition gmock-actions.h:355
Definition gmock-actions.h:200
Definition gmock-generated-function-mockers.h:873
Definition gmock-actions.h:427
Definition gmock-actions.h:97
Definition gmock-actions.h:950
static void Print(const T &value, ::std::ostream *os)
Definition gtest-printers.h:698
bool operator==(expect< T > const &lhs, expect< U > const &rhs) noexcept(noexcept(lhs.equal(rhs)))
Definition expect.h:402
#define EXPECT_DEATH_IF_SUPPORTED(statement, regex)
Definition gtest-death-test.h:286
#define EXPECT_NONFATAL_FAILURE(statement, substr)
Definition gtest-spi.h:204
#define TEST_F(test_fixture, test_name)
Definition gtest.h:2216
#define EXPECT_EQ(val1, val2)
Definition gtest.h:1922
#define EXPECT_NE(val1, val2)
Definition gtest.h:1926
#define EXPECT_ANY_THROW(statement)
Definition gtest.h:1847
#define EXPECT_DOUBLE_EQ(val1, val2)
Definition gtest.h:2031
#define EXPECT_TRUE(condition)
Definition gtest.h:1859
#define EXPECT_STREQ(s1, s2)
Definition gtest.h:1995
#define TEST(test_case_name, test_name)
Definition gtest.h:2187
#define EXPECT_FALSE(condition)
Definition gtest.h:1862
#define GTEST_DISALLOW_ASSIGN_(type)
Definition gtest-port.h:869
#define GTEST_DISALLOW_COPY_AND_ASSIGN_(type)
Definition gtest-port.h:874
#define MOCK_METHOD0(m,...)
Definition gmock-generated-function-mockers.h:675
#define MOCK_METHOD1(m,...)
Definition gmock-generated-function-mockers.h:676
#define EXPECT_THAT(value, matcher)
Definition gmock-matchers.h:4390
#define EXPECT_CALL(obj, call)
Definition gmock-spec-builders.h:1845
#define ON_CALL(obj, call)
Definition gmock-spec-builders.h:1841
#define Method
Definition gmock-spec-builders_test.cc:184
internal::IgnoreResultAction< A > IgnoreResult(const A &an_action)
Definition gmock-actions.h:1187
PolymorphicAction< internal::InvokeWithoutArgsAction< FunctionImpl > > InvokeWithoutArgs(FunctionImpl function_impl)
Definition gmock-actions.h:1168
const internal::AnythingMatcher _
Definition gmock-matchers.h:3729
PolymorphicAction< internal::AssignAction< T1, T2 > > Assign(T1 *ptr, T2 val)
Definition gmock-actions.h:1147
PolymorphicAction< internal::SetErrnoAndReturnAction< T > > SetErrnoAndReturn(int errval, T result)
Definition gmock-actions.h:1156
PolymorphicAction< internal::InvokeAction< FunctionImpl > > Invoke(FunctionImpl function_impl)
Definition gmock-more-actions.h:114
internal::ReturnRefAction< R > ReturnRef(R &x)
Definition gmock-actions.h:1077
internal::DoBothAction< Action1, Action2 > DoAll(Action1 a1, Action2 a2)
Definition gmock-generated-actions.h:696
PolymorphicAction< internal::SetArgumentPointeeAction< N, T, internal::IsAProtocolMessage< T >::value > > SetArgPointee(const T &x)
Definition gmock-actions.h:1109
internal::DoDefaultAction DoDefault()
Definition gmock-actions.h:1099
PolymorphicAction< internal::ReturnNullAction > ReturnNull()
Definition gmock-actions.h:1066
void get(std::istream &input, bool &res)
Definition io.h:61
#define L(m0, m1, m2, m3, m4, m5, m6, m7)
Definition jh.c:116
int bool
Definition hash.h:36
Definition gtest-printers_test.cc:126
@ out
Definition message_store.h:75
int i
Definition pymoduletest.py:23
int
Definition pymoduletest.py:17
tuple make_tuple()
Definition gtest-tuple.h:675
bool g_done
Definition gmock-generated-actions_test.cc:78
int Nullary()
Definition gmock-generated-actions_test.cc:71
void VoidNullary()
Definition gmock-more-actions_test.cc:84
void MyFunction(int)
Definition gtest-printers_test.cc:524
void UniversalPrint(const T &value, ::std::ostream *os)
Definition gtest-printers.h:852
TypeWithSize< 8 >::Int Int64
Definition gtest-port.h:2496
TypeWithSize< 8 >::UInt UInt64
Definition gtest-port.h:2497
internal::IgnoreResultAction< A > IgnoreResult(const A &an_action)
Definition gmock-actions.h:1187
PolymorphicAction< internal::InvokeWithoutArgsAction< FunctionImpl > > InvokeWithoutArgs(FunctionImpl function_impl)
Definition gmock-actions.h:1168
internal::ByMoveWrapper< R > ByMove(R x)
Definition gmock-actions.h:1094
PolymorphicAction< Impl > MakePolymorphicAction(const Impl &impl)
Definition gmock-actions.h:475
const internal::AnythingMatcher _
Definition gmock-matchers.h:3729
PolymorphicAction< internal::AssignAction< T1, T2 > > Assign(T1 *ptr, T2 val)
Definition gmock-actions.h:1147
PolymorphicAction< internal::SetErrnoAndReturnAction< T > > SetErrnoAndReturn(int errval, T result)
Definition gmock-actions.h:1156
internal::ElementsAreMatcher< ::testing::tuple<> > ElementsAre()
Definition gmock-generated-matchers.h:570
Action< F > MakeAction(ActionInterface< F > *impl)
Definition gmock-actions.h:463
PolymorphicAction< internal::SetArgumentPointeeAction< N, T, internal::IsAProtocolMessage< T >::value > > SetArgumentPointee(const T &x)
Definition gmock-actions.h:1140
internal::ReturnRefOfCopyAction< R > ReturnRefOfCopy(const R &x)
Definition gmock-actions.h:1085
internal::ReferenceWrapper< T > ByRef(T &l_value)
Definition gmock-actions.h:1199
PolymorphicAction< internal::InvokeAction< FunctionImpl > > Invoke(FunctionImpl function_impl)
Definition gmock-more-actions.h:114
internal::ReturnRefAction< R > ReturnRef(R &x)
Definition gmock-actions.h:1077
internal::NeMatcher< Rhs > Ne(Rhs x)
Definition gmock-matchers.h:3790
internal::ReturnAction< R > Return(R value)
Definition gmock-actions.h:1061
PolymorphicAction< internal::SetArgumentPointeeAction< N, T, internal::IsAProtocolMessage< T >::value > > SetArgPointee(const T &x)
Definition gmock-actions.h:1109
internal::DoDefaultAction DoDefault()
Definition gmock-actions.h:1099
PolymorphicAction< internal::ReturnNullAction > ReturnNull()
Definition gmock-actions.h:1066
const GenericPointer< typename T::ValueType > T2 value
Definition pointer.h:1225
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1124
const char *const str
Definition portlistingparse.c:23
tools::wallet2::message_signature_result_t result
Definition signature.cpp:62
CXA_THROW_INFO_T void(* dest)(void *))
Definition stack_trace.cpp:91
Definition fwdtest.cpp:28
Foo()
Definition fwdtest.cpp:106
Definition upnpdescgen.h:28