• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cpputest / cpputest / 10776895588

09 Sep 2024 04:02PM UTC coverage: 99.279%. First build
10776895588

Pull #1810

github

web-flow
Revert "Encode newlines for -ojunit as their XML equivalent instead of {newline}"
Pull Request #1810: Revert "Encode newlines for -ojunit as their XML equivalent instead of {newline}"

1 of 1 new or added line in 1 file covered. (100.0%)

6748 of 6797 relevant lines covered (99.28%)

18724.05 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

99.37
/src/CppUTestExt/MockExpectedCall.cpp
1
/*
2
 * Copyright (c) 2007, Michael Feathers, James Grenning and Bas Vodde
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions are met:
7
 *     * Redistributions of source code must retain the above copyright
8
 *       notice, this list of conditions and the following disclaimer.
9
 *     * Redistributions in binary form must reproduce the above copyright
10
 *       notice, this list of conditions and the following disclaimer in the
11
 *       documentation and/or other materials provided with the distribution.
12
 *     * Neither the name of the <organization> nor the
13
 *       names of its contributors may be used to endorse or promote products
14
 *       derived from this software without specific prior written permission.
15
 *
16
 * THIS SOFTWARE IS PROVIDED BY THE EARLIER MENTIONED AUTHORS ''AS IS'' AND ANY
17
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
 * DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
20
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 */
27

28
#include "CppUTest/TestHarness.h"
29
#include "CppUTestExt/MockCheckedExpectedCall.h"
30

31
MockExpectedCall::MockExpectedCall()
743✔
32
{
33
}
743✔
34

35
MockExpectedCall::~MockExpectedCall()
743✔
36
{
37
}
743✔
38

39
SimpleString StringFrom(const MockNamedValue& parameter)
141✔
40
{
41
    return parameter.toString();
141✔
42
}
43

44
void MockCheckedExpectedCall::setName(const SimpleString& name)
703✔
45
{
46
    functionName_ = name;
703✔
47
}
703✔
48

49
SimpleString MockCheckedExpectedCall::getName() const
935✔
50
{
51
    return functionName_;
935✔
52
}
53

54
MockCheckedExpectedCall::MockCheckedExpectedCall()
227✔
55
    : ignoreOtherParameters_(false), isActualCallMatchFinalized_(false),
227✔
56
      initialExpectedCallOrder_(NO_EXPECTED_CALL_ORDER), finalExpectedCallOrder_(NO_EXPECTED_CALL_ORDER),
227✔
57
      outOfOrder_(false), returnValue_(""), objectPtr_(NULLPTR), isSpecificObjectExpected_(false), wasPassedToObject_(true),
227✔
58
      actualCalls_(0), expectedCalls_(1)
227✔
59
{
60
    inputParameters_ = new MockNamedValueList();
227✔
61
    outputParameters_ = new MockNamedValueList();
227✔
62
}
227✔
63

64
MockCheckedExpectedCall::MockCheckedExpectedCall(unsigned int numCalls)
512✔
65
    : ignoreOtherParameters_(false), isActualCallMatchFinalized_(false),
512✔
66
      initialExpectedCallOrder_(NO_EXPECTED_CALL_ORDER), finalExpectedCallOrder_(NO_EXPECTED_CALL_ORDER),
512✔
67
      outOfOrder_(false), returnValue_(""), objectPtr_(NULLPTR), isSpecificObjectExpected_(false), wasPassedToObject_(true),
512✔
68
      actualCalls_(0), expectedCalls_(numCalls)
512✔
69
{
70
    inputParameters_ = new MockNamedValueList();
512✔
71
    outputParameters_ = new MockNamedValueList();
512✔
72
}
512✔
73

74
MockCheckedExpectedCall::~MockCheckedExpectedCall()
1,433✔
75
{
76
    inputParameters_->clear();
739✔
77
    delete inputParameters_;
739✔
78
    outputParameters_->clear();
739✔
79
    delete outputParameters_;
739✔
80
}
1,433✔
81

82
MockExpectedCall& MockCheckedExpectedCall::withName(const SimpleString& name)
703✔
83
{
84
    setName(name);
703✔
85
    return *this;
703✔
86
}
87

