QTestLib - Проверка неконстантных ссылочных аргументов - PullRequest
0 голосов
/ 20 марта 2012

В настоящее время я создаю набор тестов для своего приложения, используя QTestLib. Как правило, это довольно просто, но я застрял в том, как проверить «возвращаемые» аргументы. Например, если у меня есть функция:

double pointLineSegmentDistance(const QVector2D& start,
                                const QVector2D& end,
                                const QVector2D& point,
                                bool& withinBounds);

Функция присваивает withinBounds ограниченное состояние анализа расстояния сегмента. Как я могу заставить макросы QCOMPARE / QVERIFY анализировать его состояние?

1 Ответ

2 голосов
/ 20 марта 2012

Просто передайте локальную переменную в качестве аргумента и затем проверьте / сравните ее значение:

bool withinBounds = false;
const double distance = pointLineSegmentDistance( ..., withinBounds );
QCOMPARE(distance + 1.0, 2.0); //qFuzzyCompare doesn't work well with 0.0
QVERIFY(withinBounds);
...