Thread: [Mockpp-commits] mockpp/mockpp/tests VisitableMockMethod_1_test.cpp,1.3,1.4 VisitableMockMethod_2_te
Brought to you by:
ewald-arnold
From: Ewald A. <ewa...@us...> - 2005-11-14 19:20:44
|
Update of /cvsroot/mockpp/mockpp/mockpp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5553/mockpp/tests Modified Files: VisitableMockMethod_1_test.cpp VisitableMockMethod_2_test.cpp Log Message: more tests Index: VisitableMockMethod_2_test.cpp =================================================================== RCS file: /cvsroot/mockpp/mockpp/mockpp/tests/VisitableMockMethod_2_test.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- VisitableMockMethod_2_test.cpp 14 Nov 2005 17:39:21 -0000 1.7 +++ VisitableMockMethod_2_test.cpp 14 Nov 2005 19:20:35 -0000 1.8 @@ -42,8 +42,6 @@ #include <mockpp/chaining/ChainingMockObjectSupport.h> -#include <mockpp/constraint/OutBound.h> - #include <cppunit/extensions/HelperMacros.h> namespace { // anon Index: VisitableMockMethod_1_test.cpp =================================================================== RCS file: /cvsroot/mockpp/mockpp/mockpp/tests/VisitableMockMethod_1_test.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- VisitableMockMethod_1_test.cpp 15 Oct 2005 15:40:59 -0000 1.3 +++ VisitableMockMethod_1_test.cpp 14 Nov 2005 19:20:35 -0000 1.4 @@ -37,18 +37,16 @@ #else -#include <mockpp/VisitableMockMethod.h> +#include <mockpp/VisitableMockMethod1.h> #include <mockpp/VisitableMockObject.h> -#include <mockpp/constraint/OutBound.h> +#include <mockpp/chaining/ChainingMockObjectSupport.h> #include <cppunit/extensions/HelperMacros.h> namespace { // anon -#ifdef MOCKPP_XXX - class VisitableMockMethod_1_test : public CppUnit::TestFixture { public: @@ -56,12 +54,14 @@ CPPUNIT_TEST_SUITE( VisitableMockMethod_1_test ); CPPUNIT_TEST( test_parameter_1 ); + CPPUNIT_TEST( test_parameter_1v ); CPPUNIT_TEST_SUITE_END(); public: void test_parameter_1(); + void test_parameter_1v(); }; @@ -74,41 +74,301 @@ MyVisitableMockObject_1(const mockpp::String &name) : mockpp::VisitableMockObject(name, 0) - , visitable_mocker(MOCKPP_PCHAR("Visitable"), this) + , visitable_mocker(MOCKPP_PCHAR("visitablei1"), this) + , visitablev_mocker(MOCKPP_PCHAR("visitablev2"), this) {} + void visitable(const mockpp::ConstraintHolder<unsigned> &p1) + { + visitable_mocker.forward(p1); + } + int visitable(unsigned i) { return visitable_mocker.forward(i); } + void visitablev(const mockpp::ConstraintHolder<unsigned> &p1) + { + visitablev_mocker.forward(p1); + } + + void visitablev(unsigned i) + { + visitablev_mocker.forward(i); + } + mockpp::VisitableMockMethod1<int, unsigned> visitable_mocker; + mockpp::VisitableMockMethod1<void, unsigned> visitablev_mocker; }; void VisitableMockMethod_1_test::test_parameter_1() { - MyVisitableMockObject_1 mcm(MOCKPP_PCHAR("Visitable-object")); -/* - mockpp::VisitableMockMethod1<int, unsigned>::ChainerFor chain(mcm, mcm.Visitable_mocker); + MyVisitableMockObject_1 vmo(MOCKPP_PCHAR("Visitable-object")); + mockpp::VisitableMockMethod1<int, unsigned> &vmb (vmo.visitable_mocker); - MOCKPP_ASSERT_TRUE(mcm.Visitable(12) == 21); - MOCKPP_ASSERT_TRUE(mcm.Visitable(34) == 43); + vmb.addThrowable(mockpp::make_throwable(333u)); + vmb.setDefaultThrowable(mockpp::make_throwable(444u)); + vmb.setDefaultReturnValue(999); + vmb.addReturnValue(888, 2); + vmo.reset(); - 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(); + ////////////////////////////////////////////////////// + + 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(1); + vmo.visitable(2); + vmo.visitable(3); + vmo.visitable(4); + vmo.visitable(5); + vmo.visitable(12); + vmo.visitable(mockpp::eq<unsigned>(10, 2)); + vmo.visitable(13); + vmo.visitable(14); + vmo.visitable(15); + vmo.visitable(52); + vmb.addResponseValue(222, 12); + vmb.addResponseValue(333, 13); + vmb.addResponseValue(666, mockpp::eq<unsigned>(10, 1)); + vmb.addResponseThrowable(mockpp::make_throwable(444u), 14); + vmb.addResponseThrowable(mockpp::make_throwable(555u), 15); + vmb.addResponseThrowable(mockpp::make_throwable(666u), mockpp::eq<unsigned>(50, 2)); + + vmo.activate(); + + MOCKPP_ASSERT_EQUALS(321, vmo.visitable(1)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(2), + MOCKPP_PCHAR("vmo.visitable()-1a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_EQUALS(432, vmo.visitable(3)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(4), + MOCKPP_PCHAR("vmo.visitable()-1b"), + unsigned, + unsigned(321)); + + MOCKPP_ASSERT_EQUALS(123, vmo.visitable(5)); + + MOCKPP_ASSERT_EQUALS(222, vmo.visitable(12)); + MOCKPP_ASSERT_EQUALS(666, vmo.visitable(11)); + MOCKPP_ASSERT_EQUALS(333, vmo.visitable(13)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(14), + MOCKPP_PCHAR("vmo.visitable()-1a"), + unsigned, + unsigned(444)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(15), + MOCKPP_PCHAR("vmo.visitable()-1b"), + unsigned, + unsigned(555)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(52), + MOCKPP_PCHAR("vmo.visitable()-1c"), + unsigned, + unsigned(666)); + + 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(9); + vmo.visitable(8); + vmo.visitable(1); + vmo.visitable(2); + vmo.visitable(3); + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitable(9), + MOCKPP_PCHAR("vmo.visitable()-2a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(9), + MOCKPP_PCHAR("vmo.visitable()-2b"), + unsigned, + unsigned(321)); + + MOCKPP_ASSERT_EQUALS(321, vmo.visitable(1)); + MOCKPP_ASSERT_EQUALS(432, vmo.visitable(2)); + MOCKPP_ASSERT_EQUALS(123, vmo.visitable(3)); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.setDefaultThrowable(mockpp::make_throwable(111u)); + vmb.addThrowable(mockpp::make_throwable(123u)); + + vmo.visitable(1); + vmo.visitable(2); + vmo.visitable(3); + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitable(1), + MOCKPP_PCHAR("vmo.visitable()-3a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(2), + MOCKPP_PCHAR("vmo.visitable()-3b"), + unsigned, + unsigned(111)); + + MOCKPP_ASSERT_THROWING(vmo.visitable(3), + MOCKPP_PCHAR("vmo.visitable()-3c"), + unsigned, + unsigned(111)); + + vmo.verify(); + vmb.verify(); +} + + +void VisitableMockMethod_1_test::test_parameter_1v() +{ + MyVisitableMockObject_1 vmo(MOCKPP_PCHAR("Visitable-object")); + mockpp::VisitableMockMethod1<void, unsigned> &vmb (vmo.visitablev_mocker); + mockpp::VisitableMockMethod1<int, unsigned> &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(1); + vmo.visitablev(2); + vmo.visitablev(2); + vmo.visitablev(mockpp::eq<unsigned>(10, 2)); + vmo.visitable(20); + vmo.visitable(200); + vmo.visitablev(3); + vmo.visitablev(14); + vmo.visitablev(15); + vmb.addResponseThrowable(mockpp::make_throwable(444u), 14); + vmb.addResponseThrowable(mockpp::make_throwable(555u), 15); + + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(2), + MOCKPP_PCHAR("vmo.visitablev()-1a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(4), + MOCKPP_PCHAR("vmo.visitablev()-1b"), + unsigned, + unsigned(321)); + + vmo.visitablev(2); + vmo.visitablev(11); + MOCKPP_ASSERT_EQUALS(999, vmo.visitable(20)); + MOCKPP_ASSERT_EQUALS(999, vmo.visitable(200)); + vmo.visitablev(3); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(14), + MOCKPP_PCHAR("vmo.visitablev()-2"), + unsigned, + unsigned(444)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(15), + MOCKPP_PCHAR("vmo.visitablev()-3"), + unsigned, + unsigned(555)); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.unsetThrowablesInline(); + + vmb.addThrowable(mockpp::make_throwable(123u)); + vmb.addThrowable(mockpp::make_throwable(321u)); + + vmo.visitablev(9); + vmo.visitablev(8); + vmo.visitablev(1); + vmo.visitablev(2); + vmo.visitablev(3); + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(9), + MOCKPP_PCHAR("vmo.visitablev()-2a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(8), + MOCKPP_PCHAR("vmo.visitablev()-2b"), + unsigned, + unsigned(321)); + + vmo.visitablev(1); + vmo.visitablev(2); + vmo.visitablev(3); + + vmo.verify(); + vmb.verify(); + + ////////////////////////////////////////////////////// + + vmo.reset(); + vmb.setDefaultThrowable(mockpp::make_throwable(111u)); + vmb.addThrowable(mockpp::make_throwable(123u)); + + vmo.visitablev(1); + vmo.visitablev(2); + vmo.visitablev(3); + vmo.activate(); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(1), + MOCKPP_PCHAR("vmo.visitablev()-3a"), + unsigned, + unsigned(123)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(2), + MOCKPP_PCHAR("vmo.visitablev()-3b"), + unsigned, + unsigned(111)); + + MOCKPP_ASSERT_THROWING(vmo.visitablev(3), + MOCKPP_PCHAR("vmo.visitablev()-3c"), + unsigned, + unsigned(111)); + + vmo.verify(); + vmb.verify(); } -#endif } // anon ns |