88
MockExpectedCall& MockCheckedExpectedCall::withBoolParameter(const SimpleString& name, bool value)
7✔
89
{
90
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
7✔
91
    inputParameters_->add(newParameter);
7✔
92
    newParameter->setValue(value);
7✔
93
    return *this;
7✔
94
}
95

96
MockExpectedCall& MockCheckedExpectedCall::withUnsignedIntParameter(const SimpleString& name, unsigned int value)
19✔
97
{
98
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
19✔
99
    inputParameters_->add(newParameter);
19✔
100
    newParameter->setValue(value);
19✔
101
    return *this;
19✔
102
}
103

104
MockExpectedCall& MockCheckedExpectedCall::withIntParameter(const SimpleString& name, int value)
102✔
105
{
106
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
102✔
107
    inputParameters_->add(newParameter);
102✔
108
    newParameter->setValue(value);
102✔
109
    return *this;
102✔
110
}
111

112
MockExpectedCall& MockCheckedExpectedCall::withLongIntParameter(const SimpleString& name, long int value)
10✔
113
{
114
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
10✔
115
    inputParameters_->add(newParameter);
10✔
116
    newParameter->setValue(value);
10✔
117
    return *this;
10✔
118
}
119

120
MockExpectedCall& MockCheckedExpectedCall::withUnsignedLongIntParameter(const SimpleString& name, unsigned long int value)
10✔
121
{
122
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
10✔
123
    inputParameters_->add(newParameter);
10✔
124
    newParameter->setValue(value);
10✔
125
    return *this;
10✔
126
}
127

128
#if CPPUTEST_USE_LONG_LONG
129

130
MockExpectedCall& MockCheckedExpectedCall::withLongLongIntParameter(const SimpleString& name, cpputest_longlong value)
9✔
131
{
132
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
9✔
133
    inputParameters_->add(newParameter);
9✔
134
    newParameter->setValue(value);
9✔
135
    return *this;
9✔
136
}
137

138
MockExpectedCall& MockCheckedExpectedCall::withUnsignedLongLongIntParameter(const SimpleString& name, cpputest_ulonglong value)
9✔
139
{
140
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
9✔
141
    inputParameters_->add(newParameter);
9✔
142
    newParameter->setValue(value);
9✔
143
    return *this;
9✔
144
}
145

146
#else
147

148
MockExpectedCall& MockCheckedExpectedCall::withLongLongIntParameter(const SimpleString&, cpputest_longlong)
149
{
150
    FAIL("Long Long type is not supported");
151
    return *this;
152
}
153

154
MockExpectedCall& MockCheckedExpectedCall::withUnsignedLongLongIntParameter(const SimpleString&, cpputest_ulonglong)
155
{
156
    FAIL("Unsigned Long Long type is not supported");
157
    return *this;
158
}
159

160
#endif
161

162
MockExpectedCall& MockCheckedExpectedCall::withDoubleParameter(const SimpleString& name, double value)
12✔
163
{
164
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
12✔
165
    inputParameters_->add(newParameter);
12✔
166
    newParameter->setValue(value);
12✔
167
    return *this;
12✔
168
}
169

170
MockExpectedCall& MockCheckedExpectedCall::withDoubleParameter(const SimpleString& name, double value, double tolerance)
5✔
171
{
172
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
5✔
173
    inputParameters_->add(newParameter);
5✔
174
    newParameter->setValue(value, tolerance);
5✔
175
    return *this;
5✔
176
}
177

178
MockExpectedCall& MockCheckedExpectedCall::withStringParameter(const SimpleString& name, const char* value)
19✔
179
{
180
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
19✔
181
    inputParameters_->add(newParameter);
19✔
182
    newParameter->setValue(value);
19✔
183
    return *this;
19✔
184
}
185

186
MockExpectedCall& MockCheckedExpectedCall::withPointerParameter(const SimpleString& name, void* value)
35✔
187
{
188
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
35✔
189
    inputParameters_->add(newParameter);
35✔
190
    newParameter->setValue(value);
35✔
191
    return *this;
35✔
192
}
193

194
MockExpectedCall& MockCheckedExpectedCall::withConstPointerParameter(const SimpleString& name, const void* value)
4✔
195
{
196
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
4✔
197
    inputParameters_->add(newParameter);
4✔
198
    newParameter->setValue(value);
4✔
199
    return *this;
4✔
200
}
201

