/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include #include #include #include #include #include "../utils/qlocationtestutils_p.h" QT_USE_NAMESPACE class tst_QPlaceReview : public QObject { Q_OBJECT public: tst_QPlaceReview(); //needed for QLocationTestUtils::testConversion QPlaceReview initialSubObject(); bool checkType(const QPlaceContent &); void detach(QPlaceContent *); void setSubClassProperty(QPlaceReview *); private Q_SLOTS: void constructorTest(); void supplierTest(); void dateTest(); void textTest(); void languageTest(); void ratingTest(); void reviewIdTest(); void titleTest(); void userTest(); void operatorsTest(); void conversionTest(); }; tst_QPlaceReview::tst_QPlaceReview() { } QPlaceReview tst_QPlaceReview::initialSubObject() { QPlaceUser user; user.setName("user 1"); user.setUserId("0001"); QPlaceSupplier supplier; supplier.setName("supplier"); supplier.setSupplierId("1"); QPlaceReview review; review.setTitle("title"); review.setText("text"); review.setRating(4.5); review.setLanguage("en"); review.setDateTime(QDateTime::fromString("01:02 03/04/2000", "hh:mm dd/MM/yyyy")); review.setUser(user); review.setSupplier(supplier); review.setAttribution("attribution"); return review; } bool tst_QPlaceReview::checkType(const QPlaceContent &content) { return content.type() == QPlaceContent::ReviewType; } void tst_QPlaceReview::detach(QPlaceContent *content) { content->setAttribution("attribution"); } void tst_QPlaceReview::setSubClassProperty(QPlaceReview *review) { review->setTitle("new title"); } void tst_QPlaceReview::constructorTest() { QPlaceReview testObj; testObj.setLanguage("testId"); QPlaceReview *testObjPtr = new QPlaceReview(testObj); QVERIFY2(testObjPtr != NULL, "Copy constructor - null"); QVERIFY2(*testObjPtr == testObj, "Copy constructor - compare"); delete testObjPtr; } void tst_QPlaceReview::supplierTest() { QPlaceReview testObj; QVERIFY2(testObj.supplier().supplierId() == QString(), "Wrong default value"); QPlaceSupplier sup; sup.setName("testName1"); sup.setSupplierId("testId"); testObj.setSupplier(sup); QVERIFY2(testObj.supplier() == sup, "Wrong value returned"); } void tst_QPlaceReview::dateTest() { QPlaceReview testObj; QCOMPARE(testObj.dateTime(), QDateTime()); QDateTime dt = QDateTime::currentDateTime(); testObj.setDateTime(dt); QCOMPARE(testObj.dateTime(), dt); } void tst_QPlaceReview::textTest() { QPlaceReview testObj; QVERIFY2(testObj.text() == QString(), "Wrong default value"); testObj.setText("testText"); QVERIFY2(testObj.text() == "testText", "Wrong value returned"); } void tst_QPlaceReview::languageTest() { QPlaceReview testObj; QVERIFY2(testObj.language() == QString(), "Wrong default value"); testObj.setLanguage("testText"); QVERIFY2(testObj.language() == "testText", "Wrong value returned"); } void tst_QPlaceReview::ratingTest() { QPlaceReview testObj; QVERIFY2(testObj.rating() == 0, "Wrong default value"); testObj.setRating(-10); QCOMPARE(testObj.rating(), -10.0); testObj.setRating(3.4); QCOMPARE(testObj.rating(), 3.4); } void tst_QPlaceReview::operatorsTest() { QPlaceReview testObj; testObj.setText("testValue"); QPlaceReview testObj2; testObj2 = testObj; QVERIFY2(testObj == testObj2, "Not copied correctly"); testObj2.setLanguage("testValue2"); QVERIFY2(testObj != testObj2, "Object should be different"); } void tst_QPlaceReview::reviewIdTest() { QPlaceReview testObj; QVERIFY2(testObj.reviewId() == QString(), "Wrong default value"); testObj.setReviewId("testText"); QVERIFY2(testObj.reviewId() == "testText", "Wrong value returned"); } void tst_QPlaceReview::titleTest() { QPlaceReview testObj; QVERIFY2(testObj.title() == QString(), "Wrong default value"); testObj.setTitle("testText"); QVERIFY2(testObj.title() == "testText", "Wrong value returned"); } void tst_QPlaceReview::userTest() { QPlaceReview review; QVERIFY(review.user().userId().isEmpty()); QVERIFY(review.user().name().isEmpty()); QPlaceUser user; user.setUserId(QStringLiteral("11111")); user.setName(QStringLiteral("Bob")); review.setUser(user); QCOMPARE(review.user().userId(), QStringLiteral("11111")); QCOMPARE(review.user().name(), QStringLiteral("Bob")); review.setUser(QPlaceUser()); QVERIFY(review.user().userId().isEmpty()); QVERIFY(review.user().name().isEmpty()); } void tst_QPlaceReview::conversionTest() { QLocationTestUtils::testConversion(this); } QTEST_APPLESS_MAIN(tst_QPlaceReview) #include "tst_qplacereview.moc"