diff options
Diffstat (limited to 'tests/auto/quuid/tst_quuid.cpp')
-rw-r--r-- | tests/auto/quuid/tst_quuid.cpp | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/tests/auto/quuid/tst_quuid.cpp b/tests/auto/quuid/tst_quuid.cpp new file mode 100644 index 0000000..5535a40 --- /dev/null +++ b/tests/auto/quuid/tst_quuid.cpp @@ -0,0 +1,174 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +#include <qcoreapplication.h> +#include <quuid.h> + + + +#include <quuid.h> + +//TESTED_CLASS= +//TESTED_FILES= + +class tst_QUuid : public QObject +{ + Q_OBJECT + +public: + tst_QUuid(); + +private slots: + void toString(); + void isNull(); + void equal(); + void notEqual(); + + // Only in Qt > 3.2.x + void generate(); + void less(); + void more(); + void variants(); + void versions(); + +public: + // Variables + QUuid uuidA; + QUuid uuidB; +}; + +tst_QUuid::tst_QUuid() +{ + uuidA = "{fc69b59e-cc34-4436-a43c-ee95d128b8c5}"; + uuidB = "{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}"; +} + + +void tst_QUuid::toString() +{ + QCOMPARE(uuidA.toString(), QString("{fc69b59e-cc34-4436-a43c-ee95d128b8c5}")); +} + + +void tst_QUuid::isNull() +{ + QVERIFY( !uuidA.isNull() ); + + QUuid should_be_null_uuid; + QVERIFY( should_be_null_uuid.isNull() ); +} + + +void tst_QUuid::equal() +{ + QVERIFY( !(uuidA == uuidB) ); + + QUuid copy(uuidA); + QVERIFY(uuidA == copy); + + QUuid assigned; + assigned = uuidA; + QVERIFY(uuidA == assigned); +} + + +void tst_QUuid::notEqual() +{ + QVERIFY( uuidA != uuidB ); +} + + +void tst_QUuid::generate() +{ + QUuid shouldnt_be_null_uuidA = QUuid::createUuid(); + QUuid shouldnt_be_null_uuidB = QUuid::createUuid(); + QVERIFY( !shouldnt_be_null_uuidA.isNull() ); + QVERIFY( !shouldnt_be_null_uuidB.isNull() ); + QVERIFY( shouldnt_be_null_uuidA != shouldnt_be_null_uuidB ); +} + + +void tst_QUuid::less() +{ + QVERIFY( !(uuidA < uuidB) ); + + QUuid null_uuid; + QVERIFY(null_uuid < uuidA); // Null uuid is always less than a valid one +} + + +void tst_QUuid::more() +{ + QVERIFY( uuidA > uuidB ); + + QUuid null_uuid; + QVERIFY( !(null_uuid > uuidA) ); // Null uuid is always less than a valid one +} + + +void tst_QUuid::variants() +{ + QVERIFY( uuidA.variant() == QUuid::DCE ); + QVERIFY( uuidB.variant() == QUuid::DCE ); + + QUuid NCS = "{3a2f883c-4000-000d-0000-00fb40000000}"; + QVERIFY( NCS.variant() == QUuid::NCS ); +} + + +void tst_QUuid::versions() +{ + QVERIFY( uuidA.version() == QUuid::Random ); + QVERIFY( uuidB.version() == QUuid::Random ); + + QUuid DCE_time= "{406c45a0-3b7e-11d0-80a3-0000c08810a7}"; + QVERIFY( DCE_time.version() == QUuid::Time ); + + QUuid NCS = "{3a2f883c-4000-000d-0000-00fb40000000}"; + QVERIFY( NCS.version() == QUuid::VerUnknown ); +} + + +QTEST_MAIN(tst_QUuid) +#include "tst_quuid.moc" |