202
MockExpectedCall& MockCheckedExpectedCall::withFunctionPointerParameter(const SimpleString& name, void (*value)())
5✔
203
{
204
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
5✔
205
    inputParameters_->add(newParameter);
5✔
206
    newParameter->setValue(value);
5✔
207
    return *this;
5✔
208
}
209

210
MockExpectedCall& MockCheckedExpectedCall::withMemoryBufferParameter(const SimpleString& name, const unsigned char* value, size_t size)
9✔
211
{
212
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
9✔
213
    inputParameters_->add(newParameter);
9✔
214
    newParameter->setMemoryBuffer(value, size);
9✔
215
    return *this;
9✔
216
}
217

218
MockExpectedCall& MockCheckedExpectedCall::withParameterOfType(const SimpleString& type, const SimpleString& name, const void* value)
36✔
219
{
220
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
36✔
221
    inputParameters_->add(newParameter);
36✔
222
    newParameter->setConstObjectPointer(type, value);
36✔
223
    return *this;
36✔
224
}
225

226
MockExpectedCall& MockCheckedExpectedCall::withOutputParameterReturning(const SimpleString& name, const void* value, size_t size)
35✔
227
{
228
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
35✔
229
    outputParameters_->add(newParameter);
35✔
230
    newParameter->setValue(value);
35✔
231
    newParameter->setSize(size);
35✔
232
    return *this;
35✔
233
}
234

235
MockExpectedCall& MockCheckedExpectedCall::withOutputParameterOfTypeReturning(const SimpleString& type, const SimpleString& name, const void* value)
28✔
236
{
237
    MockNamedValue* newParameter = new MockExpectedFunctionParameter(name);
28✔
238
    outputParameters_->add(newParameter);
28✔
239
    newParameter->setConstObjectPointer(type, value);
28✔
240
    return *this;
28✔
241
}
242

243
MockExpectedCall& MockCheckedExpectedCall::withUnmodifiedOutputParameter(const SimpleString& name)
7✔
244
{
245
    return withOutputParameterReturning(name, NULLPTR, 0);
7✔
246
}
247

248
SimpleString MockCheckedExpectedCall::getInputParameterType(const SimpleString& name)
23✔
249
{
250
    MockNamedValue * p = inputParameters_->getValueByName(name);
23✔
251
    return (p) ? p->getType() : StringFrom("");
23✔
252
}
253

254
bool MockCheckedExpectedCall::hasInputParameterWithName(const SimpleString& name)
41✔
255
{
256
    MockNamedValue * p = inputParameters_->getValueByName(name);
41✔
257
    return p != NULLPTR;
41✔
258
}
259

260
bool MockCheckedExpectedCall::hasOutputParameterWithName(const SimpleString& name)
10✔
261
{
262
    MockNamedValue * p = outputParameters_->getValueByName(name);
10✔
263
    return p != NULLPTR;
10✔
264
}
265

266
MockNamedValue MockCheckedExpectedCall::getInputParameter(const SimpleString& name)
26✔
267
{
268
    MockNamedValue * p = inputParameters_->getValueByName(name);
26✔
269
    return (p) ? *p : MockNamedValue("");
26✔
270
}
271

272
MockNamedValue MockCheckedExpectedCall::getOutputParameter(const SimpleString& name)
46✔
273
{
274
    MockNamedValue * p = outputParameters_->getValueByName(name);
46✔
275
    return (p) ? *p : MockNamedValue("");
46✔
276
}
277

278
bool MockCheckedExpectedCall::areParametersMatchingActualCall()
1,500✔
279
{
280
    MockNamedValueListNode* p;
281
    for (p = inputParameters_->begin(); p; p = p->next())
2,296✔
282
        if (! item(p)->isMatchingActualCall())
1,569✔
283
            return false;
773✔
284
    for (p = outputParameters_->begin(); p; p = p->next())
790✔
285
        if (! item(p)->isMatchingActualCall())
172✔
286
            return false;
109✔
287
    return true;
618✔
288
}
289

290
MockExpectedCall& MockCheckedExpectedCall::ignoreOtherParameters()
41✔
291
{
292
    ignoreOtherParameters_ = true;
41✔
293
    return *this;
41✔
294
}
295

