File indexing completed on 2024-04-21 03:52:40

0001 /*
0002   This file is part of the kcalcore library.
0003 
0004   SPDX-FileCopyrightText: 2009 Thomas McGuire <mcguire@kde.org>
0005 
0006   SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 #include "testincidencerelation.h"
0009 #include "todo.h"
0010 
0011 #include <QTest>
0012 QTEST_MAIN(IncidenceRelationTest)
0013 
0014 using namespace KCalendarCore;
0015 
0016 void IncidenceRelationTest::testRelations()
0017 {
0018     // Build the following tree:
0019     // todo1
0020     // \- todo2
0021     //    \- todo3
0022 
0023     // Then make todo3 independent:
0024     // todo3
0025     // todo1
0026     // \- todo2
0027 
0028     Todo::Ptr todo1 = Todo::Ptr(new Todo());
0029     todo1->setSummary(QStringLiteral("todo"));
0030 
0031     Todo::Ptr todo2 = Todo::Ptr(new Todo());
0032     todo2->setSummary(QStringLiteral("sub-todo"));
0033 
0034     Todo::Ptr todo3 = Todo::Ptr(new Todo());
0035     todo3->setSummary(QStringLiteral("sub-sub-todo"));
0036 
0037     todo3->setRelatedTo(todo2->uid());
0038     todo2->setRelatedTo(todo1->uid());
0039 
0040     QCOMPARE(todo3->relatedTo(), todo2->uid());
0041     QCOMPARE(todo2->relatedTo(), todo1->uid());
0042     QCOMPARE(todo1->relatedTo(), QString());
0043 
0044     todo3->setRelatedTo(QString());
0045 
0046     QCOMPARE(todo3->relatedTo(), QString());
0047     QCOMPARE(todo2->relatedTo(), todo1->uid());
0048     QCOMPARE(todo1->relatedTo(), QString());
0049 }
0050 
0051 #include "moc_testincidencerelation.cpp"