From c1e982ec245d37d45ef88fb34a1c5082b9a2bf96 Mon Sep 17 00:00:00 2001 From: Jos van den Oever Date: Sat, 12 Aug 2017 01:00:54 +0200 Subject: [PATCH] Do data driven testing --- tests/test_object_types.cpp | 66 ++++++++----------------------------- 1 file changed, 13 insertions(+), 53 deletions(-) diff --git a/tests/test_object_types.cpp b/tests/test_object_types.cpp index 200cde6..98cf80c 100644 --- a/tests/test_object_types.cpp +++ b/tests/test_object_types.cpp @@ -6,13 +6,11 @@ class TestRustObjectTypes : public QObject { Q_OBJECT private slots: - void testInvalid(); - void testBool(); - void testString(); - void testByteArray(); + void testSetter(); + void testSetter_data(); }; -void TestRustObjectTypes::testInvalid() +void TestRustObjectTypes::testSetter() { // GIVEN Person person; @@ -29,56 +27,18 @@ void TestRustObjectTypes::testInvalid() QCOMPARE(person.userName(), userName); } -void TestRustObjectTypes::testBool() +void TestRustObjectTypes::testSetter_data() { - // GIVEN - Person person; - const QVariant userName(true); - QSignalSpy spy(&person, &Person::userNameChanged); - - // WHEN - person.setUserName(userName); - - // THEN - QVERIFY(spy.isValid()); - QCOMPARE(spy.count(), 1); - QCOMPARE(person.userName().type(), userName.type()); - QCOMPARE(person.userName(), userName); -} - -void TestRustObjectTypes::testString() -{ - // GIVEN - Person person; - const QVariant userName(QString("Konqi")); - QSignalSpy spy(&person, &Person::userNameChanged); - - // WHEN - person.setUserName(userName); - - // THEN - QVERIFY(spy.isValid()); - QCOMPARE(spy.count(), 1); - QCOMPARE(person.userName().type(), userName.type()); - QCOMPARE(person.userName(), userName); -} - -void TestRustObjectTypes::testByteArray() -{ - // GIVEN - Person person; + QTest::addColumn("value"); + QTest::newRow("invalid") << QVariant(); + QTest::newRow("true") << QVariant(true); + QTest::newRow("false") << QVariant(false); + QTest::newRow("QString()") << QVariant(QString()); + QTest::newRow("QString(Konqi)") << QVariant("Konqi"); + QTest::newRow("QString($€𐐷𤭢)") << QVariant("$€𐐷𤭢"); + QTest::newRow("QByteArray()") << QVariant(QByteArray()); const char data[10] = {0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9}; - const QVariant userName(QByteArray(data, 10)); - QSignalSpy spy(&person, &Person::userNameChanged); - - // WHEN - person.setUserName(userName); - - // THEN - QVERIFY(spy.isValid()); - QCOMPARE(spy.count(), 1); - QCOMPARE(person.userName().type(), userName.type()); - QCOMPARE(person.userName(), userName); + QTest::newRow("QByteArray(data)") << QVariant(QByteArray(data, 10)); } QTEST_MAIN(TestRustObjectTypes)