diff options
author | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-26 22:05:05 +0000 |
---|---|---|
committer | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-26 22:05:05 +0000 |
commit | fe60195a19a160fa09f76aab21f355e63caa4faa (patch) | |
tree | 0d7157d0fc8198d799e35a059572d727bebce2ea /base/gmock_unittest.cc | |
parent | f191d1bd7601d9be5aea71b1890a85d6e16707dc (diff) | |
download | chromium_src-fe60195a19a160fa09f76aab21f355e63caa4faa.zip chromium_src-fe60195a19a160fa09f76aab21f355e63caa4faa.tar.gz chromium_src-fe60195a19a160fa09f76aab21f355e63caa4faa.tar.bz2 |
Revert "Checkin a version of gmock, modified to use our boost_tuple in VS2005."
This reverts commit 071e95bcdcefcd2cb86c9aed5cb073bbcaa7f2a7.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16931 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/gmock_unittest.cc')
-rw-r--r-- | base/gmock_unittest.cc | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/base/gmock_unittest.cc b/base/gmock_unittest.cc deleted file mode 100644 index 855380a..0000000 --- a/base/gmock_unittest.cc +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// This test is a simple sanity check to make sure gmock is able to build/link -// correctly. It just instantiates a mock object and runs through a couple of -// the basic mock features. - -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -// Gmock matchers and actions that we use below. -using testing::AnyOf; -using testing::Eq; -using testing::Return; -using testing::SetArgumentPointee; -using testing::WithArg; -using testing::_; - -namespace { - -// Simple class that we can mock out the behavior for. Everything is virtual -// for easy mocking. -class SampleClass { - public: - SampleClass() {} - virtual ~SampleClass() {} - - virtual int ReturnSomething() { - return -1; - } - - virtual void ReturnNothingConstly() const { - } - - virtual void OutputParam(int* a) { - } - - virtual int ReturnSecond(int a, int b) { - return b; - } -}; - -// Declare a mock for the class. -class MockSampleClass : public SampleClass { - public: - MOCK_METHOD0(ReturnSomething, int()); - MOCK_CONST_METHOD0(ReturnNothingConstly, void()); - MOCK_METHOD1(OutputParam, void(int* a)); - MOCK_METHOD2(ReturnSecond, int(int a, int b)); -}; - -// Create a couple of custom actions. Custom actions can be used for adding -// more complex behavior into your mock...though if you start needing these, ask -// if you're asking your mock to do too much. -ACTION(ReturnVal) { - // Return the first argument received. - return arg0; -} -ACTION(ReturnSecond) { - // Returns the second argument. This basically implemetns ReturnSecond. - return arg1; -} - -TEST(GmockTest, SimpleMatchAndActions) { - // Basic test of some simple gmock matchers, actions, and cardinality - // expectations. - MockSampleClass mock; - - EXPECT_CALL(mock, ReturnSomething()) - .WillOnce(Return(1)) - .WillOnce(Return(2)) - .WillOnce(Return(3)); - EXPECT_EQ(1, mock.ReturnSomething()); - EXPECT_EQ(2, mock.ReturnSomething()); - EXPECT_EQ(3, mock.ReturnSomething()); - - EXPECT_CALL(mock, ReturnNothingConstly()).Times(2); - mock.ReturnNothingConstly(); - mock.ReturnNothingConstly(); -} - -TEST(GmockTest, AssignArgument) { - // Capture an argument for examination. - MockSampleClass mock; - - EXPECT_CALL(mock, OutputParam(_)) - .WillRepeatedly(SetArgumentPointee<0>(5)); - - int arg = 0; - mock.OutputParam(&arg); - EXPECT_EQ(5, arg); -} - -TEST(GmockTest, SideEffects) { - // Capture an argument for examination. - MockSampleClass mock; - - EXPECT_CALL(mock, OutputParam(_)) - .WillRepeatedly(SetArgumentPointee<0>(5)); - - int arg = 0; - mock.OutputParam(&arg); - EXPECT_EQ(5, arg); -} - -TEST(GmockTest, CustomAction_ReturnSecond) { - // Test a mock of the ReturnSecond behavior using an action that provides an - // alternate implementation of the function. Danger here though, this is - // starting to add too much behavior of the mock, which means the mock - // implementation might start to have bugs itself. - MockSampleClass mock; - - EXPECT_CALL(mock, ReturnSecond(_, AnyOf(Eq(4), Eq(5)))) - .WillRepeatedly(ReturnSecond()); - EXPECT_EQ(4, mock.ReturnSecond(-1, 4)); - EXPECT_EQ(5, mock.ReturnSecond(0, 5)); - EXPECT_EQ(4, mock.ReturnSecond(0xdeadbeef, 4)); - EXPECT_EQ(4, mock.ReturnSecond(112358, 4)); - EXPECT_EQ(5, mock.ReturnSecond(1337, 5)); -} - -TEST(GmockTest, CustomAction_ReturnVal) { - // Alternate implemention of ReturnSecond using a more general custom action, - // and a WithArg adapter to bridge the interfaces. - MockSampleClass mock; - - EXPECT_CALL(mock, ReturnSecond(_, AnyOf(Eq(4), Eq(5)))) - .WillRepeatedly(WithArg<1>(ReturnVal())); - EXPECT_EQ(4, mock.ReturnSecond(-1, 4)); - EXPECT_EQ(5, mock.ReturnSecond(0, 5)); - EXPECT_EQ(4, mock.ReturnSecond(0xdeadbeef, 4)); - EXPECT_EQ(4, mock.ReturnSecond(112358, 4)); - EXPECT_EQ(5, mock.ReturnSecond(1337, 5)); -} - -} // namespace |