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_DEFAULTRETURNSTUB_H
00035 #define MOCKPP_DEFAULTRETURNSTUB_H
00036
00037 #include <mockpp/mockpp.h>
00038
00039 #include <mockpp/stub/TypelessStub.h>
00040
00041
00042 MOCKPP_NS_START
00043
00044
00049 template <typename R>
00050 class DefaultResultStub : public TypelessStub<R>
00051 {
00052 public:
00053
00057 DefaultResultStub()
00058 : haveDefault(false)
00059 , defaultValue (R ())
00060 {}
00061
00065 DefaultResultStub(const R &val)
00066 : haveDefault(true)
00067 , defaultValue(val)
00068 {}
00069
00074 virtual String describeTo( String &buffer ) const
00075 {
00076 buffer += MOCKPP_PCHAR("returns a default value");
00077 return buffer;
00078 }
00079
00084 virtual R typelessInvoke()
00085 {
00086 if (haveDefault)
00087 return R(defaultValue);
00088
00089 else
00090 return R();
00091 }
00092
00093 private:
00094
00095 bool haveDefault;
00096 R defaultValue;
00097 };
00098
00099
00100 MOCKPP_NS_END
00101
00102
00103 #endif // MOCKPP_DEFAULTRETURNSTUB_H
00104