1 /* 2 SPDX-FileCopyrightText: 2007-2009 Sergio Pistone <sergio_pistone@yahoo.com.ar> 3 SPDX-FileCopyrightText: 2010-2018 Mladen Milinkovic <max@smoothware.net> 4 5 SPDX-License-Identifier: GPL-2.0-or-later 6 */ 7 8 #include "timetest.h" 9 #include "core/time.h" 10 11 #include <QTest> // krazy:exclude=c++/includes 12 13 using namespace SubtitleComposer; 14 15 void testConstructors()16TimeTest::testConstructors() 17 { 18 Time time; 19 QVERIFY(time.toMillis() == 0); 20 21 Time time6(-55); 22 QVERIFY(time6.toMillis() == 0); 23 24 Time time2(999); 25 QVERIFY(time2.toMillis() == 999); 26 27 Time time3(5, 5, 5, 5); 28 QVERIFY(time3.toMillis() == 18305005); 29 30 Time time4(time2); 31 QVERIFY(time4.toMillis() == 999); 32 } 33 34 void testSetters()35TimeTest::testSetters() 36 { 37 Time time; 38 39 time.setSecondsTime(555.663); 40 QVERIFY(time.toMillis() == 555663); 41 42 time.setMillisTime(64563); 43 QVERIFY(time.toMillis() == 64563); 44 45 // the following setters should all fail: 46 QVERIFY(!time.setHours(-5)); 47 QVERIFY(time.toMillis() == 64563); 48 QVERIFY(!time.setMinutes(60) && !time.setMinutes(-5) && !time.setMinutes(61)); 49 QVERIFY(time.toMillis() == 64563); 50 QVERIFY(!time.setSeconds(60) && !time.setSeconds(-5) && !time.setSeconds(61)); 51 QVERIFY(time.toMillis() == 64563); 52 QVERIFY(!time.setMillis(1000) && !time.setMillis(-5) && !time.setMillis(1001)); 53 QVERIFY(time.toMillis() == 64563); 54 55 // the following setters should all succeed: 56 time.setMillisTime(0); 57 QVERIFY(time.setHours(23)); 58 QVERIFY(time.toMillis() == 82800000); 59 QVERIFY(time.setMinutes(14)); 60 QVERIFY(time.toMillis() == 83640000); 61 QVERIFY(time.setSeconds(33)); 62 QVERIFY(time.toMillis() == 83673000); 63 QVERIFY(time.setMillis(356)); 64 QVERIFY(time.toMillis() == 83673356); 65 66 time.setMillisTime(-500); 67 QVERIFY(time.toMillis() == 0); 68 time.shift(150); 69 QVERIFY(time.toMillis() == 150); 70 time.shift(-130); 71 QVERIFY(time.toMillis() == 20); 72 } 73 74 void testOperators()75TimeTest::testOperators() 76 { 77 QVERIFY(Time(3600) == Time(3600)); 78 QVERIFY(Time(3600) == 3600); 79 QVERIFY(Time(3600) != Time(3601)); 80 QVERIFY(Time(3600) != 3601); 81 QVERIFY(Time(3600) <= Time(3600)); 82 QVERIFY(Time(3600) <= 3600); 83 QVERIFY(Time(3600) <= Time(3601)); 84 QVERIFY(Time(3600) <= 3601); 85 QVERIFY(Time(3600) < Time(3601)); 86 QVERIFY(Time(3600) < 3601); 87 QVERIFY(Time(3600) >= Time(3600)); 88 QVERIFY(Time(3600) >= 3600); 89 QVERIFY(Time(3600) >= Time(3599)); 90 QVERIFY(Time(3600) >= 3599); 91 QVERIFY(Time(3600) > Time(3599)); 92 QVERIFY(Time(3600) > 3599); 93 } 94 95 QTEST_GUILESS_MAIN(TimeTest); 96