Thread: [Mockpp-commits] mockpp/mockpp/tests VisitableMockMethod_test.cpp,1.10,1.11
Brought to you by:
ewald-arnold
From: Ewald A. <ewa...@us...> - 2005-11-08 18:40:01
|
Update of /cvsroot/mockpp/mockpp/mockpp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26000/mockpp/tests Modified Files: VisitableMockMethod_test.cpp Log Message: more tests Index: VisitableMockMethod_test.cpp =================================================================== RCS file: /cvsroot/mockpp/mockpp/mockpp/tests/VisitableMockMethod_test.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- VisitableMockMethod_test.cpp 6 Nov 2005 14:11:24 -0000 1.10 +++ VisitableMockMethod_test.cpp 8 Nov 2005 18:39:51 -0000 1.11 @@ -73,7 +73,7 @@ // CPPUNIT_TEST( test_parameter_0V ); CPPUNIT_TEST( test_base ); CPPUNIT_TEST( test_inst ); - CPPUNIT_TEST( test_base_R ); + CPPUNIT_TEST( test_base_returning ); CPPUNIT_TEST_SUITE_END(); @@ -81,7 +81,7 @@ void test_base(); void test_inst(); - void test_base_R(); + void test_base_returning(); // void test_parameter_0(); // void test_parameter_0V(); }; @@ -152,13 +152,13 @@ mockpp::VisitableMockMethod5<void, int, int, int, int, int> mmv5(MOCKPP_PCHAR("mm5"), 0); mockpp::VisitableMockMethod6<void, int, int, int, int, int, int> mmv6(MOCKPP_PCHAR("mm6"), 0); - mockpp::VisitableMockMethod0<int> mmi0(MOCKPP_PCHAR("mm0"), 0); - mockpp::VisitableMockMethod1<int, int> mmi1(MOCKPP_PCHAR("mm1"), 0); - mockpp::VisitableMockMethod2<int, int, int> mmi2(MOCKPP_PCHAR("mm2"), 0); - mockpp::VisitableMockMethod3<int, int, int, int> mmi3(MOCKPP_PCHAR("mm3"), 0); - mockpp::VisitableMockMethod4<int, int, int, int, int> mmi4(MOCKPP_PCHAR("mm4"), 0); - mockpp::VisitableMockMethod5<int, int, int, int, int, int> mmi5(MOCKPP_PCHAR("mm5"), 0); - mockpp::VisitableMockMethod6<int, int, int, int, int, int, int> mmi6(MOCKPP_PCHAR("mm6"), 0); + mockpp::VisitableMockMethod0<int> mmi0(MOCKPP_PCHAR("mm0"), 0); + mockpp::VisitableMockMethod1<int, int> mmi1(MOCKPP_PCHAR("mm1"), 0); + mockpp::VisitableMockMethod2<int, int, int> mmi2(MOCKPP_PCHAR("mm2"), 0); + mockpp::VisitableMockMethod3<int, int, int, int> mmi3(MOCKPP_PCHAR("mm3"), 0); + mockpp::VisitableMockMethod4<int, int, int, int, int> mmi4(MOCKPP_PCHAR("mm4"), 0); + mockpp::VisitableMockMethod5<int, int, int, int, int, int> mmi5(MOCKPP_PCHAR("mm5"), 0); + mockpp::VisitableMockMethod6<int, int, int, int, int, int, int> mmi6(MOCKPP_PCHAR("mm6"), 0); mockpp::VisitableMockMethod<void> mmvd0(MOCKPP_PCHAR("mm0"), 0); mockpp::VisitableMockMethod<void, int> mmvd1(MOCKPP_PCHAR("mm1"), 0); @@ -168,13 +168,13 @@ mockpp::VisitableMockMethod<void, int, int, int, int, int> mmvd5(MOCKPP_PCHAR("mm5"), 0); mockpp::VisitableMockMethod<void, int, int, int, int, int, int> mmvd6(MOCKPP_PCHAR("mm6"), 0); - mockpp::VisitableMockMethod<int> mmid0(MOCKPP_PCHAR("mm0"), 0); - mockpp::VisitableMockMethod<int, int> mmid1(MOCKPP_PCHAR("mm1"), 0); - mockpp::VisitableMockMethod<int, int, int> mmid2(MOCKPP_PCHAR("mm2"), 0); - mockpp::VisitableMockMethod<int, int, int, int> mmid3(MOCKPP_PCHAR("mm3"), 0); - mockpp::VisitableMockMethod<int, int, int, int, int> mmid4(MOCKPP_PCHAR("mm4"), 0); - mockpp::VisitableMockMethod<int, int, int, int, int, int> mmid5(MOCKPP_PCHAR("mm5"), 0); - mockpp::VisitableMockMethod<int, int, int, int, int, int, int> mmid6(MOCKPP_PCHAR("mm6"), 0); + mockpp::VisitableMockMethod<int> mmid0(MOCKPP_PCHAR("mm0"), 0); + mockpp::VisitableMockMethod<int, int> mmid1(MOCKPP_PCHAR("mm1"), 0); + mockpp::VisitableMockMethod<int, int, int> mmid2(MOCKPP_PCHAR("mm2"), 0); + mockpp::VisitableMockMethod<int, int, int, int> mmid3(MOCKPP_PCHAR("mm3"), 0); + mockpp::VisitableMockMethod<int, int, int, int, int> mmid4(MOCKPP_PCHAR("mm4"), 0); + mockpp::VisitableMockMethod<int, int, int, int, int, int> mmid5(MOCKPP_PCHAR("mm5"), 0); + mockpp::VisitableMockMethod<int, int, int, int, int, int, int> mmid6(MOCKPP_PCHAR("mm6"), 0); } @@ -185,7 +185,7 @@ MyVisitableMockMethodBase(const mockpp::String &name, mockpp::VisitableMockObject *parent) : mockpp::VisitableMockMethodBase(name, parent) {} - + using mockpp::VisitableMockMethodBase::throwAvailableException; }; @@ -205,12 +205,12 @@ vmo.activate(); vmo.reset(); - + ctr.addThrowable(mockpp::make_throwable(123u)); ctr.addThrowable(333u, 2); ctr.setDefaultThrowable(mockpp::make_throwable(321u)); vmo.activate(); - + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), MOCKPP_PCHAR("vmb.throwAvailableException()"), unsigned, @@ -238,7 +238,7 @@ vmo.verify(); ctr.verify(); - + vmo.reset(); vmo.verify(); ctr.verify(); @@ -248,18 +248,82 @@ MOCKPP_ASSERT_THROWING_COND(vmo.verify(), MOCKPP_PCHAR("vmo.verify()"), mockpp::AssertionFailedError, - exception_object.getMessage().find(MOCKPP_PCHAR("is unused")) != mockpp::String::npos); + exception_object.getMessage().find(MOCKPP_PCHAR("/defaultThrowable is unused")) != mockpp::String::npos); } -void VisitableMockMethod_test::test_base_R() +template <class T> +class MyVisitableMockReturningMethodBase : public mockpp::VisitableMockReturningMethodBase<T> +{ + public: + + MyVisitableMockReturningMethodBase(const mockpp::String &name, mockpp::VisitableMockObject *parent) + : mockpp::VisitableMockReturningMethodBase<T>(name, parent) + {} + + using mockpp::VisitableMockReturningMethodBase<T>::throwAvailableException; + using mockpp::VisitableMockReturningMethodBase<T>::determineReturnValue; +}; + + +void VisitableMockMethod_test::test_base_returning() { mockpp::VisitableMockObject vmo (MOCKPP_PCHAR("mockobj"), 0); - mockpp::VisitableMockMethodBase vmb (MOCKPP_PCHAR("methodbase"), &vmo); - mockpp::VisitableMockMethodBase::ControllerFor<mockpp::VisitableMockMethodBase> ctr(&vmb); - - ctr.unsetThrowablesInline(); + MyVisitableMockReturningMethodBase<int> vmb (MOCKPP_PCHAR("methodbase"), &vmo); + MyVisitableMockReturningMethodBase<int>::ControllerFor ctr(&vmb); + + ctr.setDefaultReturnValue(123); + ctr.addReturnValue(321,2); + vmo.clear(); + + ////////////////////////////////////////////////////// + + ctr.setDefaultReturnValue(123); + ctr.addReturnValue(321, 2); + ctr.addThrowable(mockpp::make_throwable(123u)); + vmo.activate(); + + MOCKPP_ASSERT_EQUALS(321, vmb.determineReturnValue()); + MOCKPP_ASSERT_EQUALS(321, vmb.determineReturnValue()); + MOCKPP_ASSERT_EQUALS(123, vmb.determineReturnValue()); + + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), + MOCKPP_PCHAR("vmb.throwAvailableException()-1"), + unsigned, + unsigned(123)); + vmo.verify(); + ctr.verify(); + + ////////////////////////////////////////////////////// + + vmo.clear(); + ctr.unsetThrowablesInline(); + ctr.setDefaultReturnValue(123); + ctr.addReturnValue(321, 2); + ctr.addThrowable(mockpp::make_throwable(123u)); + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), + MOCKPP_PCHAR("vmb.throwAvailableException()-2"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_EQUALS(321, vmb.determineReturnValue()); + MOCKPP_ASSERT_EQUALS(321, vmb.determineReturnValue()); + MOCKPP_ASSERT_EQUALS(123, vmb.determineReturnValue()); + + vmo.verify(); + ctr.verify(); + + ////////////////////////////////////////////////////// + + vmo.clear(); + ctr.setDefaultReturnValue(123); + MOCKPP_ASSERT_THROWING_COND(vmo.verify(), + MOCKPP_PCHAR("vmo.verify()"), + mockpp::AssertionFailedError, + exception_object.getMessage().find(MOCKPP_PCHAR("/defaultReturnValueUsed is unused")) != mockpp::String::npos); } |