115#ifndef GOOGLEMOCK_TEST_GMOCK_LINK_TEST_H_
116#define GOOGLEMOCK_TEST_GMOCK_LINK_TEST_H_
120#if !GTEST_OS_WINDOWS_MOBILE
136using testing::ContainerEq;
139using testing::DoubleEq;
140using testing::ElementsAre;
141using testing::ElementsAreArray;
142using testing::EndsWith;
145using testing::FloatEq;
148using testing::HasSubstr;
154using testing::IsSubsetOf;
155using testing::IsSupersetOf;
159using testing::MatcherCast;
160using testing::NanSensitiveDoubleEq;
161using testing::NanSensitiveFloatEq;
164using testing::NotNull;
165using testing::Pointee;
166using testing::Property;
168using testing::ResultOf;
174using testing::StartsWith;
175using testing::StrCaseEq;
176using testing::StrCaseNe;
180using testing::TypedEq;
185#if !GTEST_OS_WINDOWS_MOBILE
189#if GTEST_HAS_EXCEPTIONS
193using testing::ContainsRegex;
194using testing::MatchesRegex;
225 GTEST_DISALLOW_COPY_AND_ASSIGN_(
Mock);
294 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(SetArgPointee<0>(
'y'));
304 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(SetArrayArgument<0>(&ch2,
309#if !GTEST_OS_WINDOWS_MOBILE
315 int saved_errno = errno;
353 EXPECT_CALL(mock, VoidFromFunc(_)).WillOnce(InvokeArgument<0>(&
ch));
411#if GTEST_HAS_EXCEPTIONS
416 EXPECT_CALL(mock, VoidFromString(_)).WillOnce(Throw(42));
427# pragma warning(push)
428# pragma warning(disable:4100)
433ACTION(Return1) {
return 1; }
439 EXPECT_CALL(mock, IntFromString(_)).WillOnce(Return1());
445ACTION_P(ReturnArgument, ret_value) {
return ret_value; }
451 EXPECT_CALL(mock, IntFromString(_)).WillOnce(ReturnArgument(42));
457ACTION_P2(ReturnEqualsEitherOf, first, second) {
458 return arg0 == first || arg0 == second;
471 .WillOnce(ReturnEqualsEitherOf(
"one",
"two"));
486 ON_CALL(mock, VoidFromString(A<char*>())).WillByDefault(
Return());
495 ON_CALL(mock, VoidFromString(
const_cast<char*
>(
"y")))
503 ON_CALL(mock, VoidFromFloat(Lt(1.0f))).WillByDefault(
Return());
504 ON_CALL(mock, VoidFromFloat(Gt(1.0f))).WillByDefault(
Return());
505 ON_CALL(mock, VoidFromFloat(Le(1.0f))).WillByDefault(
Return());
506 ON_CALL(mock, VoidFromFloat(Ge(1.0f))).WillByDefault(
Return());
507 ON_CALL(mock, VoidFromFloat(Ne(1.0f))).WillByDefault(
Return());
514 ON_CALL(mock, VoidFromString(NotNull())).WillByDefault(
Return());
529 ON_CALL(mock, VoidFromIntRef(Ref(a))).WillByDefault(
Return());
537 ON_CALL(mock, VoidFromIntRef(TypedEq<int&>(a))).WillByDefault(
Return());
546 ON_CALL(mock, VoidFromFloat(FloatEq(a))).WillByDefault(
Return());
547 ON_CALL(mock, VoidFromDouble(DoubleEq(a))).WillByDefault(
Return());
548 ON_CALL(mock, VoidFromFloat(NanSensitiveFloatEq(a))).WillByDefault(
Return());
549 ON_CALL(mock, VoidFromDouble(NanSensitiveDoubleEq(a)))
557 ON_CALL(mock, VoidFromString(ContainsRegex(
".*"))).WillByDefault(
Return());
564 ON_CALL(mock, VoidFromString(MatchesRegex(
".*"))).WillByDefault(
Return());
571 ON_CALL(mock, VoidFromString(StartsWith(
"a"))).WillByDefault(
Return());
572 ON_CALL(mock, VoidFromString(EndsWith(
"c"))).WillByDefault(
Return());
573 ON_CALL(mock, VoidFromString(HasSubstr(
"b"))).WillByDefault(
Return());
579 ON_CALL(mock, VoidFromString(StrEq(
"a"))).WillByDefault(
Return());
580 ON_CALL(mock, VoidFromString(StrNe(
"a"))).WillByDefault(
Return());
581 ON_CALL(mock, VoidFromString(StrCaseEq(
"a"))).WillByDefault(
Return());
582 ON_CALL(mock, VoidFromString(StrCaseNe(
"a"))).WillByDefault(
Return());
589 ON_CALL(mock, VoidFromVector(ElementsAre(
'a', _))).WillByDefault(
Return());
595 char arr[] = {
'a',
'b' };
597 ON_CALL(mock, VoidFromVector(ElementsAreArray(arr))).WillByDefault(
Return());
603 char arr[] = {
'a',
'b'};
605 ON_CALL(mock, VoidFromVector(IsSubsetOf(arr))).WillByDefault(
Return());
611 char arr[] = {
'a',
'b'};
613 ON_CALL(mock, VoidFromVector(IsSupersetOf(arr))).WillByDefault(
Return());
621 ON_CALL(mock, VoidFromVector(ContainerEq(v))).WillByDefault(
Return());
#define EXPECT_CALL(obj, call)
#define ON_CALL(obj, call)
#define ACTION_P2(name,...)
#define ACTION_P(name,...)
TEST(LinkTest, TestReturnVoid)
#define EXPECT_THROW(statement, expected_exception)
#define EXPECT_TRUE(condition)
#define EXPECT_FALSE(condition)
internal::WithArgsAction< typename std::decay< InnerAction >::type > WithoutArgs(InnerAction &&action)
internal::IgnoreResultAction< A > IgnoreResult(const A &an_action)
internal::SetArrayArgumentAction< k, I1, I2 > SetArrayArgument(I1 first, I2 last)
internal::DoAllAction< typename std::decay< Action >::type... > DoAll(Action &&... action)
internal::WithArgsAction< typename std::decay< InnerAction >::type, k, ks... > WithArgs(InnerAction &&action)
PolymorphicAction< internal::AssignAction< T1, T2 > > Assign(T1 *ptr, T2 val)
internal::SetArgumentPointeeAction< N, T > SetArgPointee(T value)
PolymorphicAction< internal::SetErrnoAndReturnAction< T > > SetErrnoAndReturn(int errval, T result)
internal::InvokeWithoutArgsAction< typename std::decay< FunctionImpl >::type > InvokeWithoutArgs(FunctionImpl function_impl)
internal::WithArgsAction< typename std::decay< InnerAction >::type, k > WithArg(InnerAction &&action)
internal::ReturnRefAction< R > ReturnRef(R &x)
internal::ReturnAction< R > Return(R value)
internal::DoDefaultAction DoDefault()
PolymorphicAction< internal::ReturnNullAction > ReturnNull()
std::decay< FunctionImpl >::type Invoke(FunctionImpl &&function_impl)
internal::InvokeArgumentAction< index, typename std::decay< Params >::type... > InvokeArgument(Params &&... params)
AssertionResult IsNull(const char *str)
MOCK_METHOD1(IntRefFromString, int &(char *str))
MOCK_METHOD1(StringFromString, char *(char *str))
MOCK_METHOD1(VoidFromFloat, void(float n))
MOCK_METHOD1(VoidFromVector, void(const std::vector< int > &v))
MOCK_METHOD1(VoidFromDouble, void(double n))
MOCK_METHOD1(VoidFromFunc, void(void(*func)(char *str)))
MOCK_METHOD1(VoidFromString, void(char *str))
MOCK_METHOD1(VoidFromIntRef, void(int &n))
MOCK_METHOD1(IntFromString, int(char *str))
virtual void VoidFromString(char *str)=0
virtual void VoidFromFunc(void(*func)(char *str))=0
virtual int & IntRefFromString(char *str)=0
virtual void VoidFromIntRef(int &n)=0
virtual void VoidFromDouble(double n)=0
virtual char * StringFromString(char *str)=0
virtual int IntFromString(char *str)=0
virtual void VoidFromFloat(float n)=0
virtual void VoidFromVector(const std::vector< int > &v)=0
static int StaticIntFromString(char *)
static void StaticVoidFromString(char *)
void VoidFromString(char *)
static void StaticVoidFromVoid()
static bool StaticBoolFromString(const char *)