00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef MOCKPP_TESTFAILURESTUB_H
00035 #define MOCKPP_TESTFAILURESTUB_H
00036
00037 #include <mockpp/mockpp.h>
00038
00039 #include <mockpp/stub/Stub.h>
00040 #include <mockpp/compat/AssertionFailedError.h>
00041
00042
00043 MOCKPP_NS_START
00044
00045
00050 template <typename R,
00051 typename I>
00052 class TestFailureStub : public Stub<R, I>
00053 {
00054 public:
00055
00059 TestFailureStub( const String &in_errorMessage )
00060 : errorMessage(in_errorMessage)
00061 {}
00062
00067 virtual R invoke( const I &invocation )
00068 {
00069 MOCKPP_UNUSED(invocation);
00070 assertionFailed(__LINE__, __FILE__, errorMessage);
00071 return R();
00072 }
00073
00078 virtual String describeTo( String &buffer ) const
00079 {
00080 buffer += MOCKPP_PCHAR("fails the test and reports \"")
00081 + errorMessage
00082 + MOCKPP_PCHAR("\"");
00083 return buffer;
00084 }
00085
00086 private:
00087
00088 const String errorMessage;
00089 };
00090
00091
00092 MOCKPP_NS_END
00093
00094
00095 #endif // MOCKPP_TESTFAILURESTUB_H
00096