296
bool MockCheckedExpectedCall::isFulfilled()
711✔
297
{
298
    return (actualCalls_ == expectedCalls_);
711✔
299
}
300

301
bool MockCheckedExpectedCall::canMatchActualCalls()
776✔
302
{
303
    return (actualCalls_ < expectedCalls_);
776✔
304
}
305

306
bool MockCheckedExpectedCall::isMatchingActualCallAndFinalized()
1,082✔
307
{
308
    return isMatchingActualCall() && (!ignoreOtherParameters_ || isActualCallMatchFinalized_);
1,082✔
309
}
310

311
bool MockCheckedExpectedCall::isMatchingActualCall()
1,489✔
312
{
313
    return areParametersMatchingActualCall() && wasPassedToObject_;
1,489✔
314
}
315

316
void MockCheckedExpectedCall::callWasMade(unsigned int callOrder)
517✔
317
{
318
    actualCalls_++;
517✔
319

320
    if ( (initialExpectedCallOrder_ != NO_EXPECTED_CALL_ORDER) &&
517✔
321
         ((callOrder < initialExpectedCallOrder_) || (callOrder > finalExpectedCallOrder_)) ) {
60✔
322
        outOfOrder_ = true;
23✔
323
    }
324

325
    resetActualCallMatchingState();
517✔
326
}
517✔
327

328
void MockCheckedExpectedCall::finalizeActualCallMatch()
36✔
329
{
330
    isActualCallMatchFinalized_ = true;
36✔
331
}
36✔
332

333

334
void MockCheckedExpectedCall::wasPassedToObject()
6✔
335
{
336
    wasPassedToObject_ = true;
6✔
337
}
6✔
338

339
void MockCheckedExpectedCall::resetActualCallMatchingState()
557✔
340
{
341
    wasPassedToObject_ = !isSpecificObjectExpected_;
557✔
342
    isActualCallMatchFinalized_ = false;
557✔
343

344
    MockNamedValueListNode* p;
345

346
    for (p = inputParameters_->begin(); p; p = p->next())
745✔
347
        item(p)->setMatchesActualCall(false);
188✔
348
    for (p = outputParameters_->begin(); p; p = p->next())
599✔
349
        item(p)->setMatchesActualCall(false);
42✔
350
}
557✔
351

352
void MockCheckedExpectedCall::inputParameterWasPassed(const SimpleString& name)
250✔
353
{
354
    for (MockNamedValueListNode* p = inputParameters_->begin(); p; p = p->next()) {
770✔
355
        if (p->getName() == name)
520✔
356
            item(p)->setMatchesActualCall(true);
213✔
357
    }
358
}
250✔
359

360
void MockCheckedExpectedCall::outputParameterWasPassed(const SimpleString& name)
45✔
361
{
362
    for (MockNamedValueListNode* p = outputParameters_->begin(); p; p = p->next()) {
93✔
363
        if (p->getName() == name)
48✔
364
            item(p)->setMatchesActualCall(true);
44✔
365
    }
366
}
45✔
367

368
SimpleString MockCheckedExpectedCall::getInputParameterValueString(const SimpleString& name)
92✔
369
{
370
    MockNamedValue * p = inputParameters_->getValueByName(name);
92✔
371
    return (p) ? StringFrom(*p) : StringFrom("failed");
92✔
372
}
373

374
bool MockCheckedExpectedCall::hasInputParameter(const MockNamedValue& parameter)
274✔
375
{
376
    MockNamedValue * p = inputParameters_->getValueByName(parameter.getName());
274✔
377
    return (p) ? p->equals(parameter) : ignoreOtherParameters_;
274✔
378
}
379

380
bool MockCheckedExpectedCall::hasOutputParameter(const MockNamedValue& parameter)
54✔
381
{
382
    MockNamedValue * p = outputParameters_->getValueByName(parameter.getName());
54✔
383
    return (p) ? p->compatibleForCopying(parameter) : ignoreOtherParameters_;
54✔
384
}
385

