diff options
Diffstat (limited to 'tests/libsample')
-rw-r--r-- | tests/libsample/modifications.cpp | 14 | ||||
-rw-r--r-- | tests/libsample/modifications.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/tests/libsample/modifications.cpp b/tests/libsample/modifications.cpp index d809e823e..95880d229 100644 --- a/tests/libsample/modifications.cpp +++ b/tests/libsample/modifications.cpp @@ -122,6 +122,20 @@ Modifications::sumPointCoordinates(const Point* point) return point->x() + point->y(); } +double +Modifications::differenceOfPointCoordinates(const Point* pt, bool* ok) +{ + if (!pt) { + *ok = false; + return 0.0; + } + *ok = true; + double result = pt->x() - pt->y(); + if (result < 0) + result = result * -1.0; + return result; +} + bool Modifications::nonConversionRuleForArgumentWithDefaultValue(ObjectType** object) { diff --git a/tests/libsample/modifications.h b/tests/libsample/modifications.h index f17261473..7d5c9123f 100644 --- a/tests/libsample/modifications.h +++ b/tests/libsample/modifications.h @@ -106,6 +106,10 @@ public: // the test implementation must expect point never to be null. int sumPointCoordinates(const Point* point); + // Modify the return value of a virtual method. + virtual double differenceOfPointCoordinates(const Point* pt, bool* ok); + double callDifferenceOfPointCoordinates(const Point* pt, bool* ok) { return differenceOfPointCoordinates(pt, ok); } + // Sets an ObjectType in the argument and returns true. bool nonConversionRuleForArgumentWithDefaultValue(ObjectType** object = 0); ObjectType* getObject() const { return m_object; } |