[Mockpp-commits] mockpp/mockpp/tests VisitableMockMethod_test.cpp,1.9,1.10
Brought to you by:
ewald-arnold
From: Ewald A. <ewa...@us...> - 2005-11-06 14:11:33
|
Update of /cvsroot/mockpp/mockpp/mockpp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3673/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.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- VisitableMockMethod_test.cpp 31 Oct 2005 19:01:00 -0000 1.9 +++ VisitableMockMethod_test.cpp 6 Nov 2005 14:11:24 -0000 1.10 @@ -73,6 +73,7 @@ // CPPUNIT_TEST( test_parameter_0V ); CPPUNIT_TEST( test_base ); CPPUNIT_TEST( test_inst ); + CPPUNIT_TEST( test_base_R ); CPPUNIT_TEST_SUITE_END(); @@ -80,6 +81,7 @@ void test_base(); void test_inst(); + void test_base_R(); // void test_parameter_0(); // void test_parameter_0V(); }; @@ -176,22 +178,88 @@ } +class MyVisitableMockMethodBase : public mockpp::VisitableMockMethodBase +{ + public: + + MyVisitableMockMethodBase(const mockpp::String &name, mockpp::VisitableMockObject *parent) + : mockpp::VisitableMockMethodBase(name, parent) + {} + + using mockpp::VisitableMockMethodBase::throwAvailableException; +}; + + void VisitableMockMethod_test::test_base() { mockpp::VisitableMockObject vmo (MOCKPP_PCHAR("mockobj"), 0); - mockpp::VisitableMockMethodBase vmb (MOCKPP_PCHAR("methodbase"), &vmo); + MyVisitableMockMethodBase vmb (MOCKPP_PCHAR("methodbase"), &vmo); MOCKPP_ASSERT_TRUE(vmb.getMethodName() == MOCKPP_PCHAR("methodbase")); + MOCKPP_ASSERT_TRUE(vmb.getMethodIdentifier() == "methodbase"); MOCKPP_ASSERT_TRUE(vmb.getVisitableMockObject() == &vmo); mockpp::VisitableMockMethodBase::ControllerFor<mockpp::VisitableMockMethodBase> ctr(&vmb); - ctr.unsetThrowablesInline(); ctr.addThrowable(mockpp::make_throwable(123u)); ctr.addThrowable(123u); ctr.setDefaultThrowable(mockpp::make_throwable(321u)); -// ctr.verify(); + 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, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), + MOCKPP_PCHAR("vmb.throwAvailableException()"), + unsigned, + unsigned(333)); + + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), + MOCKPP_PCHAR("vmb.throwAvailableException()"), + unsigned, + unsigned(333)); + + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), + MOCKPP_PCHAR("vmb.throwAvailableException()"), + unsigned, + unsigned(321)); + + MOCKPP_ASSERT_THROWING(vmb.throwAvailableException(), + MOCKPP_PCHAR("vmb.throwAvailableException()"), + unsigned, + unsigned(321)); + + vmo.verify(); + ctr.verify(); + + vmo.reset(); + vmo.verify(); + ctr.verify(); + + ctr.setDefaultThrowable(mockpp::make_throwable(321u)); + vmo.activate(); + MOCKPP_ASSERT_THROWING_COND(vmo.verify(), + MOCKPP_PCHAR("vmo.verify()"), + mockpp::AssertionFailedError, + exception_object.getMessage().find(MOCKPP_PCHAR("is unused")) != mockpp::String::npos); +} + + +void VisitableMockMethod_test::test_base_R() +{ + mockpp::VisitableMockObject vmo (MOCKPP_PCHAR("mockobj"), 0); + mockpp::VisitableMockMethodBase vmb (MOCKPP_PCHAR("methodbase"), &vmo); + mockpp::VisitableMockMethodBase::ControllerFor<mockpp::VisitableMockMethodBase> ctr(&vmb); + + ctr.unsetThrowablesInline(); - ctr.reset(); } |