386
SimpleString MockCheckedExpectedCall::callToString()
208✔
387
{
388
    SimpleString str;
208✔
389
    if (isSpecificObjectExpected_)
208✔
390
        str = StringFromFormat("(object address: %p)::", objectPtr_);
14✔
391

392
    str += getName();
208✔
393
    str += " -> ";
208✔
394
    if (initialExpectedCallOrder_ != NO_EXPECTED_CALL_ORDER) {
208✔
395
        if (initialExpectedCallOrder_ == finalExpectedCallOrder_) {
21✔
396
            str += StringFromFormat("expected call order: <%u> -> ", initialExpectedCallOrder_);
20✔
397
        } else {
398
            str += StringFromFormat("expected calls order: <%u..%u> -> ", initialExpectedCallOrder_, finalExpectedCallOrder_);
1✔
399
        }
400
    }
401

402
    if (inputParameters_->begin() == NULLPTR && outputParameters_->begin() == NULLPTR) {
208✔
403
        str += (ignoreOtherParameters_) ? "all parameters ignored" : "no parameters";
111✔
404
    } else {
405
        MockNamedValueListNode* p;
406

407
        for (p = inputParameters_->begin(); p; p = p->next()) {
186✔
408
            str += StringFromFormat("%s %s: <%s>", p->getType().asCharString(), p->getName().asCharString(), getInputParameterValueString(p->getName()).asCharString());
89✔
409
            if (p->next()) str += ", ";
89✔
410
        }
411

412
        if (inputParameters_->begin() && outputParameters_->begin())
97✔
413
        {
414
            str += ", ";
1✔
415
        }
416

417
        for (p = outputParameters_->begin(); p; p = p->next()) {
121✔
418
            str += StringFromFormat("%s %s: <output>", p->getType().asCharString(), p->getName().asCharString());
24✔
419
            if (p->next()) str += ", ";
24✔
420
        }
421

422
        if (ignoreOtherParameters_)
97✔
423
            str += ", other parameters are ignored";
5✔
424
    }
425

426
    str += StringFromFormat(" (expected %d call%s, called %d time%s)",
624✔
427
                            expectedCalls_, (expectedCalls_ == 1) ? "" : "s", actualCalls_, (actualCalls_ == 1) ? "" : "s" );
624✔
428

429
    return str;
208✔
430
}
×
431

432
SimpleString MockCheckedExpectedCall::missingParametersToString()
18✔
433
{
434
    SimpleString str;
18✔
435
        MockNamedValueListNode* p;
436

437
    for (p = inputParameters_->begin(); p; p = p->next()) {
37✔
438
        if (! item(p)->isMatchingActualCall()) {
19✔
439
            if (str != "") str += ", ";
15✔
440
            str += StringFromFormat("%s %s", p->getType().asCharString(), p->getName().asCharString());
15✔
441
        }
442
    }
443
    for (p = outputParameters_->begin(); p; p = p->next()) {
22✔
444
        if (! item(p)->isMatchingActualCall()) {
4✔
445
            if (str != "") str += ", ";
4✔
446
            str += StringFromFormat("%s %s", p->getType().asCharString(), p->getName().asCharString());
4✔
447
        }
448
    }
449
    return str;
18✔
450
}
×
451

452
bool MockCheckedExpectedCall::relatesTo(const SimpleString& functionName)
727✔
453
{
454
    return functionName == getName();
727✔
455
}
456

457
bool MockCheckedExpectedCall::relatesToObject(const void* objectPtr) const
5✔
458
{
459
    return (!isSpecificObjectExpected_) || (objectPtr_ == objectPtr);
5✔
460
}
461

462
MockCheckedExpectedCall::MockExpectedFunctionParameter* MockCheckedExpectedCall::item(MockNamedValueListNode* node)
2,251✔
463
{
464
    return (MockExpectedFunctionParameter*) node->item();
2,251✔
465
}
466

467
MockCheckedExpectedCall::MockExpectedFunctionParameter::MockExpectedFunctionParameter(const SimpleString& name)
354✔
468
            : MockNamedValue(name), matchesActualCall_(false)
354✔
469
{
470
}
354✔
471

472
void MockCheckedExpectedCall::MockExpectedFunctionParameter::setMatchesActualCall(bool b)
487✔
473
{
474
    matchesActualCall_ = b;
487✔
475
}
487✔
476

477
bool MockCheckedExpectedCall::MockExpectedFunctionParameter::isMatchingActualCall() const
1,764✔
478
{
479
    return matchesActualCall_;
1,764✔
480
}
481

