28 #ifndef D_MockCheckedActualCall_h 29 #define D_MockCheckedActualCall_h 31 #include "CppUTestExt/MockActualCall.h" 32 #include "CppUTestExt/MockExpectedCallsList.h" 34 class MockCheckedActualCall :
public MockActualCall
37 MockCheckedActualCall(
unsigned int callOrder, MockFailureReporter* reporter,
const MockExpectedCallsList& expectations);
38 virtual ~MockCheckedActualCall();
40 virtual MockActualCall& withName(
const SimpleString& name) _override;
41 virtual MockActualCall& withCallOrder(
unsigned int) _override;
42 virtual MockActualCall& withBoolParameter(
const SimpleString& name,
bool value) _override;
43 virtual MockActualCall& withIntParameter(
const SimpleString& name,
int value) _override;
44 virtual MockActualCall& withUnsignedIntParameter(
const SimpleString& name,
unsigned int value) _override;
45 virtual MockActualCall& withLongIntParameter(
const SimpleString& name,
long int value) _override;
46 virtual MockActualCall& withUnsignedLongIntParameter(
const SimpleString& name,
unsigned long int value) _override;
47 virtual MockActualCall& withDoubleParameter(
const SimpleString& name,
double value) _override;
48 virtual MockActualCall& withStringParameter(
const SimpleString& name,
const char* value) _override;
49 virtual MockActualCall& withPointerParameter(
const SimpleString& name,
void* value) _override;
50 virtual MockActualCall& withConstPointerParameter(
const SimpleString& name,
const void* value) _override;
51 virtual MockActualCall& withFunctionPointerParameter(
const SimpleString& name,
void (*value)()) _override;
52 virtual MockActualCall& withMemoryBufferParameter(const SimpleString& name, const
unsigned char* value,
size_t size) _override;
53 virtual MockActualCall& withParameterOfType(const SimpleString& type, const SimpleString& name, const
void* value) _override;
54 virtual MockActualCall& withOutputParameter(const SimpleString& name,
void* output) _override;
55 virtual MockActualCall& withOutputParameterOfType(const SimpleString& type, const SimpleString& name,
void* output) _override;
57 virtual
bool hasReturnValue() _override;
58 virtual MockNamedValue returnValue() _override;
60 virtual
bool returnBoolValueOrDefault(
bool default_value) _override;
61 virtual
bool returnBoolValue() _override;
63 virtual
int returnIntValueOrDefault(
int default_value) _override;
64 virtual
int returnIntValue() _override;
66 virtual
unsigned long int returnUnsignedLongIntValue() _override;
67 virtual
unsigned long int returnUnsignedLongIntValueOrDefault(
unsigned long int) _override;
69 virtual
long int returnLongIntValue() _override;
70 virtual
long int returnLongIntValueOrDefault(
long int default_value) _override;
72 virtual
unsigned int returnUnsignedIntValue() _override;
73 virtual
unsigned int returnUnsignedIntValueOrDefault(
unsigned int default_value) _override;
75 virtual const
char * returnStringValueOrDefault(const
char * default_value) _override;
76 virtual const
char * returnStringValue() _override;
78 virtual
double returnDoubleValue() _override;
79 virtual
double returnDoubleValueOrDefault(
double default_value) _override;
81 virtual const
void * returnConstPointerValue() _override;
82 virtual const
void * returnConstPointerValueOrDefault(const
void * default_value) _override;
84 virtual
void * returnPointerValue() _override;
85 virtual
void * returnPointerValueOrDefault(
void *) _override;
87 virtual
void (*returnFunctionPointerValue())() _override;
88 virtual
void (*returnFunctionPointerValueOrDefault(
void (*)()))() _override;
90 virtual MockActualCall& onObject(const
void* objectPtr) _override;
92 virtual
bool isFulfilled() const;
93 virtual
bool hasFailed() const;
95 virtual
void checkExpectations();
97 virtual
void setMockFailureReporter(MockFailureReporter* reporter);
99 void setName(const SimpleString& name);
100 SimpleString getName() const;
101 virtual UtestShell* getTest() const;
102 virtual
void callHasSucceeded();
103 virtual
void copyOutputParameters(MockCheckedExpectedCall* call);
104 virtual
void completeCallWhenMatchIsFound();
105 virtual
void failTest(const MockFailure& failure);
106 virtual
void checkInputParameter(const MockNamedValue& actualParameter);
107 virtual
void checkOutputParameter(const MockNamedValue& outputParameter);
108 virtual
void callIsInProgress();
110 enum ActualCallState {
115 virtual void setState(ActualCallState state);
118 SimpleString functionName_;
119 unsigned int callOrder_;
120 MockFailureReporter* reporter_;
122 ActualCallState state_;
123 MockCheckedExpectedCall* matchingExpectation_;
125 MockExpectedCallsList potentiallyMatchingExpectations_;
126 const MockExpectedCallsList& allExpectations_;
128 class MockOutputParametersListNode
135 MockOutputParametersListNode* next_;
136 MockOutputParametersListNode(
const SimpleString& name,
const SimpleString& type,
void* ptr)
137 : name_(name), type_(type), ptr_(ptr), next_(
NULL) {}
140 MockOutputParametersListNode* outputParameterExpectations_;
142 virtual void addOutputParameter(
const SimpleString& name,
const SimpleString& type,
void* ptr);
143 virtual void cleanUpOutputParameterList();
146 class MockActualCallTrace :
public MockActualCall
149 MockActualCallTrace();
150 virtual ~MockActualCallTrace();
152 virtual MockActualCall& withName(
const SimpleString& name) _override;
153 virtual MockActualCall& withCallOrder(
unsigned int) _override;
154 virtual MockActualCall& withBoolParameter(
const SimpleString& name,
bool value) _override;
155 virtual MockActualCall& withIntParameter(
const SimpleString& name,
int value) _override;
156 virtual MockActualCall& withUnsignedIntParameter(
const SimpleString& name,
unsigned int value) _override;
157 virtual MockActualCall& withLongIntParameter(
const SimpleString& name,
long int value) _override;
158 virtual MockActualCall& withUnsignedLongIntParameter(
const SimpleString& name,
unsigned long int value) _override;
159 virtual MockActualCall& withDoubleParameter(
const SimpleString& name,
double value) _override;
160 virtual MockActualCall& withStringParameter(
const SimpleString& name,
const char* value) _override;
161 virtual MockActualCall& withPointerParameter(
const SimpleString& name,
void* value) _override;
162 virtual MockActualCall& withConstPointerParameter(
const SimpleString& name,
const void* value) _override;
163 virtual MockActualCall& withFunctionPointerParameter(
const SimpleString& name,
void (*value)()) _override;
164 virtual MockActualCall& withMemoryBufferParameter(const SimpleString& name, const
unsigned char* value,
size_t size) _override;
165 virtual MockActualCall& withParameterOfType(const SimpleString& typeName, const SimpleString& name, const
void* value) _override;
166 virtual MockActualCall& withOutputParameter(const SimpleString& name,
void* output) _override;
167 virtual MockActualCall& withOutputParameterOfType(const SimpleString& typeName, const SimpleString& name,
void* output) _override;
169 virtual
bool hasReturnValue() _override;
170 virtual MockNamedValue returnValue() _override;
172 virtual
bool returnBoolValueOrDefault(
bool default_value) _override;
173 virtual
bool returnBoolValue() _override;
175 virtual
int returnIntValueOrDefault(
int default_value) _override;
176 virtual
int returnIntValue() _override;
178 virtual
unsigned long int returnUnsignedLongIntValue() _override;
179 virtual
unsigned long int returnUnsignedLongIntValueOrDefault(
unsigned long int) _override;
181 virtual
long int returnLongIntValue() _override;
182 virtual
long int returnLongIntValueOrDefault(
long int default_value) _override;
184 virtual
unsigned int returnUnsignedIntValue() _override;
185 virtual
unsigned int returnUnsignedIntValueOrDefault(
unsigned int default_value) _override;
187 virtual const
char * returnStringValueOrDefault(const
char * default_value) _override;
188 virtual const
char * returnStringValue() _override;
190 virtual
double returnDoubleValue() _override;
191 virtual
double returnDoubleValueOrDefault(
double default_value) _override;
193 virtual
void * returnPointerValue() _override;
194 virtual
void * returnPointerValueOrDefault(
void *) _override;
196 virtual const
void * returnConstPointerValue() _override;
197 virtual const
void * returnConstPointerValueOrDefault(const
void * default_value) _override;
199 virtual
void (*returnFunctionPointerValue())() _override;
200 virtual
void (*returnFunctionPointerValueOrDefault(
void (*)()))() _override;
202 virtual MockActualCall& onObject(const
void* objectPtr) _override;
204 const
char* getTraceOutput();
206 static MockActualCallTrace& instance();
209 SimpleString traceBuffer_;
211 void addParameterName(const SimpleString& name);
214 class MockIgnoredActualCall: public MockActualCall
217 virtual MockActualCall& withName(
const SimpleString&) _override {
return *
this;}
218 virtual MockActualCall& withCallOrder(
unsigned int) _override {
return *
this; }
219 virtual MockActualCall& withBoolParameter(
const SimpleString&,
bool) _override {
return *
this; }
220 virtual MockActualCall& withIntParameter(
const SimpleString&,
int) _override {
return *
this; }
221 virtual MockActualCall& withUnsignedIntParameter(
const SimpleString&,
unsigned int) _override {
return *
this; }
222 virtual MockActualCall& withLongIntParameter(
const SimpleString&,
long int) _override {
return *
this; }
223 virtual MockActualCall& withUnsignedLongIntParameter(
const SimpleString&,
unsigned long int) _override {
return *
this; }
224 virtual MockActualCall& withDoubleParameter(
const SimpleString&,
double) _override {
return *
this; }
225 virtual MockActualCall& withStringParameter(
const SimpleString&,
const char*) _override {
return *
this; }
226 virtual MockActualCall& withPointerParameter(
const SimpleString& ,
void*) _override {
return *
this; }
227 virtual MockActualCall& withConstPointerParameter(
const SimpleString& ,
const void*) _override {
return *
this; }
228 virtual MockActualCall& withFunctionPointerParameter(
const SimpleString& ,
void (*)()) _override {
return *
this; }
229 virtual MockActualCall& withMemoryBufferParameter(
const SimpleString&,
const unsigned char*,
size_t) _override {
return *
this; }
230 virtual MockActualCall& withParameterOfType(
const SimpleString&,
const SimpleString&,
const void*) _override {
return *
this; }
231 virtual MockActualCall& withOutputParameter(
const SimpleString&,
void*) _override {
return *
this; }
232 virtual MockActualCall& withOutputParameterOfType(
const SimpleString&,
const SimpleString&,
void*) _override {
return *
this; }
234 virtual bool hasReturnValue() _override {
return false; }
235 virtual MockNamedValue returnValue() _override {
return MockNamedValue(
""); }
237 virtual bool returnBoolValueOrDefault(
bool) _override {
return false; }
238 virtual bool returnBoolValue() _override {
return false; }
240 virtual int returnIntValue() _override {
return 0; }
241 virtual int returnIntValueOrDefault(
int value) _override {
return value; }
243 virtual unsigned long int returnUnsignedLongIntValue() _override {
return 0; }
244 virtual unsigned long int returnUnsignedLongIntValueOrDefault(
unsigned long int value) _override {
return value; }
246 virtual long int returnLongIntValue() _override {
return 0; }
247 virtual long int returnLongIntValueOrDefault(
long int value) _override {
return value; }
249 virtual unsigned int returnUnsignedIntValue() _override {
return 0; }
250 virtual unsigned int returnUnsignedIntValueOrDefault(
unsigned int value) _override {
return value; }
252 virtual double returnDoubleValue() _override {
return 0.0; }
253 virtual double returnDoubleValueOrDefault(
double value) _override {
return value; }
255 virtual const char * returnStringValue() _override {
return ""; }
256 virtual const char * returnStringValueOrDefault(
const char * value) _override {
return value; }
258 virtual void * returnPointerValue() _override {
return NULL; }
259 virtual void * returnPointerValueOrDefault(
void * value) _override {
return value; }
261 virtual const void * returnConstPointerValue() _override {
return NULL; }
262 virtual const void * returnConstPointerValueOrDefault(
const void * value) _override {
return value; }
264 virtual void (*returnFunctionPointerValue())() _override {
return NULL; }
265 virtual void (*returnFunctionPointerValueOrDefault(
void (*value)()))() _override {
return value; }
267 virtual MockActualCall& onObject(
const void* ) _override {
return *
this; }
269 static MockIgnoredActualCall& instance();
#define NULL
Definition: nm_bsp.h:76