/***mockcpp is a generic C/C++ mock framework.Copyright (C) <2009> <Darwin Yuan: darwin.yuan@gmail.com>This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program. If not, see <http://www.gnu.org/licenses/>.***/#include <testngpp/testngpp.hpp>#include <mockcpp/mockcpp.hpp>USING_TESTNGPP_NSUSING_MOCKCPP_NSint func(int){return 11;}int func(double){return 11;}FIXTURE(TestOverloadMethodMocker, mock overload function){struct CUT{static int func(int){return 11;}static int func(double){return 11;}virtual ~CUT() {} // virtual destructor must be defined when mock an interfacevirtual int bar(int){return 11;}virtual int bar(double){return 11;}};TEST(overload static method mocker test){MOCKER((int (*) (int)) CUT::func).stubs().will(returnValue(100));ASSERT_EQ(100, CUT::func(0));GlobalMockObject::verify();}TEST(overload free function mocker test){MOCKER((int (*) (int)) func).stubs().will(returnValue(100));ASSERT_EQ(100, func(0));GlobalMockObject::verify();}TEST(overload virtual method mocker test){MockObject<CUT> mocker;MOCK_OVERLOAD_METHOD(mocker, int (CUT::*) (int), bar).stubs().will(returnValue(100));ASSERT_EQ(100, static_cast<CUT*>(mocker)->bar(0));mocker.verify();}};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。