482
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(bool value)
9✔
483
{
484
    returnValue_.setName("returnValue");
9✔
485
    returnValue_.setValue(value);
9✔
486
    return *this;
9✔
487
}
488

489
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(unsigned int value)
13✔
490
{
491
    returnValue_.setName("returnValue");
13✔
492
    returnValue_.setValue(value);
13✔
493
    return *this;
13✔
494
}
495

496
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(int value)
23✔
497
{
498
    returnValue_.setName("returnValue");
23✔
499
    returnValue_.setValue(value);
23✔
500
    return *this;
23✔
501
}
502

503
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(long int value)
12✔
504
{
505
    returnValue_.setName("returnValue");
12✔
506
    returnValue_.setValue(value);
12✔
507
    return *this;
12✔
508
}
509

510
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(unsigned long int value)
11✔
511
{
512
    returnValue_.setName("returnValue");
11✔
513
    returnValue_.setValue(value);
11✔
514
    return *this;
11✔
515
}
516

517
#if CPPUTEST_USE_LONG_LONG
518

519
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(cpputest_longlong value)
11✔
520
{
521
    returnValue_.setName("returnValue");
11✔
522
    returnValue_.setValue(value);
11✔
523
    return *this;
11✔
524
}
525

526
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(cpputest_ulonglong value)
10✔
527
{
528
    returnValue_.setName("returnValue");
10✔
529
    returnValue_.setValue(value);
10✔
530
    return *this;
10✔
531
}
532

533
#else
534

535
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(cpputest_longlong)
536
{
537
    FAIL("Long Long type is not supported");
538
    return *this;
539
}
540

541
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(cpputest_ulonglong)
542
{
543
    FAIL("Unsigned Long Long type is not supported");
544
    return *this;
545
}
546

547
#endif
548

549
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(const char* value)
5✔
550
{
551
    returnValue_.setName("returnValue");
5✔
552
    returnValue_.setValue(value);
5✔
553
    return *this;
5✔
554
}
555

556
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(double value)
5✔
557
{
558
    returnValue_.setName("returnValue");
5✔
559
    returnValue_.setValue(value);
5✔
560
    return *this;
5✔
561
}
562

563
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(void* value)
5✔
564
{
565
    returnValue_.setName("returnValue");
5✔
566
    returnValue_.setValue(value);
5✔
567
    return *this;
5✔
568
}
569

570
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(const void* value)
5✔
571
{
572
    returnValue_.setName("returnValue");
5✔
573
    returnValue_.setValue(value);
5✔
574
    return *this;
5✔
575
}
576

577
MockExpectedCall& MockCheckedExpectedCall::andReturnValue(void (*value)())
5✔
578
{
579
    returnValue_.setName("returnValue");
5✔
580
    returnValue_.setValue(value);
5✔
581
    return *this;
5✔
582
}
583

584
MockExpectedCall& MockCheckedExpectedCall::onObject(void* objectPtr)
14✔
585
{
586
    isSpecificObjectExpected_ = true;
14✔
587
    wasPassedToObject_ = false;
14✔
588
    objectPtr_ = objectPtr;
14✔
589
    return *this;
14✔
590
}
591

592
MockNamedValue MockCheckedExpectedCall::returnValue()
336✔
593
{
594
    return returnValue_;
336✔
595
}
596

597
MockExpectedCall& MockCheckedExpectedCall::withCallOrder(unsigned int initialCallOrder, unsigned int finalCallOrder)
48✔
598
{
599
    initialExpectedCallOrder_ = initialCallOrder;
48✔
600
    finalExpectedCallOrder_ = finalCallOrder;
48✔
601
    return *this;
48✔
602
}
603

604
bool MockCheckedExpectedCall::isOutOfOrder() const
417✔
605
{
606
    return outOfOrder_;
417✔
607
}
608

609
unsigned int MockCheckedExpectedCall::getActualCallsFulfilled() const
37✔
610
{
611
    return actualCalls_;
37✔
612
}
613

614
MockExpectedCall& MockIgnoredExpectedCall::instance()
4✔
615
{
616
    static MockIgnoredExpectedCall call;
4✔
617
    return call;
4✔
618
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc