Is it possible to have QCOMPARE call the operator<< overload for my custom
QObject-derived class upon failure?
The following test only prints:
FAIL! : Untitled1Test::testCase1() Compared pointers are not the same
Loc: [../untitled1/tst_untitled1test.cpp(44)]
Code:
#include <QDebug>
#include <QString>
#include <QtTest>
class MyObject : public QObject
{
Q_OBJECT
public:
MyObject() {}
private:
// ...
};
QDebug operator<<(QDebug debug, const MyObject *myObject)
{
debug.nospace() << "(MyObject objectName=" << myObject->objectName()
<< ", other MyObject-specific stuff...)";
return debug.space();
}
class Untitled1Test : public QObject
{
Q_OBJECT
public:
Untitled1Test();
private Q_SLOTS:
void testCase1();
};
Untitled1Test::Untitled1Test()
{
qRegisterMetaType<MyObject*>();
}
void Untitled1Test::testCase1()
{
MyObject object1;
MyObject object2;
QCOMPARE(&object1, &object2);
}
QTEST_APPLESS_MAIN(Untitled1Test)
#include "tst_untitled1test.moc"
Cheers.
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest