Thread: [Mockpp-commits] mockpp/mockpp/tests VisitableMockMethod_test.cpp,1.13,1.14
Brought to you by:
ewald-arnold
From: Ewald A. <ewa...@us...> - 2005-11-15 19:19:56
|
Update of /cvsroot/mockpp/mockpp/mockpp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9026/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.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- VisitableMockMethod_test.cpp 13 Nov 2005 14:07:12 -0000 1.13 +++ VisitableMockMethod_test.cpp 15 Nov 2005 19:19:48 -0000 1.14 @@ -69,8 +69,8 @@ CPPUNIT_TEST_SUITE( VisitableMockMethod_test ); -// CPPUNIT_TEST( test_parameter_0 ); -// CPPUNIT_TEST( test_parameter_0V ); + CPPUNIT_TEST( test_parameter_0 ); + CPPUNIT_TEST( test_parameter_0v ); CPPUNIT_TEST( test_base ); CPPUNIT_TEST( test_inst ); CPPUNIT_TEST( test_base_returning ); @@ -82,16 +82,14 @@ void test_base(); void test_inst(); void test_base_returning(); -// void test_parameter_0(); -// void test_parameter_0V(); + void test_parameter_0(); + void test_parameter_0v(); }; CPPUNIT_TEST_SUITE_REGISTRATION(VisitableMockMethod_test); -#ifdef MOCKPP_XXX - class MyVisitableMockObject_0 : public mockpp::VisitableMockObject { public: @@ -106,42 +104,17 @@ { return visitable_mocker.forward(); } -i + void visitablev() { visitablev_mocker.forward(); } mockpp::VisitableMockMethod0<int> visitable_mocker; - mockpp::VisitableMockMethod0<void> visitable_mockerv; + mockpp::VisitableMockMethod0<void> visitablev_mocker; }; -void VisitableMockMethod_test::test_parameter_0() -{ - MyVisitableMockObject_0 mcm(MOCKPP_PCHAR("Visitable-object")); -/* - mockpp::VisitableMockMethod0<int>::ChainerFor chain(mcm.Visitable_mocker); - - MOCKPP_ASSERT_TRUE(mcm.Visitable() == 21); - MOCKPP_ASSERT_TRUE(mcm.Visitable() == 43); - - try - { - mcm.Visitable(56); - MOCKPP_ASSERT_TRUE_MESSAGE(MOCKPP_PCHAR("should have thrown"), false); - } - catch(mockpp::AssertionFailedError &ex) - { - MOCKPP_ASSERT_TRUE(ex.getMessage().find(MOCKPP_PCHAR("unexpected invocation")) != mockpp::String::npos); - } -*/ - mcm.verify(); -} - -#endif - - void VisitableMockMethod_test::test_inst() { mockpp::VisitableMockMethod0<void> mmv0(MOCKPP_PCHAR("mm0"), 0); @@ -328,7 +301,231 @@ } +void VisitableMockMethod_test::test_parameter_0() +{ + MyVisitableMockObject_0 vmo(MOCKPP_PCHAR("Visitable-object")); + mockpp::VisitableMockMethod0<int> &vmb (vmo.visitable_mocker); + + vmb.addThrowable(mockpp::make_throwable(333u)); + vmb.setDefaultThrowable(mockpp::make_throwable(444u)); + vmb.setDefaultReturnValue(999); + vmb.addReturnValue(888, 2); + vmo.reset(); + + ////////////////////////////////////////////////////// + + vmb.setDefaultReturnValue(123); + vmb.addReturnValue(321, 1); + vmb.addThrowable(mockpp::make_throwable(123u)); + vmb.addReturnValue(432, 1); + vmb.addThrowable(mockpp::make_throwable(321u)); + + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + + vmo.activate(); + + MOCKPP_ASSERT_EQUALS(321, vmo.visitable()); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-1a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_EQUALS(432, vmo.visitable()); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-1b"), + unsigned, + unsigned(321)); + + MOCKPP_ASSERT_EQUALS(123, vmo.visitable()); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.unsetThrowablesInline(); + + vmb.setDefaultReturnValue(123); + + vmb.addReturnValue(321, 1); + vmb.addThrowable(mockpp::make_throwable(123u)); + vmb.addReturnValue(432, 1); + vmb.addThrowable(mockpp::make_throwable(321u)); + + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-2a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-2b"), + unsigned, + unsigned(321)); + + MOCKPP_ASSERT_EQUALS(321, vmo.visitable()); + MOCKPP_ASSERT_EQUALS(432, vmo.visitable()); + MOCKPP_ASSERT_EQUALS(123, vmo.visitable()); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.setDefaultThrowable(mockpp::make_throwable(111u)); + vmb.addThrowable(mockpp::make_throwable(123u)); + + vmo.visitable(); + vmo.visitable(); + vmo.visitable(); + + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-3a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-3b"), + unsigned, + unsigned(111)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(), + MOCKPP_PCHAR("vmo.visitable()-3c"), + unsigned, + unsigned(111)); + + vmo.verify(); + vmb.verify(); +} + + +void VisitableMockMethod_test::test_parameter_0v() +{ + MyVisitableMockObject_0 vmo(MOCKPP_PCHAR("Visitable-object")); + mockpp::VisitableMockMethod0<void> &vmb (vmo.visitablev_mocker); + mockpp::VisitableMockMethod0<int> &vmbi (vmo.visitable_mocker); + + vmb.setDefaultThrowable(mockpp::make_throwable(444u)); + vmb.addThrowable(mockpp::make_throwable(333u)); + vmo.reset(); + + vmbi.setDefaultReturnValue(999); + + ////////////////////////////////////////////////////// + + vmb.addThrowable(mockpp::make_throwable(123u)); + vmb.addThrowable(mockpp::make_throwable(321u)); + + vmo.visitablev(); + vmo.visitablev(); + vmo.visitablev(); + vmo.visitable(); + vmo.visitable(); + vmo.visitablev(); + + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-1a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-1b"), + unsigned, + unsigned(321)); + + vmo.visitablev(); + vmo.visitable(); + vmo.visitable(); + vmo.visitablev(); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.unsetThrowablesInline(); + + vmb.addThrowable(mockpp::make_throwable(123u)); + vmb.addThrowable(mockpp::make_throwable(321u)); + + vmo.visitablev(); + vmo.visitablev(); + vmo.visitablev(); + vmo.visitablev(); + vmo.visitablev(); + + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-2a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-2b"), + unsigned, + unsigned(321)); + + vmo.visitablev(); + vmo.visitablev(); + vmo.visitablev(); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.setDefaultThrowable(mockpp::make_throwable(111u)); + vmb.addThrowable(mockpp::make_throwable(123u)); + + vmo.visitablev(); + vmo.visitablev(); + vmo.visitablev(); + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-3a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-3b"), + unsigned, + unsigned(111)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(), + MOCKPP_PCHAR("vmo.visitablev()-3c"), + unsigned, + unsigned(111)); + + vmo.verify(); + vmb.verify(); +} + + } // anon ns #endif // HAVE_CPPUNIT + |