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();
}
|