File indexing completed on 2024-05-26 04:59:41

0001 /*
0002     SPDX-FileCopyrightText: 2007-2009 Sergio Pistone <sergio_pistone@yahoo.com.ar>
0003     SPDX-FileCopyrightText: 2010-2022 Mladen Milinkovic <max@smoothware.net>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "timetest.h"
0009 #include "core/time.h"
0010 
0011 #include <QTest>                               // krazy:exclude=c++/includes
0012 
0013 using namespace SubtitleComposer;
0014 
0015 void
0016 TimeTest::testConstructors()
0017 {
0018     Time time;
0019     QVERIFY(time.toMillis() == 0);
0020 
0021     Time time6(-55);
0022     QVERIFY(time6.toMillis() == 0);
0023 
0024     Time time2(999);
0025     QVERIFY(time2.toMillis() == 999);
0026 
0027     Time time3(5, 5, 5, 5);
0028     QVERIFY(time3.toMillis() == 18305005);
0029 
0030     Time time4(time2);
0031     QVERIFY(time4.toMillis() == 999);
0032 }
0033 
0034 void
0035 TimeTest::testSetters()
0036 {
0037     Time time;
0038 
0039     time.setSecondsTime(555.663);
0040     QVERIFY(time.toMillis() == 555663);
0041 
0042     time.setMillisTime(64563);
0043     QVERIFY(time.toMillis() == 64563);
0044 
0045     // the following setters should all fail:
0046     QVERIFY(!time.setHours(-5));
0047     QVERIFY(time.toMillis() == 64563);
0048     QVERIFY(!time.setMinutes(60) && !time.setMinutes(-5) && !time.setMinutes(61));
0049     QVERIFY(time.toMillis() == 64563);
0050     QVERIFY(!time.setSeconds(60) && !time.setSeconds(-5) && !time.setSeconds(61));
0051     QVERIFY(time.toMillis() == 64563);
0052     QVERIFY(!time.setMillis(1000) && !time.setMillis(-5) && !time.setMillis(1001));
0053     QVERIFY(time.toMillis() == 64563);
0054 
0055     // the following setters should all succeed:
0056     time.setMillisTime(0);
0057     QVERIFY(time.setHours(23));
0058     QVERIFY(time.toMillis() == 82800000);
0059     QVERIFY(time.setMinutes(14));
0060     QVERIFY(time.toMillis() == 83640000);
0061     QVERIFY(time.setSeconds(33));
0062     QVERIFY(time.toMillis() == 83673000);
0063     QVERIFY(time.setMillis(356));
0064     QVERIFY(time.toMillis() == 83673356);
0065 
0066     time.setMillisTime(-500);
0067     QVERIFY(time.toMillis() == 0);
0068     time.shift(150);
0069     QVERIFY(time.toMillis() == 150);
0070     time.shift(-130);
0071     QVERIFY(time.toMillis() == 20);
0072 }
0073 
0074 void
0075 TimeTest::testOperators()
0076 {
0077     QVERIFY(Time(3600) == Time(3600));
0078     QVERIFY(Time(3600) == 3600);
0079     QVERIFY(Time(3600) != Time(3601));
0080     QVERIFY(Time(3600) != 3601);
0081     QVERIFY(Time(3600) <= Time(3600));
0082     QVERIFY(Time(3600) <= 3600);
0083     QVERIFY(Time(3600) <= Time(3601));
0084     QVERIFY(Time(3600) <= 3601);
0085     QVERIFY(Time(3600) < Time(3601));
0086     QVERIFY(Time(3600) < 3601);
0087     QVERIFY(Time(3600) >= Time(3600));
0088     QVERIFY(Time(3600) >= 3600);
0089     QVERIFY(Time(3600) >= Time(3599));
0090     QVERIFY(Time(3600) >= 3599);
0091     QVERIFY(Time(3600) > Time(3599));
0092     QVERIFY(Time(3600) > 3599);
0093 }
0094 
0095 QTEST_GUILESS_MAIN(TimeTest);