File indexing completed on 2024-04-21 03:48:17

0001 /*
0002  * SPDX-FileCopyrightText: 2016 Hartmut Riesenbeck <hartmut.riesenbeck@gmx.de>
0003  * SPDX-License-Identifier: GPL-2.0-or-later
0004  */
0005 
0006 #include "keduvoctexttest.h"
0007 
0008 #include "keduvoctext.h"
0009 #include <QTest>
0010 
0011 namespace KEduVocTextTests
0012 {
0013 
0014 void KEduVocTextTest::testAssignmentOperator()
0015 {
0016     // This list should be extended when new data members are added to
0017     // KEduVocTextPrivate.  Appropriate getter/setter methods needs to be
0018     // provided by KEduVocText.
0019 
0020     KEduVocText t1;
0021     KEduVocText t2;
0022 
0023     QCOMPARE(isEqual(t1, t2), true);
0024 
0025     t1.setText(QStringLiteral("foo"));
0026     QCOMPARE(isEqual(t1, t2), false);
0027     t2 = t1;
0028     QCOMPARE(isEqual(t1, t2), true);
0029 
0030     t1.setPreGrade(1);
0031     QCOMPARE(isEqual(t1, t2), false);
0032     t2 = t1;
0033     QCOMPARE(isEqual(t1, t2), true);
0034 
0035     t1.setGrade(1);
0036     QCOMPARE(isEqual(t1, t2), false);
0037     t2 = t1;
0038     QCOMPARE(isEqual(t1, t2), true);
0039 
0040     t1.setPracticeCount(1);
0041     QCOMPARE(isEqual(t1, t2), false);
0042     t2 = t1;
0043     QCOMPARE(isEqual(t1, t2), true);
0044 
0045     t1.setBadCount(1);
0046     QCOMPARE(isEqual(t1, t2), false);
0047     t2 = t1;
0048     QCOMPARE(isEqual(t1, t2), true);
0049 
0050     t1.setPracticeDate(QDateTime::currentDateTime());
0051     QCOMPARE(isEqual(t1, t2), false);
0052     t2 = t1;
0053     QCOMPARE(isEqual(t1, t2), true);
0054 
0055     t1.setInterval(1);
0056     QCOMPARE(isEqual(t1, t2), false);
0057     t2 = t1;
0058     QCOMPARE(isEqual(t1, t2), true);
0059 }
0060 
0061 void KEduVocTextTest::testEqualToOperator()
0062 {
0063     // This list should be extended when new data members are added to
0064     // KEduVocTextPrivate.  Appropriate getter/setter methods needs to be
0065     // provided by KEduVocText.
0066 
0067     KEduVocText t1;
0068     KEduVocText t2;
0069 
0070     QCOMPARE(t1 == t2, true);
0071 
0072     t1.setText(QStringLiteral("foo"));
0073     QCOMPARE(t1 == t2, false);
0074     t2.setText(QStringLiteral("foo"));
0075     QCOMPARE(t1 == t2, true);
0076 
0077     t1.setPreGrade(1);
0078     QCOMPARE(t1 == t2, false);
0079     t2.setPreGrade(1);
0080     QCOMPARE(t1 == t2, true);
0081 
0082     t1.setGrade(1);
0083     QCOMPARE(t1 == t2, false);
0084     t2.setGrade(1);
0085     QCOMPARE(t1 == t2, true);
0086 
0087     t1.setPracticeCount(1);
0088     QCOMPARE(t1 == t2, false);
0089     t2.setPracticeCount(1);
0090     QCOMPARE(t1 == t2, true);
0091 
0092     t1.setBadCount(1);
0093     QCOMPARE(t1 == t2, false);
0094     t2.setBadCount(1);
0095     QCOMPARE(t1 == t2, true);
0096 
0097     QDateTime testTime(QDateTime::currentDateTime());
0098     t1.setPracticeDate(testTime);
0099     QCOMPARE(t1 == t2, false);
0100     t2.setPracticeDate(testTime);
0101     QCOMPARE(t1 == t2, true);
0102 
0103     t1.setInterval(1);
0104     QCOMPARE(t1 == t2, false);
0105     t2.setInterval(1);
0106     QCOMPARE(t1 == t2, true);
0107 }
0108 
0109 bool KEduVocTextTest::isEqual(const KEduVocText &a, const KEduVocText &b) const
0110 {
0111     // This list should be extended when new data members are added to
0112     // KEduVocTextPrivate.  Appropriate getter/setter methods needs to be
0113     // provided by KEduVocText.
0114 
0115     return a.text() == b.text() && a.preGrade() == b.preGrade() && a.grade() == b.grade() && a.practiceCount() == b.practiceCount()
0116         && a.badCount() == b.badCount() && a.practiceDate() == b.practiceDate() && a.interval() == b.interval();
0117 }
0118 
0119 }
0120 
0121 QTEST_MAIN(KEduVocTextTests::KEduVocTextTest)
0122 
0123 #include "moc_keduvoctexttest.cpp"