[Mockpp-commits] mockpp/mockpp/tests MixedMockObject_5_test.cpp,NONE,1.1 Makefile.am,1.65,1.66
Brought to you by:
ewald-arnold
From: Ewald A. <ewa...@us...> - 2005-03-06 21:46:31
|
Update of /cvsroot/mockpp/mockpp/mockpp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29577/mockpp/tests Modified Files: Makefile.am Added Files: MixedMockObject_5_test.cpp Log Message: restructured for new MixedMockObject class Index: Makefile.am =================================================================== RCS file: /cvsroot/mockpp/mockpp/mockpp/tests/Makefile.am,v retrieving revision 1.65 retrieving revision 1.66 diff -u -d -r1.65 -r1.66 --- Makefile.am 4 Mar 2005 20:26:40 -0000 1.65 +++ Makefile.am 6 Mar 2005 21:45:50 -0000 1.66 @@ -36,7 +36,7 @@ VisitableMockObject_5_test.cpp VisitableMockObject_void_test.cpp VisitableMockObject_1_void_test.cpp \ VisitableMockObject_2_void_test.cpp VisitableMockObject_3_void_test.cpp VisitableMockObject_4_void_test.cpp \ VisitableMockObject_5_void_test.cpp VerifyingTestCase_test.cpp classes_ABCDE.cpp \ - VerifyingTestCaller_test.cpp TrackingCounter_test.cpp + VerifyingTestCaller_test.cpp TrackingCounter_test.cpp MixedMockObject_5_test.cpp mock_test_count: list=mock_test.files; \ --- NEW FILE: MixedMockObject_5_test.cpp --- /*************************************************************************** MixedMockObject_5_test.cpp - unit tests for MixedMockObject class and 5 parameter methods ------------------- begin : Sat Mar 05 2005 copyright : (C) 2002-2005 by Ewald Arnold email : mockpp at ewald-arnold dot de $Id: MixedMockObject_5_test.cpp,v 1.1 2005/03/06 21:45:50 ewald-arnold Exp $ ***************************************************************************/ /************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2 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 of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * ***************************************************************************/ #include <mockpp/mockpp.h> // always first #ifndef HAVE_CPPUNIT # warning CppUnit not available at compile time #else #include <mockpp/ExpectationValue.h> #include <mockpp/MixedMockObject.h> #include <mockpp/util/AssertMo.h> #include <mockpp/chaining/ChainingMockObjectSupport.h> #include <mockpp/constraint/IsEqual.h> #include <mockpp/constraint/IsNot.h> #include "classes_ABCDE.h" #include <cppunit/extensions/HelperMacros.h> class MixedMockObject_5_test : public CppUnit::TestFixture { public: CPPUNIT_TEST_SUITE( MixedMockObject_5_test ); CPPUNIT_TEST(test_controller); CPPUNIT_TEST(test_return); CPPUNIT_TEST_SUITE_END(); public: void test_controller(); void test_return(); }; CPPUNIT_TEST_SUITE_REGISTRATION(MixedMockObject_5_test); class MyMixedMockObject_5_Interface { public: virtual int chain_mixed5 (const CA&, const CB&, const CC&, const CD&, const CE&) = 0; virtual int chain_mixed4 (const CA&, const CB&, const CC&, const CD&) = 0; virtual int chain_mixed3 (const CA&, const CB&, const CC&) = 0; virtual int chain_mixed2 (const CA&, const CB&) = 0; virtual int chain_mixed1 (const CA&) = 0; virtual int chain_mixed0 () = 0; virtual int visit_mixed5 (const CA&, const CB&, const CC&, const CD&, const CE&) = 0; virtual int visit_mixed4 (const CA&, const CB&, const CC&, const CD&) = 0; virtual int visit_mixed3 (const CA&, const CB&, const CC&) = 0; virtual int visit_mixed2 (const CA&, const CB&) = 0; virtual int visit_mixed1 (const CA&) = 0; virtual int visit_mixed0 () = 0; }; class MyMixedMockObject_5 : public mockpp::MixedMockObject, public MyMixedMockObject_5_Interface { public: MyMixedMockObject_5(const mockpp::String &name) : mockpp::MixedMockObject(name, 0), MOCKPP_CONSTRUCT_MEMBERS_FOR_CHAINABLE5(chain_mixed5), MOCKPP_CONSTRUCT_MEMBERS_FOR_CHAINABLE4(chain_mixed4), MOCKPP_CONSTRUCT_MEMBERS_FOR_CHAINABLE3(chain_mixed3), MOCKPP_CONSTRUCT_MEMBERS_FOR_CHAINABLE2(chain_mixed2), MOCKPP_CONSTRUCT_MEMBERS_FOR_CHAINABLE1(chain_mixed1), MOCKPP_CONSTRUCT_MEMBERS_FOR_CHAINABLE0(chain_mixed0), MOCKPP_CONSTRUCT_MEMBERS_FOR_VISITABLE5(visit_mixed5), MOCKPP_CONSTRUCT_MEMBERS_FOR_VISITABLE4(visit_mixed4), MOCKPP_CONSTRUCT_MEMBERS_FOR_VISITABLE3(visit_mixed3), MOCKPP_CONSTRUCT_MEMBERS_FOR_VISITABLE2(visit_mixed2), MOCKPP_CONSTRUCT_MEMBERS_FOR_VISITABLE1(visit_mixed1), MOCKPP_CONSTRUCT_MEMBERS_FOR_VISITABLE0(visit_mixed0) {} MOCKPP_CHAINABLE5(MyMixedMockObject_5, int, chain_mixed5, CA, CB, CC, CD, CE); MOCKPP_CHAINABLE4(MyMixedMockObject_5, int, chain_mixed4, CA, CB, CC, CD); MOCKPP_CHAINABLE3(MyMixedMockObject_5, int, chain_mixed3, CA, CB, CC); MOCKPP_CHAINABLE2(MyMixedMockObject_5, int, chain_mixed2, CA, CB); MOCKPP_CHAINABLE1(MyMixedMockObject_5, int, chain_mixed1, CA); MOCKPP_CHAINABLE0(MyMixedMockObject_5, int, chain_mixed0); MOCKPP_VISITABLE5(MyMixedMockObject_5, int, visit_mixed5, CA, CB, CC, CD, CE); MOCKPP_VISITABLE4(MyMixedMockObject_5, int, visit_mixed4, CA, CB, CC, CD); MOCKPP_VISITABLE3(MyMixedMockObject_5, int, visit_mixed3, CA, CB, CC); MOCKPP_VISITABLE2(MyMixedMockObject_5, int, visit_mixed2, CA, CB); MOCKPP_VISITABLE1(MyMixedMockObject_5, int, visit_mixed1, CA); MOCKPP_VISITABLE0(MyMixedMockObject_5, int, visit_mixed0); }; void MixedMockObject_5_test::test_controller() { MyMixedMockObject_5 mvo(MOCKPP_PCHAR("mvo")); MOCKPP_CONTROLLER_FOR(MyMixedMockObject_5, visit_mixed5) ctr (&mvo); ctr.addThrowable(mockpp::make_throwable(std::string("exceptional string"))); ctr.addThrowable(std::string("exceptional string"), 3); ctr.setDefaultThrowable(mockpp::make_throwable(int(123))); ctr.addReturnValue(1); ctr.addReturnValue(11); ctr.setDefaultReturnValue(123); ctr.addResponseValue(0, 1, 2, 3, 4, 5); ctr.addResponseValue(1, 0, 2, 3, 4, 5); ctr.addResponseThrowable(mockpp::make_throwable(int(1)), 0, 2, 3, 4, 5); ctr.addResponseThrowable(mockpp::make_throwable(int(0)), 1, 2, 3, 4, 5); } void MixedMockObject_5_test::test_return() { MyMixedMockObject_5 mvo(MOCKPP_PCHAR("mvo")); MOCKPP_CONTROLLER_FOR(MyMixedMockObject_5, visit_mixed5) ctr (&mvo); ctr.setDefaultReturnValue(123); ctr.addReturnValue(1,2); ctr.addReturnValue(11, 2); mvo.visit_mixed5(1, 2, 3, 4, 5); mvo.visit_mixed5(1, 2, 3, 4, 5); mvo.visit_mixed5(2, 2, 3, 4, 5); mvo.visit_mixed5(2, 2, 3, 4, 5); mvo.visit_mixed5(3, 2, 3, 4, 5); mvo.visit_mixed5(4, 2, 3, 4, 5); mvo.activate(); CPPUNIT_ASSERT(1 == mvo.visit_mixed5(1, 2, 3, 4, 5)); CPPUNIT_ASSERT(1 == mvo.visit_mixed5(1, 2, 3, 4, 5)); CPPUNIT_ASSERT(11 == mvo.visit_mixed5(2, 2, 3, 4, 5)); CPPUNIT_ASSERT(11 == mvo.visit_mixed5(2, 2, 3, 4, 5)); CPPUNIT_ASSERT(123 == mvo.visit_mixed5(3, 2, 3, 4, 5)); CPPUNIT_ASSERT(123 == mvo.visit_mixed5(4, 2, 3, 4, 5)); mvo.verify(); } #endif // HAVE_CPPUNIT |