File indexing completed on 2024-04-21 03:52:41
0001 /* 0002 This file is part of the kcalcore library. 0003 0004 SPDX-FileCopyrightText: 2006-2009 Allen Winter <winter@kde.org> 0005 SPDX-FileCopyrightText: 2010 Casey Link <unnamedrambler@gmail.com> 0006 SPDX-FileCopyrightText: 2009-2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net> 0007 0008 SPDX-License-Identifier: LGPL-2.0-or-later 0009 */ 0010 0011 #include "testperson.h" 0012 #include "person.h" 0013 0014 #include <QDataStream> 0015 #include <QTest> 0016 0017 QTEST_MAIN(PersonTest) 0018 0019 using namespace KCalendarCore; 0020 0021 void PersonTest::testValidity() 0022 { 0023 Person person(QStringLiteral("fred"), QStringLiteral("fred@flintstone.com")); 0024 QVERIFY(person.name() == QLatin1String("fred")); 0025 } 0026 0027 void PersonTest::testCompare() 0028 { 0029 Person person1(QStringLiteral("fred"), QStringLiteral("fred@flintstone.com")); 0030 Person person2(QStringLiteral("wilma"), QStringLiteral("wilma@flintstone.com")); 0031 Person person3 = Person::fromFullName(QStringLiteral("fred <fred@flintstone.com>")); 0032 Person person1copy {person1}; // test copy constructor 0033 Person person1assign; 0034 person1assign = person1; // test operator= 0035 0036 QVERIFY(!(person1 == person2)); 0037 QVERIFY(person1 == person3); 0038 QVERIFY(person1 == person1copy); 0039 QVERIFY(person1 == person1assign); 0040 QVERIFY(person1.name() == QLatin1String("fred")); 0041 QVERIFY(person2.email() == QLatin1String("wilma@flintstone.com")); 0042 QVERIFY(person3.name() == QLatin1String("fred")); 0043 QVERIFY(person3.email() == QLatin1String("fred@flintstone.com")); 0044 } 0045 0046 void PersonTest::testStringify() 0047 { 0048 Person person1(QStringLiteral("fred"), QStringLiteral("fred@flintstone.com")); 0049 Person person2(QStringLiteral("wilma"), QStringLiteral("wilma@flintstone.com")); 0050 QVERIFY(person1.fullName() == QLatin1String("fred <fred@flintstone.com>")); 0051 QVERIFY(person2.fullName() == QLatin1String("wilma <wilma@flintstone.com>")); 0052 0053 person1.setName(QLatin1String("")); 0054 QVERIFY(person1.fullName() == QLatin1String("fred@flintstone.com")); 0055 person1.setEmail(QString()); 0056 QVERIFY(person1.fullName().isEmpty()); 0057 } 0058 0059 void PersonTest::testDataStreamIn() 0060 { 0061 Person person1(QStringLiteral("fred"), QStringLiteral("fred@flintstone.com")); 0062 0063 QByteArray byteArray; 0064 QDataStream out_stream(&byteArray, QIODevice::WriteOnly); 0065 0066 out_stream << person1; 0067 0068 QDataStream in_stream(&byteArray, QIODevice::ReadOnly); 0069 0070 QString name; 0071 QString email; 0072 int count; 0073 0074 in_stream >> name; 0075 QVERIFY(name == QLatin1String("fred")); 0076 0077 in_stream >> email; 0078 QVERIFY(email == QLatin1String("fred@flintstone.com")); 0079 0080 in_stream >> count; 0081 QCOMPARE(count, 0); 0082 } 0083 0084 void PersonTest::testDataStreamOut() 0085 { 0086 Person person1(QStringLiteral("fred"), QStringLiteral("fred@flintstone.com")); 0087 0088 QByteArray byteArray; 0089 QDataStream out_stream(&byteArray, QIODevice::WriteOnly); 0090 0091 out_stream << person1; 0092 0093 QDataStream in_stream(&byteArray, QIODevice::ReadOnly); 0094 Person person2; 0095 0096 in_stream >> person2; 0097 0098 QVERIFY(person2.name() == person1.name()); 0099 QVERIFY(person2.email() == person1.email()); 0100 } 0101 0102 #include "moc_testperson.cpp"