QTestLib - Verifying non-const reference arguments
-
25-05-2021 - |
Question
I'm currently building a unit test suite for my application, using QTestLib
. It's generally pretty straight-forward, but I'm become stuck on how to verify 'return' arguments. For example, if I have a function:
double pointLineSegmentDistance(const QVector2D& start,
const QVector2D& end,
const QVector2D& point,
bool& withinBounds);
The function assigns withinBounds
the bounded state of the segment distance analysis. How can I make the QCOMPARE
/QVERIFY
macros analyse it's state?
Solution
Just pass a local variable as argument and verify/compare its value afterwards:
bool withinBounds = false;
const double distance = pointLineSegmentDistance( ..., withinBounds );
QCOMPARE(distance + 1.0, 2.0); //qFuzzyCompare doesn't work well with 0.0
QVERIFY(withinBounds);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow