28 #ifndef D_MockCheckedExpectedCall_h 29 #define D_MockCheckedExpectedCall_h 31 #include "CppUTestExt/MockExpectedCall.h" 32 #include "CppUTestExt/MockNamedValue.h" 34 class MockCheckedExpectedCall :
public MockExpectedCall
38 MockCheckedExpectedCall();
39 virtual ~MockCheckedExpectedCall();
41 virtual MockExpectedCall& withName(
const SimpleString& name) _override;
42 virtual MockExpectedCall& withCallOrder(
unsigned int callOrder) _override;
43 virtual MockExpectedCall& withBoolParameter(
const SimpleString& name,
bool value) _override;
44 virtual MockExpectedCall& withIntParameter(
const SimpleString& name,
int value) _override;
45 virtual MockExpectedCall& withUnsignedIntParameter(
const SimpleString& name,
unsigned int value) _override;
46 virtual MockExpectedCall& withLongIntParameter(
const SimpleString& name,
long int value) _override;
47 virtual MockExpectedCall& withUnsignedLongIntParameter(
const SimpleString& name,
unsigned long int value) _override;
48 virtual MockExpectedCall& withDoubleParameter(
const SimpleString& name,
double value) _override;
49 virtual MockExpectedCall& withStringParameter(
const SimpleString& name,
const char* value) _override;
50 virtual MockExpectedCall& withPointerParameter(
const SimpleString& name,
void* value) _override;
51 virtual MockExpectedCall& withConstPointerParameter(
const SimpleString& name,
const void* value) _override;
52 virtual MockExpectedCall& withFunctionPointerParameter(
const SimpleString& name,
void (*value)()) _override;
53 virtual MockExpectedCall& withMemoryBufferParameter(const SimpleString& name, const
unsigned char* value,
size_t size) _override;
54 virtual MockExpectedCall& withParameterOfType(const SimpleString& typeName, const SimpleString& name, const
void* value) _override;
55 virtual MockExpectedCall& withOutputParameterReturning(const SimpleString& name, const
void* value,
size_t size) _override;
56 virtual MockExpectedCall& withOutputParameterOfTypeReturning(const SimpleString& typeName, const SimpleString& name, const
void* value) _override;
57 virtual MockExpectedCall& ignoreOtherParameters() _override;
59 virtual MockExpectedCall& andReturnValue(
bool value) _override;
60 virtual MockExpectedCall& andReturnValue(
int value) _override;
61 virtual MockExpectedCall& andReturnValue(
unsigned int value) _override;
62 virtual MockExpectedCall& andReturnValue(
long int value) _override;
63 virtual MockExpectedCall& andReturnValue(
unsigned long int value) _override;
64 virtual MockExpectedCall& andReturnValue(
double value) _override;
65 virtual MockExpectedCall& andReturnValue(const
char* value) _override;
66 virtual MockExpectedCall& andReturnValue(
void* value) _override;
67 virtual MockExpectedCall& andReturnValue(const
void* value) _override;
68 virtual MockExpectedCall& andReturnValue(
void (*value)()) _override;
70 virtual MockNamedValue returnValue();
72 virtual MockExpectedCall& onObject(
void* objectPtr) _override;
74 virtual MockNamedValue getInputParameter(const SimpleString& name);
75 virtual MockNamedValue getOutputParameter(const SimpleString& name);
76 virtual SimpleString getInputParameterType(const SimpleString& name);
77 virtual SimpleString getInputParameterValueString(const SimpleString& name);
79 virtual
bool hasInputParameterWithName(const SimpleString& name);
80 virtual
bool hasInputParameter(const MockNamedValue& parameter);
81 virtual
bool hasOutputParameterWithName(const SimpleString& name);
82 virtual
bool hasOutputParameter(const MockNamedValue& parameter);
83 virtual
bool relatesTo(const SimpleString& functionName);
84 virtual
bool relatesToObject(const
void* objectPtr) const;
86 virtual
bool isFulfilled();
87 virtual
bool canMatchActualCalls();
88 virtual
bool isMatchingActualCallAndFinalized();
89 virtual
bool isMatchingActualCall();
90 virtual
bool areParametersMatchingActualCall();
91 virtual
bool isOutOfOrder() const;
93 virtual
void callWasMade(
unsigned int callOrder);
94 virtual
void inputParameterWasPassed(const SimpleString& name);
95 virtual
void outputParameterWasPassed(const SimpleString& name);
96 virtual
void finalizeActualCallMatch();
97 virtual
void wasPassedToObject();
98 virtual
void resetActualCallMatchingState();
100 virtual SimpleString callToString();
101 virtual SimpleString missingParametersToString();
103 enum { NOT_CALLED_YET = 0, NO_EXPECTED_CALL_ORDER = 0 };
104 virtual unsigned int getCallOrder()
const;
107 void setName(
const SimpleString& name);
108 SimpleString getName()
const;
111 SimpleString functionName_;
113 class MockExpectedFunctionParameter :
public MockNamedValue
116 MockExpectedFunctionParameter(
const SimpleString& name);
117 void setMatchesActualCall(
bool b);
118 bool isMatchingActualCall()
const;
121 bool matchesActualCall_;
124 MockExpectedFunctionParameter* item(MockNamedValueListNode* node);
126 bool ignoreOtherParameters_;
127 bool isActualCallMatchFinalized_;
128 unsigned int actualCallOrder_;
129 unsigned int expectedCallOrder_;
131 MockNamedValueList* inputParameters_;
132 MockNamedValueList* outputParameters_;
133 MockNamedValue returnValue_;
135 bool wasPassedToObject_;
138 struct MockExpectedCallCompositeNode;
139 class MockExpectedCallComposite :
public MockExpectedCall
142 MockExpectedCallComposite();
143 virtual ~MockExpectedCallComposite();
145 virtual MockExpectedCall& withName(
const SimpleString& name) _override;
146 virtual MockExpectedCall& withCallOrder(
unsigned int callOrder) _override;
147 virtual MockExpectedCall& withBoolParameter(
const SimpleString& name,
bool value) _override;
148 virtual MockExpectedCall& withIntParameter(
const SimpleString& name,
int value) _override;
149 virtual MockExpectedCall& withUnsignedIntParameter(
const SimpleString& name,
unsigned int value) _override;
150 virtual MockExpectedCall& withLongIntParameter(
const SimpleString& name,
long int value) _override;
151 virtual MockExpectedCall& withUnsignedLongIntParameter(
const SimpleString& name,
unsigned long int value) _override;
152 virtual MockExpectedCall& withDoubleParameter(
const SimpleString& name,
double value) _override;
153 virtual MockExpectedCall& withStringParameter(
const SimpleString& name,
const char* value) _override;
154 virtual MockExpectedCall& withConstPointerParameter(
const SimpleString& name,
const void* value) _override;
155 virtual MockExpectedCall& withPointerParameter(
const SimpleString& name,
void* value) _override;
156 virtual MockExpectedCall& withFunctionPointerParameter(
const SimpleString& name,
void (*value)()) _override;
157 virtual MockExpectedCall& withMemoryBufferParameter(const SimpleString& name, const
unsigned char* value,
size_t size) _override;
158 virtual MockExpectedCall& withParameterOfType(const SimpleString& typeName, const SimpleString& name, const
void* value) _override;
159 virtual MockExpectedCall& withOutputParameterReturning(const SimpleString& name, const
void* value,
size_t size) _override;
160 virtual MockExpectedCall& withOutputParameterOfTypeReturning(const SimpleString& typeName, const SimpleString& name, const
void* value) _override;
161 virtual MockExpectedCall& ignoreOtherParameters() _override;
163 virtual MockExpectedCall& andReturnValue(
bool value) _override;
164 virtual MockExpectedCall& andReturnValue(
int value) _override;
165 virtual MockExpectedCall& andReturnValue(
unsigned int value) _override;
166 virtual MockExpectedCall& andReturnValue(
long int value) _override;
167 virtual MockExpectedCall& andReturnValue(
unsigned long int value) _override;
168 virtual MockExpectedCall& andReturnValue(
double value) _override;
169 virtual MockExpectedCall& andReturnValue(const
char* value) _override;
170 virtual MockExpectedCall& andReturnValue(
void* value) _override;
171 virtual MockExpectedCall& andReturnValue(const
void* value) _override;
172 virtual MockExpectedCall& andReturnValue(
void (*value)()) _override;
174 virtual MockExpectedCall& onObject(
void* objectPtr) _override;
176 virtual
void add(MockExpectedCall& call);
177 virtual
void clear();
179 MockExpectedCallCompositeNode* head_;
182 class MockIgnoredExpectedCall: public MockExpectedCall
186 virtual MockExpectedCall& withName(
const SimpleString&) _override {
return *
this;}
187 virtual MockExpectedCall& withCallOrder(
unsigned int) _override {
return *
this; }
188 virtual MockExpectedCall& withBoolParameter(
const SimpleString&,
bool) _override {
return *
this; }
189 virtual MockExpectedCall& withIntParameter(
const SimpleString&,
int) _override {
return *
this; }
190 virtual MockExpectedCall& withUnsignedIntParameter(
const SimpleString&,
unsigned int) _override{
return *
this; }
191 virtual MockExpectedCall& withLongIntParameter(
const SimpleString&,
long int) _override {
return *
this; }
192 virtual MockExpectedCall& withUnsignedLongIntParameter(
const SimpleString&,
unsigned long int) _override {
return *
this; }
193 virtual MockExpectedCall& withDoubleParameter(
const SimpleString&,
double) _override {
return *
this; }
194 virtual MockExpectedCall& withStringParameter(
const SimpleString&,
const char*) _override {
return *
this; }
195 virtual MockExpectedCall& withPointerParameter(
const SimpleString& ,
void*) _override {
return *
this; }
196 virtual MockExpectedCall& withConstPointerParameter(
const SimpleString& ,
const void*) _override {
return *
this; }
197 virtual MockExpectedCall& withFunctionPointerParameter(
const SimpleString& ,
void(*)()) _override {
return *
this; }
198 virtual MockExpectedCall& withMemoryBufferParameter(
const SimpleString&,
const unsigned char*,
size_t) _override {
return *
this; }
199 virtual MockExpectedCall& withParameterOfType(
const SimpleString&,
const SimpleString&,
const void*) _override {
return *
this; }
200 virtual MockExpectedCall& withOutputParameterReturning(
const SimpleString&,
const void*,
size_t) _override {
return *
this; }
201 virtual MockExpectedCall& withOutputParameterOfTypeReturning(
const SimpleString&,
const SimpleString&,
const void*) _override {
return *
this; }
202 virtual MockExpectedCall& ignoreOtherParameters() _override {
return *
this;}
204 virtual MockExpectedCall& andReturnValue(
bool) _override {
return *
this; }
205 virtual MockExpectedCall& andReturnValue(
int) _override {
return *
this; }
206 virtual MockExpectedCall& andReturnValue(
unsigned int) _override {
return *
this; }
207 virtual MockExpectedCall& andReturnValue(
long int) _override {
return *
this; }
208 virtual MockExpectedCall& andReturnValue(
unsigned long int) _override {
return *
this; }
209 virtual MockExpectedCall& andReturnValue(
double) _override {
return *
this;}
210 virtual MockExpectedCall& andReturnValue(
const char*) _override {
return *
this; }
211 virtual MockExpectedCall& andReturnValue(
void*) _override {
return *
this; }
212 virtual MockExpectedCall& andReturnValue(
const void*) _override {
return *
this; }
213 virtual MockExpectedCall& andReturnValue(
void (*)()) _override {
return *
this; }
215 virtual MockExpectedCall& onObject(
void*) _override {
return *
this; }
217 static MockExpectedCall& instance();